Обеспечение безопасности блокчейна: роль византийской отказоустойчивости

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

Механизм, обеспечивающий это, — византийская отказоустойчивость (BFT). Это одна из важнейших и наименее изученных концепций в распределенных системах, составляющая основу безопасности. Технологии блочейнадецентрализованные финансы, корпоративные реестры и Интернет вещей.

В этом руководстве рассматривается отказоустойчивость к византийским ошибкам, начиная с самых основ и заканчивая самыми передовыми современными реализациями, включая сравнение с алгоритмами Proof of Work и Proof of Stake, конкретные векторы атак, от которых она защищает, протоколы, основанные на ней, и проблемы, над решением которых исследователи все еще работают.

Проблема византийских генералов: с чего все началось

Чтобы понять принцип византийской отказоустойчивости, необходимо понять проблему, для решения которой он был разработан. Проблема византийских генералов была впервые формально описана в 1982 году учеными-программистами Лесли Лампортом, Робертом Шостаком и Маршаллом Пизом в статье под названием «Проблема византийских генералов», опубликованной в журнале ACM Transactions on Programming Languages ​​and Systems.

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

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

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

Лампорт, Шостак и Пиз доказали, что решение возможно тогда и только тогда, когда более двух третей генералов лояльны. Иными словами: система из n узлов может допустить не более f неисправных или злонамеренных узлов, если n не менее чем 3f + 1. При менее чем двух третях честных участников ни один алгоритм не может гарантировать согласие.

Этот математический результат стал теоретической основой для всех последующих алгоритмов консенсуса BFT.

Читайте также: Как хеширование защищает технологию блокчейна

Что такое византийская отказоустойчивость?

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

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

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

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

Получить криптокарту UPay

Испытайте все преимущества онлайн-платежей и бесперебойных криптотранзакций.

Регистрация

Невизантийская и византийская отказоустойчивость: критическое различие

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

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

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

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

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

Как достигается BFT: основные механизмы

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

избыточность

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

Криптографические подписи

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

Структурированные протоколы консенсуса

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

Три свойства, определяющие консенсус BFT

Любой протокол консенсуса BFT, независимо от его конкретной конструкции, должен удовлетворять трем фундаментальным свойствам:

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

Живучесть Это означает, что система в конечном итоге движется вперед. Если достаточное количество корректных узлов отправят транзакцию, эта транзакция в конечном итоге будет подтверждена. Сеть не зависает навсегда. Функция «живости» гарантирует, что честные участники не будут заблокированы на неопределенный срок от обработки своих транзакций.

Соглашение Это означает, что если корректный узел отправляет транзакцию, то каждый корректный узел отправляет ту же транзакцию. Все честные узлы видят одни и те же данные в одном и том же порядке.

Безопасность и живучесть могут противоречить друг другу. Знаменитая теорема CAP в распределенных системах показывает, что ни одна распределенная система не может одновременно гарантировать согласованность, доступность и устойчивость к разделению. Протоколы BFT намеренно идут на компромиссы. Большинство из них отдают приоритет безопасности перед живучестью: они скорее остановят выполнение, чем допустят потенциально неверный результат, если слишком много узлов будут вести себя некорректно.

Читайте также: Что такое консенсус в блокчейне?

Типы алгоритмов византийской отказоустойчивости

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

Смотрите также  В чем разница между доказательством работы и доказательством доли?

Практическая Византийская Отказоустойчивость (PBFT)

Алгоритм Practical Byzantine Fault Tolerance был предложен Барбарой Лисков и Мигелем Кастро в Массачусетском технологическом институте в 1999 году. Это был первый алгоритм BFT, достаточно практичный для реального внедрения в распределенные системы, решающий проблему в асинхронных сетях с низкими накладными расходами по сравнению с более ранними академическими работами по BFT.

PBFT работает в три этапа обмена данными между узлами:

Этап предварительной подготовки: Основной (лидерский) узел получает запрос от клиента, присваивает ему порядковый номер и рассылает сообщение предварительной подготовки всем остальным узлам (называемым репликами). Это сообщение содержит запрос, порядковый номер и текущий номер представления.

Этап подготовки: Каждая реплика, принявшая предварительное сообщение prepare, рассылает сообщение prepare всем остальным репликам. Реплика переходит к следующему этапу только после получения соответствующих сообщений prepare как минимум от 2f узлов (где f — максимальное количество неисправных узлов, допустимое системой). Это требование к кворуму предотвращает обман со стороны неисправного лидера, который может заставить разные реплики принять разные порядковые номера.

