Начало
Статии
Обяснение на толерантност към византийска грешка

Обяснение на толерантност към византийска грешка

Средно ниво
Публикувано Dec 6, 2018Актуализирано Aug 17, 2023
5m

От създаването на биткойн през 2008 г., като peer-to-peer система за електронни пари, бяха създадени много други криптовалути, всяка от които със специфичен механизъм. Но едно нещо, което е общо за почти всички криптовалути, е блокчейнът, като основен елемент на тяхната архитектура.

С малки изключения, блокчейните са умишлено проектирани да бъдат децентрализирани, като работят като цифров регистър, който се поддържа от разпределена мрежа от компютърни възли. Поради тази причина блокчейн технологията позволи създаването на икономически системи без доверие, където прозрачни и надеждни финансови трансакции могат да се изпълняват без необходимост от посредници. Криптовалутите се приемат като жизнеспособна алтернатива на традиционните банкови и платежни системи, които са силно зависими от доверието.

Точно както повечето разпределени изчислителни системи, участниците в мрежата за криптовалута трябва редовно да се съгласяват относно текущото състояние на блокчейна и това е, което наричаме постигане на консенсус. Въпреки това постигането на консенсус относно разпределените мрежи по безопасен и ефективен начин далеч не е лесна задача.

Така че, как може компютърните възли в една разпределена мрежа да се споразумеят за решение, ако има вероятност за неизправност в някои от възлите или някои да действат нечестно? Това е фундаменталният въпрос на така наречения проблем на византийски генерали, който е родил концепцията за толерантност към византийска грешка.


Какво представлява проблемът на византийските генерали?

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

Дилемата предполага, че всеки генерал има своя собствена армия и че всяка група е разположена на различни места около града, който възнамерява да атакува. Генералите трябва да се споразумеят или за атака, или за отстъпление. Няма значение дали атакуват, или отстъпват, стига всички генерали да постигнат консенсус, т.е. да се съгласят на общо решение, за да го изпълнят координирано.

Следователно можем да разгледаме следните изисквания:

  • Всеки генерал трябва да реши: атака или отстъпление (да или не);

  • След като решението е взето, то не може да бъде променяно;

  • Всички генерали трябва да се споразумеят за едно и също решение и да го изпълняват синхронизирано.

Гореспоменатите комуникационни проблеми са свързани с факта, че един генерал може да комуникира с друг само чрез съобщения, които се препращат от куриер. Следователно, основното предизвикателство на проблема на византийските генерали е, че съобщенията могат по някакъв начин да бъдат забавени, унищожени или изгубени.

Освен това, дори ако дадено съобщение е доставено успешно, един или повече генерали могат да изберат (по каквато и да е причина) да действат злонамерено и да изпратят измамно съобщение, за да объркат останалите генерали, което води до пълен провал.

Ако приложим дилемата към контекста на блокчейните, всеки генерал представлява мрежов възел и възлите трябва да постигнат консенсус относно текущото състояние на системата. Казано по друг начин, по-голямата част от участниците в рамките на разпределена мрежа трябва да се съгласят и да изпълнят едно и също действие, за да избегнат пълен провал.

Следователно, единственият начин за постигане на консенсус в тези видове разпределени системи е като имате поне ⅔ или повече надеждни и честни мрежови възли. Това означава, че ако по-голямата част от мрежата реши да действа злонамерено, системата е податлива на неизправности и атаки (като 51% атака).


Толерантност към византийска грешка (BFT)

С няколко думи, толерантността към византийска грешка (BFT) е свойство на система, която е в състояние да устои на класа неизправности, произтичащи от проблема на византийските генерали. Това означава, че една BFT система може да продължи да работи дори ако някои от възлите се повредят или действат злонамерено. 

Има повече от едно възможно решение на проблема с византийските генерали и следователно множество начини за изграждане на BFT система. По същия начин има различни подходи за блокчейн за постигане на толерантност към византийска грешка и това ни води до така наречените консенсусни алгоритми.


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

Можем да дефинираме алгоритъм за консенсус като механизъм, чрез който блокчейн мрежата постига консенсус. Най-често срещаните реализации са доказателство за работа (PoW) и доказателство за залог (PoS). Но нека вземем случая с биткойн като пример.

Докато протоколът на биткойн предписва основните правила на системата, алгоритъмът за консенсус на PoW е това, което определя как тези правила ще бъдат следвани, за да се постигне консенсус (например по време на проверката и валидирането на трансакции).

Въпреки че концепцията за доказателство за работа е по-стара от криптовалутите, Сатоши Накамото разработи нейна модифицирана версия като алгоритъм, който позволи създаването на биткойн като BFT система.

Обърнете внимание, че алгоритъмът PoW не е 100% толерантен към византийските грешки, но поради скъпоструващия процес на копаене и основните криптографски техники, PoW се е доказал като едно от най-сигурните и надеждни реализации за блокчейн мрежи. В този смисъл консенсусният алгоритъм за доказателство за работа, проектиран от Сатоши Накамото, се счита от мнозина за едно от най-гениалните решения на византийските грешки.


Заключителни мисли

Проблемът на византийските генерали е интригуваща дилема, която в крайна сметка породи системите BFT, които се прилагат широко в различни сценарии. Отвъд блокчейн индустрията, няколко случая на използване на BFT системи включват авиационната, космическата и ядрената енергетика.

В контекста на криптовалутата наличието на ефективна мрежова комуникация заедно с добър консенсусен механизъм е жизненоважно за всяка блокчейн екосистема. Осигуряването на тези системи е непрекъснато усилие и съществуващите консенсусни алгоритми все още не са преодолели няколко ограничения (като мащабируемост). Независимо от това, PoW и PoS са много интересни подходи като BFT системи и потенциалните приложения със сигурност вдъхновяват широко разпространени иновации.