Византийская отказоустойчивость (Byzantine Fault Tolerance (BFT))
Кратко: Византийская отказоустойчивость (Byzantine Fault Tolerance, BFT) — это свойство, которое позволяет распределённой компьютерной системе самостоятельно…
Византийская отказоустойчивость (Byzantine Fault Tolerance, BFT) — это свойство, которое позволяет распределённой компьютерной системе самостоятельно, без центрального координатора, достигать консенсуса, даже если часть её компонентов выходит из строя или намеренно передаёт ложную информацию. Название происходит от задачи византийских генералов — мысленного эксперимента о военачальниках, которые должны договориться о плане, хотя некоторые из них могут оказаться предателями.
Почему это важно
Блокчейн поддерживается множеством независимых узлов, которые не доверяют друг другу, поэтому ему нужна BFT, чтобы сохранять единую согласованную историю. Классические BFT-протоколы продолжают работать, пока неисправные или нечестные участники составляют менее трети сети. Proof of Work и Proof of Stake достигают византийской отказоустойчивости разными способами, а многие PoS-сети используют голосование в стиле BFT для финализации блоков. Без этого свойства несколько недобросовестных узлов могли бы расколоть сеть или протолкнуть недействительные транзакции.
Пример
Представьте четырёх валидаторов, голосующих за следующий блок, причём один из них скомпрометирован и одним участникам говорит «да», а другим — «нет». BFT-протокол принимает блок, только когда набирается достаточно совпадающих голосов, в данном случае три из четырёх. Поэтому три честных валидатора всё равно приходят к согласию об одном и том же блоке, а лгущий узел не может создать две конкурирующие версии истории.