dBFT: консенсусный алгоритм Neo¶
dBFT (Delegated Byzantine Fault Tolerance, делегированный византийский отказоустойчивый консенсус) — это алгоритм достижения консенсуса в распределённых системах, применяемый в блокчейн-платформе Neo. Алгоритм является модификацией классической схемы Practical Byzantine Fault Tolerance (PBFT) и сочетает в себе элементы делегированного голосования и византийской отказоустойчивости, что обеспечивает финальность транзакций без необходимости подтверждения последующими блоками.
¶История и происхождение
Алгоритм dBFT был разработан командой проекта Neo (ранее Antshares) под руководством Эрика Чжана (Zhang Song) и Дахуна Фэя (Da Hongfei). Первая версия алгоритма была реализована в 2016 году в рамках запуска блокчейна Antshares. После ребрендинга проекта в Neo в 2017 году алгоритм продолжил развиваться. В 2018 году вышла версия dBFT 2.0, которая устранила ряд недостатков первой реализации, включая проблему нестабильности при смене списка консенсусных узлов. Актуальная версия, dBFT 2.0, используется в основной сети Neo N3 (Neo Legacy и Neo N3).
¶Принцип работы
¶Роли узлов
В сети Neo выделяются два типа участников:
- Консенсусные узлы (consensus nodes) — валидаторы, которые непосредственно участвуют в подписании блоков. Их количество фиксировано и составляет 7 в основной сети Neo N3.
- Кандидаты (candidates) — узлы, которые могут быть избраны в консенсусную группу.
- Владельцы токенов NEO — держатели токенов, которые голосуют за кандидатов, делегируя им свои голоса.
¶Процесс консенсуса
Консенсус в dBFT достигается в несколько раундов:
- Выбор спикера (speaker): из числа консенсусных узлов псевдослучайным образом выбирается узел, который будет предлагать новый блок. Выбор происходит детерминированно на основе хэша предыдущего блока и номера раунда.
- Предложение блока: спикер собирает ожидающие транзакции, формирует блок и рассылает его остальным консенсусным узлам.
- Голосование: каждый консенсусный узел проверяет корректность предложенного блока (валидность транзакций, соответствие правилам протокола) и отправляет свою подпись (commit) в случае согласия.
- Подтверждение: блок считается принятым, если его подтвердили не менее 2/3 + 1 от общего числа консенсусных узлов (для 7 узлов — 5 подписей). После этого блок добавляется в цепочку и считается финальным.
Если спикер не смог предложить валидный блок в течение заданного таймаута или действует вредоносно, консенсусные узлы инициируют смену спикера (view change) и начинают новый раунд.
¶Византийская отказоустойчивость
Алгоритм гарантирует безопасность сети при условии, что число неисправных или вредоносных узлов не превышает 1/3 от общего числа консенсусных узлов. Для сети с 7 узлами это означает, что до 2 узлов могут вести себя произвольно (включая сговор), не нарушая работу системы. Это свойство унаследовано от PBFT.
¶Ключевые особенности
- Финальность: в отличие от алгоритмов на основе доказательства работы (PoW), таких как в Bitcoin, блоки в dBFT не могут быть отменены или переписаны после подтверждения. Это обеспечивает мгновенную уверенность в совершённых транзакциях.
- Энергоэффективность: отсутствие майнинга означает минимальное потребление электроэнергии по сравнению с PoW-сетями.
- Высокая пропускная способность: сеть Neo N3 способна обрабатывать до 1000 транзакций в секунду, а время генерации блока составляет около 15 секунд.
- Делегированное управление: держатели токенов NEO участвуют в выборе консенсусных узлов, что обеспечивает децентрализацию управления без необходимости прямого участия всех пользователей в валидации.
¶Сравнение с другими алгоритмами
В отличие от алгоритмов Proof of Stake (PoS), где валидаторы выбираются на основе размера доли, в dBFT используется фиксированная группа консенсусных узлов, избираемых голосованием. Это делает алгоритм более предсказуемым и быстрым, но предъявляет повышенные требования к надёжности валидаторов. По сравнению с классическим PBFT, dBFT добавляет механизм делегирования и экономического стимулирования через начисление GAS (внутренней валюты Neo) консенсусным узлам за их работу.
¶Критика и ограничения
Основной критикой dBFT является относительно небольшое число консенсусных узлов (7 в основной сети), что делает сеть более централизованной по сравнению с PoW-сетями. Также алгоритм предполагает, что консенсусные узлы действуют добросовестно в долгосрочной перспективе, а их сговор или компрометация может поставить под угрозу работу сети. Для снижения этих рисков Neo внедрила механизмы мониторинга активности узлов и возможность их замены по результатам голосования.
¶Применение
dBFT используется исключительно в экосистеме Neo: в основной сети Neo N3 и тестовых сетях (TestNet). На его основе функционируют смарт-контракты, выпуск токенов (NEP-5 и NEP-17) и децентрализованные приложения (dApps), развёрнутые на платформе.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