Фаза фиксации: Как только узел соберет достаточное количество соответствующих сообщений подготовки, он отправляет широковещательное сообщение подтверждения. Реплика выполняет запрос и отвечает клиенту только тогда, когда получит сообщения подтверждения как минимум от 2f + 1 узлов. Этот конечный кворум гарантирует, что даже если некоторые узлы, отправившие сообщения подтверждения, позже выйдут из строя, останется достаточное количество подтвержденных узлов, чтобы гарантировать надежность результата.

Клиент принимает результат, когда получает f + 1 совпадающих ответов, что гарантирует подтверждение результата хотя бы одним честным узлом.

Коммуникационная сложность PBFT составляет O(n в квадрате), что означает, что количество сообщений растет квадратично с числом узлов. Это управляемо для десятков или сотен узлов, но становится неприемлемым в больших масштабах. PBFT также полагается на фиксированный, известный набор валидаторов, что делает его наиболее подходящим для блокчейн-сред с ограниченным доступом или консорциумных блокчейнов.

Протокол PBFT может допускать наличие византийских узлов до одной трети (33%). Математически доказано, что этот порог является теоретическим максимумом для классических протоколов BFT.

Использование Hyperledger Fabric консенсуса, полученного на основе PBFT. Наиболее ярким примером корпоративного применения является Hyperledger Fabric. Fabric использует сервис заказов (ранее на основе PBFT, теперь на основе Raft с возможностью обновления до BFT через SmartBFT), который обеспечивает высокую пропускную способность и низкую задержку для корпоративных приложений. Walmart использовал Hyperledger Fabric для отслеживания продуктов питания от фермы до полки, демонстрируя практическое внедрение BFT в реальной цепочке поставок.

Федеративное Византийское соглашение (FBA)

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

Система достигает глобального консенсуса, когда эти отдельные сегменты доверия образуют перекрывающиеся множества. Если узел A доверяет узлам B и C, а узел B доверяет узлам A и D, то их перекрывающееся доверие создает неявный глобальный кворум, даже если центральный орган его не определил.

FBA — это механизм консенсуса, лежащий в основе сети Stellar и, в модифицированном виде, сети Ripple. Реализация FBA в Stellar обеспечивает завершение транзакций за три-пять секунд и поддерживает тысячи транзакций в секунду, что делает её практичной для трансграничных платежей. MoneyGram и другие поставщики услуг денежных переводов используют Stellar именно потому, что её консенсус FBA обеспечивает быструю и надежную окончательную обработку платежей, необходимую для платежных приложений.

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

HotStuff

HotStuff — это протокол консенсуса BFT, представленный исследователями Маофаном Инем, Далией Малхи, Майклом Райтером, Гаем Голаном Гуэтой и Иттаем Абрахамом в 2019 году. Он оказал огромное влияние, став основой для протокола LibraBFT компании Facebook (используемого в блокчейн-проекте Diem), и повлиял на разработку множества современных систем консенсуса в блокчейне.

Ключевое нововведение HotStuff заключается в достижении линейной сложности обмена данными, O(n), а не квадратичной O(n²), как в PBFT. Это достигается за счет конструкции, основанной на лидере, где лидер собирает голоса в пороговых подписях, агрегируя n отдельных голосов в одно компактное доказательство. Это означает, что накладные расходы на обмен данными не резко возрастают по мере роста набора валидаторов.

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

HotStuff жертвует немного большей задержкой (три цикла обмена данными против двух в PBFT) ради значительно лучшей масштабируемости. Для больших наборов валидаторов, состоящих из сотен или тысяч узлов, этот компромисс весьма выгоден. CometBFT (ранее Tendermint Core) в экосистеме Cosmos, а также консенсус, используемый в Aptos и Sui, основаны на архитектуре семейства HotStuff.

Тендерминт и КометБФТ

Tendermint — это алгоритм консенсуса BFT, специально разработанный для использования в блокчейне, представленный Дже Квоном в 2014 году. Он разделяет уровень консенсуса и уровень приложений с помощью интерфейса Application BlockChain Interface (ABCI), что позволяет любому приложению использовать консенсус Tendermint без создания собственной сетевой и консенсусной инфраструктуры.

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

