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

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

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

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


В чем проблема византийских генералов?

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

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

Таким образом, мы можем рассмотреть следующие условия:

  • Каждый генерал должен принять решение: атаковать или отступить (да или нет);

  • Как только решение принято, его нельзя изменить;

  • Все генералы должны прийти к единому решению и выполнить его одновременно.


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

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

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

Следовательно, единственный способ достичь консенсуса в таких типах распределенных систем — это иметь как минимум две трети сетевых узлов, которые являются надежными и честными. Это означает, что система уязвима для сбоев и атак (например, атак 51%), если большинство узлов сети решат действовать злонамеренно.


Византийская отказоустойчивость (BFT)

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

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


Алгоритм консенсуса блокчейна

Мы можем определить алгоритм консенсуса как механизм, с помощью которого сеть блокчейнов достигает консенсуса. Наиболее распространенными примерами являются Proof of Work (PoW) и Proof of Stake (PoS). Здесь мы возьмем Биткойн в качестве примера.

Протокол Биткойн устанавливает основные правила системы, а алгоритм консенсуса Proof-of-Work объясняет, как эти правила соблюдаются для достижения консенсуса (например, во время проверки и проверки транзакций).

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

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

в заключение

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

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