424
edits
(Created page with "<div class="mikio-article-content"> <div class="mikio-tags"> </div> <span id="ehkosistema"></span> = Экосистема = <div class="level1"> '''Экосистема''' — одно из основных понятий экологии. Экосистема — это биологическая система, состоящая из сообщества живых организмов, среды их обитания, системы связей, осущес...") |
No edit summary |
||
Line 1: | Line 1: | ||
{{#seo: | |||
|title= Византийская отказоустойчивость (BFT) | |||
|titlemode= append | |||
|keywords= Византийская отказоустойчивость (BFT) | |||
|description= Византийская отказоустойчивость (BFT) | |||
}} | |||
<div class="mikio-article-content"> | <div class="mikio-article-content"> | ||
Line 6: | Line 12: | ||
</div> | </div> | ||
<span id=" | <span id="vizantijskaja_otkazoustojchivost_bft"></span> | ||
= | = Византийская отказоустойчивость (BFT) = | ||
<div class="level1"> | <div class="level1"> | ||
''' | '''«Византийская отказоустойчивость»''' (англ. Byzantine fault tolerance) — свойство системы, способной противостоять классу отказов, возникающих из-за «проблем византийских генералов». Обладая «византийской отказоустойчивостью», система может продолжать работать, даже если некоторые из узлов не функционируют или действуют злонамеренно. | ||
Участникам криптовалютной сети необходимо регулярно согласовывать текущее состояние блокчейна: это то, что мы называем достижением [[commoninfo:consensus|консенсуса]] , но что если некоторые из узлов будут действовать нечестно? Это фундаментальный вопрос о так называемой «проблеме византийских генералов», которая породила концепцию «византийской толерантности» (BFT). | |||
[[File:Wiki-zadacha_vizant_generalov.png|400px|class=mediacenter]] | |||
</div> | </div> | ||
<span id=" | <span id="istorija"></span> | ||
= | == История == | ||
<div class="level2"> | |||
«Проблема византийских генералов» была придумана в 1982 году как логическая дилемма, которая иллюстрирует, как у группы из более чем двух человек, находящихся на большом расстоянии друг от друга, могут возникать проблемы с коммуникацией при попытке согласиться на следующий шаг. | |||
<div class=" | Дилемма предполагает, что у каждого генерала есть своя армия и каждая группа находится в разных местах вокруг города, намереваясь атаковать его. Генералам нужно согласиться либо на атаку, либо на отступление. Главная проблема заключается в том, что сообщения могут как-то задерживаться, теряться или быть уничтоженными. Кроме того, даже если информация успешно доставлена, один или несколько генералов могут поступить (по какой-либо причине) злонамеренно и отправить мошенническое сообщение, чтобы сбить с толку других, что приведёт к общему сбою. | ||
</div> | |||
<span id="zadacha_vizantijskix_generalov_isxodnaja_formulirovka"></span> | |||
== «Задача византийских генералов» (исходная формулировка) == | |||
<div class="level2"> | |||
Византия. Ночь перед великим сражением с противником. Византийская армия состоит из N легионов, каждым из которых командует свой генерал. Также у армии есть главнокомандующий, которому подчиняются генералы. | |||
В то же время империя находится в упадке, и любой из генералов и даже главнокомандующий могут быть предателями Византии, заинтересованными в её поражении. | |||
Ночью каждый из генералов получает от главнокомандующего приказ, как стоит поступить в 10 часов утра (время одинаковое для всех и известно заранее). Варианты приказа — «атаковать противника» или «отступать». | |||
'''Возможные исходы сражения:''' | |||
1. Если все верные генералы атакуют, Византия уничтожит противника (благоприятный исход). 2. Если все верные генералы отступят, Византия сохранит свою армию (промежуточный исход). 3. Если некоторые верные генералы атакуют, а некоторые — отступят, противник со временем по частям уничтожит всю армию Византии (неблагоприятный исход). | |||
Также следует учитывать, что если главнокомандующий — предатель, то он может дать разным генералам противоположные приказы, чтобы обеспечить уничтожение армии. Следовательно, генералам надо учитывать такую возможность и не допускать несогласованных действий. | |||
Если же каждый генерал будет действовать полностью независимо от других (например, сделает случайный выбор), то вероятность благоприятного исхода весьма низка. | |||
Поэтому генералы нуждаются в обмене информацией между собой, чтобы прийти к единому решению. | |||
</div> | |||
<span id="primenenie_v_blokchejne"></span> | |||
=== Применение в блокчейне === | |||
<div class="level3"> | |||
В | В контексте блокчейна генералы представляют собой сетевые узлы, и им необходимо достичь консенсуса относительно текущего состояния системы. Другими словами — большинство участников в распределённой сети должны согласиться и выполнить одно и то же действие, чтобы избежать полного отказа. Поэтому единственным способом достижения консенсуса в этих типах распределённой системы является наличие (по крайней мере, ⅔ или более) надёжных и честных сетевых узлов. Это означает, что если большая часть сети решает действовать злонамеренно, то система подвержена ошибке (например, атака 51%). | ||
</div> | </div> | ||
<span id=" | <span id="vyvody"></span> | ||
= | == Выводы == | ||
<div class="level2"> | |||
Если «византийская отказоустойчивость» отсутствует в сети, то одноранговый узел может самостоятельно создавать и подтверждать ложные транзакции, тем самым дискредитируя всю систему. Так как в блокчейне нет контролирующего органа, который мог бы взять на себя ответственность подтвердить или отменить те или иные действия для исправления или предотвращения ущерба, то децентрализация сыграла бы негативную роль. | |||
«Проблема византийских генералов» — это дилемма, которая породила системы BPT, и теперь они широко применяются в различных системах. Помимо индустрии блокчейн, это авиационная и космическая сферы, а также ядерная энергетика. | |||
«Византийскую отказоустойчивость» изучают многие криптовалютные стартапы — алгоритмы модернизируют и успешно интегрируют в собственные распределенные системы. | |||
Decimal, Hyperledger, Cosmos Network, Minter, Zilliqa — все эти и не только проекты используют «византийскую отказоустойчивость» в качестве основного компонента своей инфраструктуры. | |||
</div> | |||
<span id="zakljuchenie"></span> | |||
== Заключение == | |||
<div class="level2"> | |||
Эффективная коммуникация узлов сети и хороший механизм консенсуса имеют жизненно важное значение для любой блокчейн-экосистемы. Существующим алгоритмам консенсуса ещё предстоит преодолеть несколько барьеров (например, масштабируемость). Тем не менее PoW и PoS — очень интересные и рабочие подходы к BFT. | |||
Line 49: | Line 99: | ||
</div> | </div> | ||
[[commoninfo: | [[commoninfo:consensus|консенсуса]] | ||
[[Category | [[File:Wiki-zadacha_vizant_generalov.png|400px|class=mediacenter]] | ||
[[Category:Commoninfo]] |