Tendermint обеспечивает мгновенную окончательность транзакций: после подтверждения блока его нельзя отменить, не нарушив принцип честного большинства в две трети голосов. Это существенное преимущество перед вероятностными системами окончательности, такими как Proof-of-Work, где транзакция считается окончательной только после добавления нескольких последующих блоков.

Tendermint обрабатывает тысячи транзакций в секунду с задержкой примерно в одну секунду. В 2023 году он был переименован в CometBFT, чтобы отразить более широкую модель управления сообществом. Cosmos Hub и все блокчейны на основе Cosmos SDK (к 2025 году их число превысит 100 активных блокчейнов) используют CometBFT в качестве уровня консенсуса. Примечательным примером в производственной среде стала остановка блокчейна Cosmos Hub v17.1, которая произошла не из-за ошибки в основном доказательстве безопасности CometBFT, а из-за программной ошибки в коде обновления набора валидаторов вокруг EndBlock, что иллюстрирует, как гарантии BFT существуют внутри полного стека реализации, а не в теоретической изоляции.

BFT в Proof of Stake: Casper и Ethereum

Переход Ethereum к механизму Proof of Stake в результате слияния в сентябре 2022 года представил Casper FFG (Friendly Finality Gadget) в сочетании с выбором форка LMD-GHOST, образовав таким образом консенсусный протокол Gasper. Casper обеспечивает финализацию в стиле BFT поверх набора валидаторов, использующих механизм Proof of Stake.

Casper работает как механизм окончательной фиксации блоков, наложенный поверх процесса создания блоков. Валидаторы голосуют за контрольные точки каждые 32 слота (примерно 6.4 минуты). Когда две трети от общего количества застейканных ETH проголосовали за контрольную точку, она считается «оправданной». Когда оправданы две последовательные контрольные точки, более ранняя считается «финализированной». Финализированные блоки не могут быть отменены без того, чтобы злоумышленник не сжег как минимум одну треть всех застейканных ETH, что создает мощную экономическую гарантию BFT.

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

Византийская отказоустойчивость в доказательстве работы

В биткоине алгоритм Proof of Work (PoW) обеспечивает вероятностную форму византийской отказоустойчивости за счет механизма, отличного от классических протоколов BFT. В техническом документе по биткоину 2008 года Сатоши Накамото представил PoW как решение проблемы византийских генералов в условиях отсутствия разрешений, когда участники неизвестны и не могут быть предварительно идентифицированы.

В алгоритме PoW биткоина византийская отказоустойчивость означает, что пока честные майнеры контролируют более 50% общей вычислительной мощности сети, злоумышленник, контролирующий менее 50%, не может переписать подтвержденную историю транзакций. Стоимость атаки с использованием 51% мощности растет с увеличением хешрейта биткоина и сложности задач майнинга.

В отличие от классических протоколов BFT, обеспечивающих абсолютную окончательность после одного раунда голосования, окончательность транзакции в Биткоине носит вероятностный характер: вероятность отмены транзакции экспоненциально уменьшается с каждым дополнительным блоком, добавленным после неё. Именно поэтому для крупных транзакций в Биткоине традиционно используются подтверждения в виде 6 блоков (примерно один час).

Компромисс значителен: PoW обеспечивает BFT в среде без разрешений, но за счет огромного энергопотребления, медленной обработки финальных данных (10-60 минут) и 51%-ной уязвимости к атакам, с которой классические протоколы BFT никогда не сталкиваются при достижении порогового значения.

Сравнение протоколов BFT: подробный обзор

протоколПорог неисправностиокончательностьСложность сообщенияДля каких задач
ПБФТ (Кастро-Лисков)1/3 ВизантийскийМгновенноеO(n в квадрате)Небольшие сети с ограниченным доступом
HotStuff1/3 ВизантийскийМгновенноеO(n) линейныйБольшие наборы валидаторов
Тендерминт / КометБФТ1/3 ВизантийскийМгновенно (~1 с)О (п)Космос-чейнджи, публичные блокчейны
Федеративное Византийское СоглашениеПерекрывающиеся сегменты кворума3-5 секундТехнологияПлатежные сети (Stellar, Ripple)
Casper FFG (Ethereum PoS)1/3 стейкинговых ETHкаждые 6.4 мин.O(n) с агрегацией БЛСПубличные блокчейны PoS
Биткойн PoW50% вычислительной мощностиВероятностный (6+ блоков)O(1) трансляцияСети без разрешений и доверия
Алгоранд БА1/3 Византийский~ 4.5 секундыСублинейный с VRFБез разрешений и с быстрой окончательностью

