Децентрализованное соответствие
19.10.2021

Децентрализованное соответствие

By bit.team

Существует множество механизмов консенсуса. Разнообразие также создает много путаницы. Некоторые из самых больших недоразумений вокруг блокчейна, связаны с ненадежной его природой, считают аналитики Ernst & Young. Распространенные недоразумения начинаются с терминологии.

Без защиты Sybil невозможно достичь консенсуса

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

Proof of Work и Proof of Stake, два наиболее известных подхода, ориентированных на блокчейн, вообще не являются процедурами консенсуса, отмечает профессор Эмин Гюн Сирер. По словам профессора Сирера, Proof-of-Work (PoW) и Proof-of-Stake (PoS) были не процедурами консенсуса, а механизмами контроля Сибиллы.

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

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

«Механизма контроля Сибиллы, такого как PoS, было бы недостаточно для достижения консенсуса», — утверждает профессор Сирер. Процедура сначала должна быть объединена с протоколом, таким как Practical Byzantine Fault Tolerance (PBFT) или Ben-Or, или Tendermint / Cosmos, или Avalanche, чтобы обеспечить процесс принятия решений. В BTC и BCH, например, PoW будет применяться в сочетании с правилом выбора самой длинной цепочки. Только в этом, или аналогичном случае, можно найти консенсус. Даже PoW сам по себе не приводит к консенсусу, а только к ограничению скорости транзакций (например, подходящая мера для предотвращения спама).

Таким образом, механизм консенсуса блокчейн-платформы, «децентрализованный центр» принятия решений, должен сочетать в себе два элемента: протокол и механизм управления Sybil. В разговорной речи сообщества блокчейнов, за пределами академии, эти два термина используются взаимозаменяемо для упрощения.

Между доказательством работы и доказательством доли

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

Достижение консенсуса в Proof of Work означает, что все участники в конечном итоге соглашаются с самой длинной цепочкой, в которой больше всего вычислительного времени (отмечена фиолетовым в примере).

Proof of Work (сокращенно PoW) — это самый старый метод защиты блокчейна от атак Сибиллы. Он используется, в частности, в Bitcoin, Litecoin и Ethereum 1.0, и других, которые перечислены на Coinmarketrate.com. Они вызывают много недовольства из-за высоких затрат и неэффективной обработки транзакций.

Чтобы иметь возможность регистрировать новые транзакции, участники, о которых идет речь, так называемые «майнеры», должны пройти квалификацию, предварительно выполнив арифметическую работу (если они не успеют выполнить блок вовремя, они добывают его бесплатно).

Этот метод поиска консенсуса обеспечивает очень низкую скорость транзакций и требует огромного количества энергии. Мировая добыча Bitcoin потребляет столько энергии, сколько 63 процента экономики Чешской Республики. Но сегодня ситуация чуть изменилась, хотя он не совсем «зеленый».

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

Proof of Stake (сокращенно PoS) полагается на так называемые узлы-валидаторы, то есть подмножество всех участников, которые прошли проверку подлинности транзакций путем внесения депозита, чтобы доказать свой обоснованный интерес в целостности сети. Этот метод достижения консенсуса более энергоэффективен и быстрее, чем PoW, но он снижает готовность платить, поскольку замораживает высокие взносы капитала.

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

Delegated Proof of Stake или DPoS — это вариант PoS, хорошо зарекомендовавший себя, например, со Steem, Lisk и DecimalChain. При непрерывном голосовании участники выбирают так называемых валидаторов, то есть сетевых узлов, которым разрешено наблюдать за транзакциями. Право голоса валидаторов зависит от стоимости делегированных ими токенов. Они получают вознаграждение за свои услуги.

Proof of Activity (PoA) — это гибрид PoW и PoS. PoA чередует эти два метода в процессе обработки транзакций, чтобы объединить лучшее из обоих миров в едином механизме консенсуса. Критики возражают, и утверждают, что он сводит под одну крышу худший из обоих вариантов. Метод используется, среди прочего, в сети блокчейнов криптовалюты Decred.

Альтернативные методы поиска консенсуса по устойчивости к Sybil

Федеративное византийское соглашение (сокращенно FBA) — еще одна мера защиты Sybil, которая, среди прочего, используется в механизме консенсуса Stellar. Членство в сети открыто, управление децентрализовано, но вместо кворума процедура опирается на срезы кворума, то есть взаимно перекрывающиеся подмножества авторизованных узлов. Отдельные узлы сами выбирают, каким срезам кворума они хотят доверять.

Отдельные срезы кворума предпочтительно должны перекрываться, чтобы иметь возможность подавлять противоречащие транзакции (ужасное расхождение в цепочке блоков). Таким образом, консенсус достигается децентрализованно. Кроме того, не обязательно, чтобы каждый из узлов был заранее известен, и был проверен на надежность. Умная защита Сибиллы делает это возможным.

