dPoW “без купюр”

Anton Lysakov
3 min readMay 5, 2021

--

Оригинал: https://medium.com/@jameslee777/dpow-demystified-7ce2701fd74

Спустя 2.5 года после первого запуска, технология dPoW наконец-то привлекла к себе достаточно много внимания. Идея проекции данных на блокчейн BTC была не новой, однако, децентрализованный способ достижения этой цели определенно является инновацией.

Я видел множество людей называющих dPoW централизованным из-за использования 64 нотариальных узлов (notary nodes). Централизованный — означает контроль над чем-то единственным субъектом и, когда я в последний раз прикидывал в уме - число 64 было гораздо больше чем 1. То есть в худшем случае dPoW это распределенный процесс. Операторы нотариальных узлов избраны через специальную процедуру голосования, в которой вес голоса определяет количество монет под контролем избирателя и в последние годы примерно 40–50 независимых операторов контролируют 64 узловых сервера. На мой взгляд это гораздо меньшая централизация, чем несколько майнинг пулов контролирующих большую часть хэшрейта, как у многих других монет.

Однако, имеется даже более веская причина называть dPoW децентрализованным. Это факт того, что все узлы в сети проверяют на валидность все предложенные нотаризации (прим.: транзакции связывания состояния сторонних блокчейнов с блокчейном BTC) и в случае инвалидности просто игнорируют ее. Если ваш песик и обезьянка в зоопарке начнут создавать случайные нотаризационные транзакции (нотаризации), то все что получится в результате, это не валидные нотаризации не имеющие никакого консенсусного эффекта.

Преимущество использования системы выборов для определения операторов нотариальных узлов заключается в том, что мы можем положиться на избранников в вопросе регулярного создания валидных нотаризаций. После отправки валидных нотаризаций в сеть все узлы проверяют совпадают ли эти данные с их локальными данными, и затем обновляют локальный статус для того, чтобы начать процесс нотаризации на актуальном блоке.

Данный процесс происходит только после использования блокчейном нормальных механизмов консенсуса для разрешения небольших форков, и до того момента, когда блокчейн синхронизирован во всей сети, нотариальные узлы не придут к консенсусу.

Просто подумайте об этом. Если multisig (прим.: транзакция требующая подписи несколькими приватными ключами) транзакция подписана 13 людьми — делает ли это ее централизованной? Очевидно что 13 это больше чем 1, т.е. мы можем не обращать внимание на претензии к тому, что multisig централизован. Теперь давайте попробуем задать правильные вопросы чтобы полностью прояснить этот момент. Если вы подписываете транзакцию на вашем узле и отправляете её в сеть, централизована ли эта транзакция только потому что только вы были задействованы в этом процессе? Если вы можете сделать это для BTC транзакций— делает ли это биткоин централизованным?

Конечно же нет!

Децентрализация это не то, сколько узлов участвовало в процессе создания транзакции, а то, какой процент узлов участвовал в валидации транзакции. Признание транзакции валидной всеми узлами в сети, вот это и есть децентрализация. Никто не может обмануть узел заставив думать что неправильная нотаризация, несовпадающая с локальными данными блокчейна, правильная. Она будет просто отклонена.

Надеюсь это объяснение прекратит рассуждения на тему “централизованного dPoW”.

Что касается изменений в коде существующих протоколов для поддержки dPoW, то можно выделить 3 основных:

  1. Обнаружение предлагаемых нотаризаций посредством сканирования транзакций в новых блоков. В случае, если было обнаружено, что у нотаризационной транзакции корректный набор подписей и кроме того она соответствует локальным данным блокчейна, то номер нотаризованного блока обновляется.
  2. Изменение стандартного кода контрольных точек так, чтобы использовать последний нотаризованный блок в качестве контрольной точки, которая будет отклонять блоки которые поступили до нотаризации.
  3. Предотвращение любых попыток реорганизаций блоков (reorgs), если эта реорганизация затрагивает нотаризованный блок.

Как вы можете видеть, внедрение dPoW требует достаточно небольших изменений в любой, уже использующийся, консенсусный код и добавляет задержку, чтобы удостовериться в том, что локальный блокчейн находится в консенсусе с основным блокчейном. Любая не валидная нотаризация будет попросту отклонена.

--

--

No responses yet