Реальные примеры применения BFT в 2025 году

Hyperledger Fabric и корпоративный блокчейн

Hyperledger Fabric — наиболее широко используемая в корпоративной среде блокчейн-платформа. Она лежит в основе системы отслеживания продуктов питания Walmart, решений IBM для управления цепочками поставок, а также сотен финансовых и логистических приложений. Сервис заказов Fabric претерпел значительную эволюцию: после перехода от PBFT к Raft (отказоустойчивому консенсусу для более простых развертываний) Fabric представил SmartBFT в качестве своего отказоустойчивого сервиса заказов для сред, требующих полных гарантий BFT. SmartBFT использует привычную трехфазную схему широковещательной рассылки, унаследованную от PBFT, и обеспечивает высокую пропускную способность с низкой задержкой, подходящую для корпоративных приложений.

Смотрите также  Роль искусственного интеллекта в технологии блокчейн

Федеративное византийское соглашение Stellar в сфере глобальных платежей

Реализация FBA в Stellar обрабатывает миллионы транзакций ежедневно, и MoneyGram, Wirex и другие финансовые учреждения используют её для трансграничных платежей. Консенсус Stellar обеспечивает окончательный расчёт за три-пять секунд, что на порядки быстрее, чем традиционные корреспондентские банковские системы (от одного до пяти дней) и быстрее, чем большинство альтернатив на основе блокчейна. Модель FBA позволяет каждому узлу определять свои собственные доверительные отношения, при этом достигая глобального соглашения, что делает модель консенсуса Stellar уникально подходящей для платежной сети, где не все участники полностью доверяют друг другу, но все хотят надёжного расчёта.

Протокол византийского соглашения Алгоранда

Algorand использует уникальный подход BFT, называемый Pure Proof of Stake, в сочетании с криптографической жеребьевкой. В каждом раунде консенсуса случайным образом выбирается комитет валидаторов с использованием проверяемой случайной функции (VRF). Только выбранные члены комитета знают, что они были выбраны (и могут доказать это другим), что делает целенаправленные атаки на членов комитета практически невозможными, поскольку злоумышленник заранее не знает, кого атаковать.

Протокол BA от Algorand обеспечивает завершение транзакций примерно за 4.5 секунды, а его пропускная способность в производственной среде превышает 1,000 транзакций в секунду. Его архитектура обеспечивает завершение транзакций в среде без разрешений и без энергетических затрат, характерных для доказательства работы, что отличает его как от Bitcoin, так и от классических систем завершения транзакций с разрешениями.

Экосистема Космос и CometBFT

В 2025 году экосистема Cosmos включает более 100 суверенных блокчейнов, каждый из которых использует CometBFT в качестве уровня консенсуса. Протокол межблокчейн-коммуникации (IBC) основан на гарантии мгновенной окончательности CometBFT: доказательства IBC действительны только в том случае, если Cosmos Hub и его цепочки контрагентов могут доказать, что транзакция действительно завершена, а не просто вероятна к завершению. Без надежных гарантий окончательности, которые обеспечивает консенсус BFT, межблокчейн-коммуникации такого типа было бы гораздо сложнее обеспечить безопасность. Экосистема обрабатывает миллиарды долларов в ежедневных межблокчейн-передачах стоимости, и все это защищено византийским отказоустойчивым консенсусом CometBFT.

Klaytn's Istanbul BFT

Klaytn, развернутый южнокорейской компанией Kakao, использует технологию Istanbul BFT (IBFT), работающую со скоростью более 4,000 транзакций в секунду и временем создания блока в одну секунду. IBFT — это вариант BFT, совместимый с EVM, который позволяет Klaytn сохранять совместимость с инструментами Ethereum, достигая при этом гораздо более высокой производительности, чем базовый уровень Ethereum. Его гибридная публично-частная архитектура позволяет предприятиям запускать сайдчейны с ограниченным доступом, в то время как основная публичная цепочка поддерживает децентрализованные гарантии BFT.

Векторы атак, от которых защищает BFT

Понимание того, от чего именно защищает BFT, проясняет его ценность и ограничения.

Атаки двойной траты

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

Атаки затмения

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

Сибил атакует

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

Порог атаки в 33%

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

Именно поэтому порог в 33% является критически важным фактором для модели безопасности любой системы на основе BFT. Протоколы, такие как Casper от Ethereum, добавляют экономическое штрафование сверх порога BFT: даже если злоумышленник достигнет одной трети стейкинга ETH, успешная атака на Finality потребует от него полного изъятия всей его доли, что сделает атаку экономически разрушительной для злоумышленника.

Манипулирование сообщениями и атаки повторного воспроизведения.

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

Получить криптокарту UPay

Испытайте все преимущества онлайн-платежей и бесперебойных криптотранзакций.

Регистрация

Получить криптокарту UPay

Испытайте все преимущества онлайн-платежей и бесперебойных криптотранзакций.

Регистрация

Преимущества византийской отказоустойчивости в блокчейне

Детерминированная, мгновенная окончательность транзакций

Пожалуй, наиболее важным с практической точки зрения преимуществом консенсуса BFT по сравнению с системами Proof-of-Work является мгновенная окончательность. В Биткоине транзакция никогда не бывает математически окончательной; её отмена становится всё сложнее по мере добавления блоков. В системе BFT, как только на этапе подтверждения достигается порог в две трети, транзакция считается окончательной с уверенностью в соответствии с предположениями протокола. Нет необходимости ждать дополнительных подтверждений.

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

Энерго эффективность

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

Устойчивость к сбоям сети и вредоносным узлам

Хорошо реализованный протокол BFT продолжает корректно работать до тех пор, пока две трети узлов остаются честными и подключенными. Он обрабатывает сбои, временные разделения сети, византийские узлы и их комбинации одновременно. Такая устойчивость — именно то, что нужно публичным блокчейн-сетям: они не могут заранее знать, какие узлы выйдут из строя или будут вести себя злонамеренно, поэтому протокол консенсуса должен корректно обрабатывать произвольные сбои.

Высокая пропускная способность для систем с ограниченным доступом

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

Защита от византийских ошибок и скоординированных атак

Механизмы BFT обеспечивают надежную защиту от скоординированных византийских атак. Группа сговорившихся злонамеренных узлов, представляющих менее одной трети множества валидаторов, не может нарушить консенсус, независимо от того, насколько стратегически они действуют. Они не могут помешать добросовестным узлам достичь соглашения, не могут внедрить ложные транзакции в согласованную историю и не могут заставить добросовестные узлы совершать конфликтующие действия. Эта надежная гарантия безопасности доказана математически, а не просто эмпирически.

Смотрите также  Что такое криптокарта? Полное руководство для начинающих на 2026 год.

Проблемы и ограничения византийской отказоустойчивости

Ограничения масштабируемости

Основная проблема классических алгоритмов BFT заключается в том, что сложность обмена данными возрастает с увеличением числа валидаторов. Сложность обмена сообщениями в PBFT составляет O(n²), что означает, что добавление большего количества валидаторов быстро становится нецелесообразным. Сеть со 100 валидаторами PBFT требует до 10 000 сообщений за раунд консенсуса. При 1,000 валидаторах это число увеличивается до 1 000 000 сообщений.

HotStuff и его производные кардинально решили эту проблему, снизив сложность до линейной O(n) за счет агрегации пороговых подписей. Но даже линейная сложность имеет практические ограничения. Большинство современных публичных блокчейнов на основе BFT поддерживают наборы валидаторов, исчисляющиеся сотнями или несколькими тысячами, а не десятками тысяч, как в сети майнинга Биткоина.

Именно этот потолок масштабируемости объясняет, почему консенсус BFT распространен в блокчейнах с ограниченным доступом и сетях с доказательством доли владения (proof-of-take) с ограниченным набором валидаторов, в то время как доказательство работы без ограничений остается механизмом для сетей, которые отдают приоритет неограниченному участию.

Зависимость от известного набора валидаторов

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

Накладные расходы на производительность

Для достижения византийской отказоустойчивости требуется значительно больше обмена данными между узлами, чем в системах, не обладающих византийской отказоустойчивостью. Многофазное голосование, необходимое в протоколах типа PBFT, необходимость сбора и проверки большого количества криптографически подписанных сообщений, а также накладные расходы на координацию в протоколах изменения представления (обработка отказавших лидеров) — все это увеличивает задержку и вычислительные затраты. Для приложений, требующих тысяч транзакций в секунду с очень низкой задержкой, эти накладные расходы требуют тщательной инженерной проработки.