Практическая византийская отказоустойчивость (сокращенно pBFT) используется, например, с Hyperledger Fabric, Sawtooth и Zilliqa. Метод pBFT придает блокчейну византийскую отказоустойчивость (т.е. делает его невосприимчивым к действиям злонамеренных участников сети) при условии, что сбои независимых узлов и управляемые сообщения исходят от очень конкретных независимых узлов, которые никогда не превышают 1 / 3 всех узлы выключаются.

Сеть, по существу, состоит из основного узла (лидера) и резервных узлов (лидер меняется циклически). Все узлы в системе интенсивно обмениваются данными друг с другом, в результате чего они должны подтвердить как источник, так и целостность передачи сообщения соответствующему получателю. Тогда честные узлы приходят к консенсусу. Алгоритм разработан для асинхронных систем: с небольшим количеством узлов он характеризуется высокой производительностью с впечатляющими накладными расходами и лишь небольшим увеличением задержки.

Он более энергоэффективен, чем чистая система PoW, но подвержен атакам Sybil (один узел может манипулировать многими другими узлами), особенно при небольшом размере сети. В случае более крупных сетей, накладные расходы снова увеличиваются. Таким образом, pBFT лучше всего подходит для блокчейнов, требующих авторизации. В публичных блокчейнах он используется в гибридной реализации.

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

Окончательность транзакции с византийской отказоустойчивостью. Источник: Hyperledger

Процедура консенсуса, которая следует диаметрально противоположному подходу — это Proof of Elapsed Time (PoET), используемая, среди прочего, Sawtooth. PoET предназначен для максимизации эффективности использования ресурсов и минимизации энергопотребления (противоположность PoW). Для этой цели PoET использует систему лотереи. Каждый узел выбирает случайное время ожидания и переключается на это время в неактивное состояние. Какой бы узел ни закончил свое время ожидания, он становится лидером ожидающей проверки следующего блока данных.

Конечно, этот подход требует сети блокчейнов, в которой играют роль только честные, идентифицируемые, не поддающиеся манипулированию узлы. Этот процесс был разработан в Intel и основан на надежной среде выполнения, основанной на Intel Software Guard Extensions (SGX), собственном наборе команд ЦП. Преимущество этой процедуры консенсуса с аппаратным ускорением заключается в ее огромной масштабируемости.

Векторы атак против PoS

Предстоящий переход Ethereum от Proof of Wo, k к Proof of Stake продолжается уже несколько месяцев, и все об этом говорят. Но и здесь не исключены проблемы. Типичные атаки, которые необходимо отражать с помощью PoS, варьируются от мошенничества «ничего не поставлено на карту», до дальних атак и формирования пулов. Это остается захватывающей темой!

Узлы валидатора в наивной реализации PoS могут подорвать безопасность блокчейна, проголосовав за несколько конфликтующих блоков одновременно, чтобы максимизировать свой доход без штрафных санкций. Эта так называемая атака «ничего не поставлено на карту» происходит, когда у валидаторов нет стимула использовать одну цепочку. Проблема не возникает с PoW, потому что доступная мощность хеширования является ограничивающим фактором.

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

В качестве контрмеры, Виталик Бутерин использует «Slasher», функцию наказания недобросовестных валидаторов. Атака на большие расстояния (атака с исправлением) происходит, когда злоумышленник уходит далеко в цепочку блоков, и начинает генерировать мошеннические блоки.

Уязвимость блокчейна к этой атаке возникает в связи с проблемой слабой субъективности. Новый узел, который сначала должен получить копию блокчейна из сети, не имеет никаких объективных критериев для правильной идентификации текущей основной цепи. С PoW длина цепочки может предоставить информацию о затраченном времени на вычисления, но с PoS этот критерий не имеет смысла.

В PoS злоумышленник может легко обмануть наивных новичков, чтобы они добросовестно присоединились к неправильной цепочке, и проверили новые блоки данных. Однако мошеннику доступно множество других методов для получения необходимых валидаторов для ограбления. Поскольку вычислительные усилия минимальны в случае PoS (так называемого бесплатного моделирования), а мошенническая цепочка в любом случае может обрабатывать фиктивные смарт-контракты, она быстро получает преимущество над основной цепью.

С помощью этого метода злоумышленник может построить альтернативную цепочку, и в конечном итоге, выбрать ее в основной цепочке, даже если ему не разрешено проверять каждый блок самостоятельно. Таким образом, неизменность блокчейна становится чистой иллюзией. Хуже того: ни один обходной путь не обеспечил надежной защиты от этого типа атак при использовании PoS. Успешная защита может быть достигнута только за счет использования сложных методов комбинирования (включая перемещение контрольных точек, контекстно-зависимые транзакции, криптографию с изменяющимся ключом и так называемое правило полноты).

Заключение

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

В конце концов, однако, решающим моментом являются механизмы защиты, необходимые от атак Sybil. Эффективность этих процедур зависит от целостности цепочки блоков и, следовательно, от доверия.