Привет, читатели. На повестке дня вновь консенсусный протокол, который вы могли встречать в сети под аббревиатурой PBFT. Консенсусные модели являются основным компонентом распределенных цепочек блоков и, безусловно, одним из наиболее важных для их функциональности. Они являются основой для взаимодействия пользователей друг с другом без доверия, и их правильная реализация в криптовалютных платформах создала новое разнообразие сетей с необычайным потенциалом.
Содержание
В контексте распределенных систем византийская отказоустойчивость — это способность распределенной компьютерной сети функционировать по своему усмотрению и правильно достигать достаточного консенсуса, несмотря на то, что вредоносные компоненты (узлы) системы отказывают или распространяют неверную информацию другим партнерам. Цель состоит в том, чтобы защититься от катастрофических сбоев системы, уменьшив влияние, которое эти злонамеренные узлы оказывают на правильное функционирование сети и найти правильный консенсус, достигнутый честными узлами в системе.
Практическая византийская толерантность к ошибкам (pBFT) — одна из этих оптимизаций, представленная Мигелем Кастро и Барбарой Лисков в научной статье в 1999 году под названием «Практическая византийская толерантность к неисправностям». Она направлена на улучшение оригинальных механизмов консенсуса BFT, и была реализована и усовершенствована в нескольких современных распределенных системах, включая некоторые популярные платформы блокчейна.
Модель pBFT в основном фокусируется на предоставлении практической византийской конечной машины репликации, которая допускает византийские сбои (вредоносные узлы), исходя из предположения, что существуют независимые сбои узлов и манипулятивные сообщения, распространяемые конкретными, независимыми узлами. Алгоритм предназначен для работы в асинхронных системах и оптимизирован для обеспечения высокой производительности с впечатляющим временем выполнения служебных данных и незначительным увеличением задержки.
По сути, все узлы в модели pBFT упорядочены в последовательности, причем один узел является основным узлом (лидером), а другие называются резервными узлами. Все узлы в системе взаимодействуют друг с другом, и цель состоит в том, чтобы все честные узлы пришли к согласию о состоянии системы через большинство. Узлы интенсивно взаимодействуют друг с другом, и им нужно не только доказать, что сообщения поступили от определенного однорангового узла, но и проверить, что сообщение не было изменено во время передачи.
Для работы модели pBFT предполагается, что количество вредоносных узлов в сети не может одновременно равняться или превышать ⅓ от всех узлов в системе в данном окне уязвимости. Чем больше узлов в системе, тем более математически маловероятно, чтобы число, приближающееся к ⅓ от всех узлов, было вредоносным. Алгоритм эффективно обеспечивает как жизнеспособность, так и безопасность, пока не более (n-⅓), где n представляет общее количество узлов, являются вредоносными или неисправными одновременно. Последующим результатом является то, что в конечном итоге ответы, полученные клиентами на их запросы, являются правильными из-за линеаризуемости.
Каждый раунд консенсуса pBFT (так называемые представления) сводится к 4 этапам.
Требования к узлам состоят в том, чтобы они оставались детерминированными и запускались в одном и том же состоянии. Конечный результат заключается в том, что все честные узлы договариваются о порядке записи и либо принимают её, либо отклоняют.
Лидирующий узел изменяется в формате кругового типа при каждом просмотре и может даже быть заменен протоколом, называемым изменением представления, если долгое время не производит многоадресный запрос. Большинство честных узлов также могут решить, является ли лидер неисправным, и удалить его, поставив следующего лидера в очереди в качестве замены.
Консенсусная модель pBFT была разработана для практических применений, и ее конкретные недостатки упомянуты в оригинальной академической статье вместе с некоторыми ключевыми оптимизациями для реализации алгоритма в реальных системах. Также модель pBFT обеспечивает некоторые существенные преимущества по сравнению с другими согласованными моделями.
Одним из основных преимуществ модели pBFT является ее способность обеспечивать завершенность транзакции без необходимости подтверждений, как в моделях Proof-of-Work. Если предложенный блок согласован узлами в системе pBFT, то этот блок является окончательным. Это объясняется тем, что все честные узлы согласовывают состояние системы в это конкретное время в результате их связи друг с другом.
Другим важным преимуществом модели pBFT по сравнению с системами PoW является ее значительное снижение потребления энергии. В модели Proof-of-Work раунд PoW требуется для каждого блока, что приводит к затратам огромных вычислительных мощностей. Поскольку pBFT не требует значительных вычислительных ресурсов, наблюдается существенное снижение потребления электрической энергии, поскольку майнеры не решают алгоритм хеширования в каждом блоке.
Несмотря на явные и многообещающие преимущества, существуют некоторые ключевые ограничения для механизма консенсуса pBFT. В частности, модель хорошо работает только в своей классической форме с небольшими размерами групп консенсуса из-за громоздкого объема связи, который требуется между узлами. В документе упоминается использование цифровых подписей и MAC (кодов аутентификации) в качестве формата для аутентификации сообщений. Однако использование MAC крайне неэффективно, поскольку объем связи, необходимый между узлами в больших согласованных группах, таких как сети криптовалюты, не позволяет доказать подлинность сообщений третьей стороне.
Модель pBFT также подвержена атакам, когда одна сторона может создавать или манипулировать большим количеством идентификаторов (узлов), что ставит под угрозу всю сеть. Это смягчается при больших размерах сети, но масштабируемость и пропускная способность модели pBFT снижаются при больших размерах и поэтому должны быть оптимизированы или использованы в сочетании с другим согласованным механизмом.
Сегодня существует несколько платформ блокчейнов, которые используют оптимизированные или гибридные версии алгоритма pBFT в качестве модели консенсуса или, по крайней мере, ее части, в сочетании с другим механизмом консенсуса.
Zilliqa использует высокооптимизированную версию классического pBFT в сочетании с согласованным раундом PoW каждые ~ 100 блоков. Они используют мультиподписи, чтобы уменьшить накладные расходы связи классического pBFT, и в своих собственных средах тестирования они достигли TPS в несколько тысяч, надеясь масштабироваться еще больше, поскольку добавляется больше узлов. Это также является прямым результатом реализации pBFT в их архитектуре сегментирования: консенсусные группы pBFT остаются меньшими в пределах определенных сегментов, таким образом сохраняя высокую пропускную способность механизма при ограничении размера консенсусной группы.
Hyperledger Fabric — это платформа с открытым исходным кодом для проектов и технологий блокчейна, которая размещается в Linux Foundation и использует разрешенную версию алгоритма pBFT. Поскольку разрешенные цепочки используют небольшие согласованные группы и не нуждаются в достижении децентрализации открытых и общедоступных блокчейнов, таких, как Ethereum, pBFT — это эффективный, для них, согласованный протокол для обеспечения транзакций с высокой пропускной способностью без необходимости беспокоиться об оптимизации платформы для масштабирования до больших согласованных групп.
Византийская отказоустойчивость является хорошо изученной концепцией в распределенных системах, и ее интеграция посредством алгоритма pBFT в реальные системы и платформы, будь то через оптимизированную версию или гибридную форму, остается сегодня ключевым компонентом инфраструктуры криптовалют.
Поскольку платформы продолжают развиваться и вводить новшества в области консенсусных моделей для крупномасштабных общедоступных систем блокчейнов, обеспечение продвинутых византийских механизмов отказоустойчивости будет иметь решающее значение для поддержания целостности различных систем.
На этом все и до новых встреч!