Сложность правильной реализации

Математические доказательства, лежащие в основе алгоритмов BFT, точны: протокол безопасен и работоспособен, если реализован точно в соответствии с спецификацией. Но программное обеспечение редко бывает точно таким, как указано в спецификации. Реальные реализации содержат ошибки параллельного выполнения, граничные случаи в обработке сети, уязвимости синхронизации сообщений и ошибки криптографической реализации, которые могут нарушать гарантии протокола на практике, даже если теоретическая разработка является корректной. Остановка цепочки Cosmos Hub v17.1 иллюстрирует это: основная гарантия безопасности BFT сработала, но ошибка программного обеспечения в окружающем коде привела к остановке работы в производственной среде. Правильная реализация BFT требует предельной строгости на всем стеке реализации, а не только в логике раунда консенсуса.

Уязвимость на уровне 33%-ного порога

Требование о 33% честного большинства является одновременно и сильной стороной BFT, и его жестким ограничением. Пока это предположение выполняется, система безопасна. Но если злоумышленник получит контроль над одной третью или более набора валидаторов (или одной третью застейканной стоимости в системах PoS-BFT), гарантии безопасности нарушаются. На практике это требует огромных ресурсов для существующих сетей, но небольшие сети с меньшей общей застейканной стоимостью более уязвимы для этой атаки.

Будущее византийской отказоустойчивости в блокчейне

Постквантовая БФТ

Современные протоколы BFT основаны на криптографических схемах подписи, уязвимых для квантовых компьютеров. Достаточно мощный квантовый компьютер может взломать криптографию с открытым ключом, используемую протоколами BFT для аутентификации голосов валидаторов. В постквантовых исследованиях BFT активно изучаются схемы подписи, устойчивые к квантовым атакам, включая криптографию на основе решеток и хеширования. Аппаратный кошелек Trezor Safe 7 уже использует стандартизированную NIST постквантовую криптографию для проверки прошивки, что указывает на движение более широкой криптографической экосистемы к устойчивости к квантовым атакам. Протоколам BFT необходимо будет следовать этому примеру по мере развития квантовых вычислений.

Асинхронные протоколы BFT

Классический протокол PBFT и большинство его производных основаны на предположениях о частичной синхронности: они предполагают, что задержки сообщений в конечном итоге ограничены, даже если эта граница неизвестна. В условиях полной асинхронности (когда задержки сообщений могут быть сколь угодно большими) теорема о невозможности FLP доказывает невозможность детерминированного консенсуса. Однако рандомизированные асинхронные протоколы BFT, использующие проверяемые случайные функции, могут достичь вероятностного консенсуса даже в условиях полной асинхронности. HoneyBadgerBFT и Dumbo — примеры асинхронных протоколов BFT, разработанных для надежной работы даже при значительном ухудшении сетевых условий.

Масштабируемость за счет сегментирования и второго уровня.

Один из перспективных подходов к преодолению пределов масштабируемости BFT — это запуск нескольких экземпляров BFT параллельно с помощью шардинга, при котором сеть делится на подмножества (шарды), каждый из которых выполняет собственный консенсус BFT для части транзакций. В планах Ethereum шардинг включен наряду с финализацией в стиле BFT. Архитектура приложений Cosmos — это еще одна форма горизонтального масштабирования: каждое приложение запускает собственную цепочку CometBFT, распределяя нагрузку консенсуса. Решения второго уровня, такие как роллапы, добавляют еще одно измерение, объединяя транзакции вне цепочки и используя защищенные BFT цепочки для окончательного расчета.

BFT в Интернете вещей

Сети Интернета вещей (IoT) представляют собой убедительный пример применения консенсуса на основе алгоритмов базового преобразования Фурье (BFT). Миллиарды IoT-устройств должны координировать свои действия и безопасно обмениваться данными в распределенных сетях, где отдельные устройства могут быть физически скомпрометированы, разрядиться или подвергнуться преднамеренному манипулированию. Исследования, проведенные до 2025 года, показывают, что алгоритмы на основе BFT обеспечивают низкую задержку, необходимую для IoT-приложений, хотя их высокая вычислительная стоимость и 33%-ная уязвимость к атакам требуют использования разрешенных сетевых архитектур для развертывания IoT-приложений. Интернет вещей представляет собой одну из наиболее быстрорастущих областей исследований и внедрения технологии BFT.

BFT в децентрализованных финансах

Децентрализованные финансы Приложения, общая заблокированная стоимость которых к 2025 году превысит 56.3 миллиарда долларов, в значительной степени зависят от консенсуса BFT для обеспечения надежности своих операций. Ликвидация, потоки цен от оракулов, позиции кредитования и расчеты по деривативам — все это требует надежной и быстрой окончательности. Каждый крупный протокол DeFi работает на блокчейнах с консенсусом в стиле BFT: Ethereum с Casper, Cosmos с CometBFT и Stellar с FBA. По мере того, как приложения DeFi становятся все более сложными и обрабатывают все большие объемы средств, спрос на гарантии BFT становится все более важным, а не менее.

Взаимодействие между системами BFT

Получить криптокарту UPay

Испытайте все преимущества онлайн-платежей и бесперебойных криптотранзакций.

Регистрация

Будущее блокчейна все больше связано с многоцепочечными сетями. Активы и сообщения перемещаются между сетями Ethereum, Cosmos, Stellar, Hyperledger и другими. Межцепочечная совместимость Требуется, чтобы каждая цепочка проверяла доказательства окончательности транзакций в других цепочках. Мгновенная окончательность BFT значительно упрощает этот процесс: окончательное доказательство BFT является компактным и проверяемым, в отличие от вероятностной окончательности из доказательство правильности работыЭто означает, что для безопасной межцепочечной операции требуется дождаться множества подтверждений. Протокол IBC в экосистеме Cosmos и конструкции межцепочечных мостов в более широкой экосистеме зависят от окончательности BFT для обеспечения безопасной работы. Исследования в области интероперабельности являются одним из наиболее активных направлений в разработке протоколов BFT.

Часто задаваемые вопросы

Что такое византийская отказоустойчивость простыми словами?

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

Почему это называется «византийской» отказоустойчивостью?

Название происходит от «проблемы византийских генералов» — мысленного эксперимента, опубликованного учеными-компьютерщиками Лампортом, Шостаком и Пизом в 1982 году. В этой аналогии византийские генералы должны согласовать план сражения, даже если некоторые из них являются предателями, посылающими ложные сообщения. «Византийский» относится к наихудшему типу неудачи: произвольному, враждебному поведению, а не просто крушению или молчанию.

Сколько неисправных узлов может выдержать система BFT?

Классические протоколы BFT, включая PBFT, Tendermint и HotStuff, могут допускать, что не более одной трети узлов являются византийскими. Система из n узлов может обрабатывать f византийских узлов, если n не менее 3f + 1. Если более одной трети узлов неисправны или вредоносны, гарантии безопасности этих протоколов нарушаются. Математически доказано, что это теоретический максимум для классических протоколов BFT при стандартных сетевых предположениях.

В чём разница между PBFT и HotStuff?

И PBFT, и HotStuff — это протоколы BFT на основе лидера, которые допускают до одной трети византийских узлов и обеспечивают мгновенную финализацию. Ключевое различие заключается в сложности обмена данными. PBFT требует O(n²) сообщений на раунд консенсуса, что ограничивает его использование меньшими наборами валидаторов. HotStuff достигает O(n) линейной связи за счет агрегирования голосов в пороговые подписи, что делает его практичным для гораздо больших наборов валидаторов. HotStuff использует три круговых обмена данными вместо двух в PBFT, что немного увеличивает задержку, но более чем компенсируется улучшением масштабируемости.

Использует ли Ethereum византийскую отказоустойчивость?

Да. Консенсус Proof-of-Stake в Ethereum использует Casper FFG в качестве механизма финализации, который представляет собой механизм голосования в стиле BFT. Валидаторы голосуют за блоки контрольных точек, и когда две трети застейканных ETH проголосуют за контрольную точку, она считается финализированной. Ethereum добавляет экономическую безопасность поверх классического порога BFT: валидаторы, ведущие себя византийским образом, подвергаются штрафным санкциям (теряют свои застейканные ETH), что делает атаки финансово разрушительными, а также математически сложными.

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

Подпишитесь на нашу рассылку

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

всплывающее изображение

Испытайте все преимущества онлайн-платежей с помощью криптовалюты

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