Что такое задача византийских генералов (BFT)? Примеры. Как работает?
Byzantine Fault Tolerance (BFT) (Византийская отказоустойчивость) — это функция распределенной системы или P2P-сети, которая позволяет ей противостоять действиям несанкционированных узлов или компонентов. Эта функция особенно важна в системах, где узлы либо не очень хорошо известны, либо им не полностью доверяют.
Задача византийских генералов (BFT) является одним из фундаментальных свойств надежных правил или протоколов блокчейна.
Блокчейн позволяет компьютерам и людям договариваться о вещах без необходимости доверять друг другу. Эта сеть людей и компьютеров просто должна верить, что правила, которым они все следуют, надежны.
Задача византийских генералов (BFT) является одним из фундаментальных свойств создания надежных правил или протоколов блокчейна.
Но прежде чем мы сможем понять, что такое византийская отказоустойчивость, нам нужно сделать шаг назад и разобраться, что означают узлы и консенсус.
Что такое одноранговые узлы и ноды?
Большинство блокчейнов или криптовалют работают как сети, где все компьютеры в сети имеют равный доступ и права, и напрямую взаимодействуют друг с другом. Каждый отдельный компьютер в этой сети известен как узел или нода.
В действительно децентрализованной системе ни один узел не имеет больше полномочий или власти, чем следующий. Это означает, что нет менеджеров, координаторов или директоров, которые бы обеспечивали соблюдение правил, определяли, что является правдой, или наказывали за ненадлежащее поведение.
Вместо этого система полагается на тот факт, что все узлы должны следовать одним и тем же правилам или протоколу, чтобы прийти к соглашению.
Что такое консенсус?
Консенсус просто означает общее согласие. В децентрализованной системе, где нет власти, достижение консенсуса является одной из самых важных и трудных задач.
Узнайте про все виды консенсусов в блокчейне в нашей статье!
Для правильной работы системы или сети большинство узлов должны договориться о том, что является истинным, достигая консенсуса через регулярные промежутки времени.
Проблема в том, что некоторые узлы неизбежно выйдут из строя, будут плохо себя вести или просто не согласятся с консенсусом других узлов, поэтому система должна быть спроектирована таким образом, чтобы справляться с этой проблемой.
Что такое задача византийских генералов?
Система византийских генералов (BFT), может продолжать работать правильно, пока две трети сети соглашаются или достигают консенсуса. BFT - это свойство или характеристика системы, которая может противостоять до одной трети узлов, которые выходят из строя или действуют злонамеренно.
Все децентрализованные цепочки блоков работают по согласованным протоколам или правилам, которым должны следовать все узлы в цепочке блоков, чтобы участвовать. Согласованные протоколы, такие как Proof-of-Work и Proof-of-Stake, являются BFT и, таким образом, способны противостоять одной трети несогласованных узлов.
Кто изобрел задача византийских генералов (BFT)?
Задача византийских генералов была изобретена в 1982 году Лесли Лэмпортом, Робертом Шостаком и Маршаллом Пизом. Именно она и являлась вдохновением для создания концепции BFT.
Проблемы BFT
Концепция BFT взята из Задачи византийского генерала, которая представляет собой логический мысленный эксперимент, в котором есть несколько генералов, которые должны атаковать город.
- Все генералы находятся в разных местах и могут общаться только с помощью мессенджера, по одному сообщению за раз.
- Все они должны координировать одно и то же действие, чтобы успешно атаковать или отступать.
- Если они все атакуют, они будут в порядке. Если они все отступят, они будут в порядке.
- Проблема возникает, когда некоторые генералы атакуют, а другие отступают, и в этом случае это будет плохим результатом для всех.
- Суть в том, что некоторые генералы нелояльны и попытаются сбить с толку других генералов.
Проблема, которую необходимо решить, заключается в следующем: как все генералы согласятся на одно и то же действие даже перед лицом предательства и обмана?
Что такого особенного в этой системе?
Протокол консенсуса BFT, все еще может координировать и прийти к консенсусу, несмотря на некоторое количество разногласий между узлами.
Это жизненно важно для децентрализованных блокчейнов, таких как Ethereum или Bitcoin.
Одним из важных нововведений Сатоши Накамото, когда он / она / они создали Биткойн, было решение проблемы византийского генерала путем применения Proof-of-Work в сети Биткойн. Обладая свойством BFT, сеть Биткойн защищена до трети вредоносных узлов.
Системы, требующие BFT, также используются в отраслях, не связанных с блокчейном, таких как авиация, космос и атомная энергетика.
Все эти отрасли придают первостепенное значение безопасности, а также работают с большим количеством взаимосвязанных датчиков или компьютеров, которые действуют как узлы.
Эти узлы должны надежно взаимодействовать друг с другом, и BFT вступает в игру, когда часть этих узлов становится неисправной, но система все еще может продолжать функционировать, как предполагалось.
Как использовать BFT?
Наиболее распространенные консенсусные протоколы, используемые в сетях блокчейнов, такие как Proof-of-Work, Proof-of-Stake и Proof-of-Authority, имеют некоторые свойства BFT.
Применяя BFT, можно проектировать системы, которые не контролируются одним органом и не полагаются на доверие определенных сторон.
Это основополагающее значение для построения децентрализованной сети.
Вывод
Принцип BFT будет продолжать играть важную роль в сетях с блокчейном.
По мере того, как все больше людей и организаций исследуют распределенные и децентрализованные системы, будут обнаружены и внедрены более инновационные способы проектирования систем BFT.