RFR (Request For Reorg) и dPoW

RFR (Request For Reorg) и dPoW

Кстати, а вы знали что в сети Ethereum возможны смарт-контракты, позволяющие платить майнерам за reorg блокчейна? Как следует из этого твита:

Подобная вещь получила название RFR (request for reorg) или в переводе на русский - запрос реорганизации. Как вы понимаете, использование таких контрактов может иметь как положительные (менее вероятно), так и отрицательные последствия, т.к. "откат блокчейна назад", а именно это мы и понимаем под реорганизацией, может иметь разрушительное действие, например, позволять совершать атаки двойной траты (double-spend) и т.д. и т.п. Попробуем рассмотреть использование данного контракта, не вдаваясь в технические подробности. Т.е. без привязки к какому-либо конкретному блокчейну и деталям реализации в принципе. Предположим что у вас есть потенциальная возможность заплатить майнерам за реорг. Например, вы хотели бы исключить из блокчейна последние пять блоков и заменить их своими / новыми. На первый взгляд кажется что сделать это нереально, т.к. блокчейн обладает свойством неизменности (immutable). Однако, когда в дело вступают деньги (и обоюдное желание сторон использовать их для достижения своих целей) - все может измениться. Допустим вы каким-то образом "подкупили" три или более крупнейших майнинг пула и те согласились смайнить несколько блоков из прошлого, чтобы заменить ими блоки в основной (honest) цепи:

Представим себе что Honest Chain (честная цепочка) - это цепочка блоков до изменения, Attacker's Secret Chain (цепочка атакующего) - это версия блокчейна созданная "продажными" майнерами. Для того чтобы "убрать" 5 блоков из честной цепочки, майнеры должны сгенерировать цепочку, в которой содержится минимум 6 блоков. Эта цепочка будет признана остальными узлами более длинной, и в этот момент и наступит реорганизация. Пять блоков из правильной цепи будут отброшены и заменены шестью блоками из сгенерированной по вашему запросу новой цепочки. Атака вполне реальна, если вам так или иначе удастся договориться с крупнейшими майнерами, обладающими необходимым хешрейтом для проведения подобной атаки. К примеру, они могут перестать майнить основную (честную) цепочку, "вернуться в прошлое" и начать новую работу над генерацией новой альтернативной цепи.

Звучит фантастически и где-то даже безумно, но ... представьте, что всю эту работу можно каким-либо образом автоматизировать в рамках смарт-контракта. Т.е. вам не нужно связываться с майнерами off-chain, например, списываться с ними в мессенджере или координировать ваши действия по-телефону, пытаясь уговорить их, предлагая некую выгоду. Все уже предусмотрено в самом смарт-контракте. Вы просто размещаете предложение на блокчейне, например, "хочу reorg последних трех блоков, плачу столько-то" в виде контракта, и майнеры, которых интересует данное предложение и которые обладают необходимыми ресурсами для выполнения данной задачи принимаются её выполнять. Будет ли у майнеров достаточно стимулов, чтобы не соглашаться на подобные предложения и не пытаться получать подобные вознаграждения? Ответы на эти вопросы нам предстоит получить в ближайшем будущем.

Однако уже сейчас появляется информация что в тестовой сети Ethereum - Ropsten было замечено немало реоргов за последнее время:

Так что возможно кто-то уже приступил к активному тестированию RFR (Request For Reorg) контрактов.

Что же касается Komodo (KMD) и защищаемых им с помощью dPoW (delayed Proof of Work) 3rd-party проектов (блокчейнов других монет) - то здесь ситуация куда более радужная. В блокчейнах защищенных dPoW подобная ситуация невозможна в принципе или сведена к минимуму, т.к. реорганизовать нотаризованный блокчейн невозможно физически. dPoW просто не даст отсоединить цепочку уже нотаризованных блоков, поэтому реорганизация возможна лишь на небольшую глубину, в тот самый период, пока последние блоки не получили нотаризации. Если вы хотите узнать о dPoW больше, вот несколько статей: