З моменту народження Bitcoin як однорангової електронної готівкової системи в 2008 році поступово з’явилося багато інших цифрових валют, і кожна цифрова валюта має свій власний механізм. Але майже всі цифрові валюти мають одну спільну рису, а саме основну архітектуру блокчейну.
У більшості випадків блокчейни розроблені як децентралізовані, електронні книги, які ведуться розподіленою мережею вузлів. Таким чином, блокчейн-системи дозволяють здійснювати фінансові операції абсолютно прозоро та надійно без посередників. Цифрові валюти поступово витісняють традиційні банківські платіжні системи, які вимагають високої надійності.
Як і у випадку з більшістю розподілених обчислювальних систем, учасникам мережі цифрових валют необхідно регулярно обговорювати поточний стан блокчейну. Це те, що ми називаємо консенсусом. Однак досягти консенсусу в безпечний і ефективний спосіб у розподіленій мережі непросте завдання.
Отже, як розподілена мережа комп’ютерних вузлів може узгодити рішення в ситуаціях, коли деякі вузли можуть працювати несправно або поводитися нечесно? Це корінь так званої проблеми візантійських генералів, яка породила концепцію візантійської помилковості.
У чому полягає проблема візантійських генералів?
Простіше кажучи, у 1982 році проблема візантійських генералів вважалася логічною дилемою, яка ілюструвала проблеми спілкування у групи візантійських генералів, коли вони намагалися дійти згоди щодо свого наступного кроку.
Дилема передбачає, що кожен генерал має власну армію, кожна з яких розташована в різних місцях навколо міста, яке вони мають намір атакувати. Ці генерали повинні домовитися про наступ чи відступ. Неважливо, чи це буде атака, чи відступ, якщо всі генерали дійдуть консенсусу, тобто скоординуються і вирішать виконати це разом.
Тому ми можемо розглянути такі умови:
Кожен генерал повинен прийняти рішення: атакувати або відступати (так чи ні);
Після прийняття рішення його не можна змінити;
Всі генерали повинні узгодити єдине рішення і виконати його одночасно.
Зазначена вище проблема зв’язку полягає в тому, що один генерал може спілкуватися з іншим генералом лише за допомогою повідомлень, надісланих агентами розвідки. Таким чином, основний виклик проблеми візантійських генералів полягає в тому, що інформація може бути якимось чином затримана, пошкоджена або втрачена.
Крім того, навіть якщо повідомлення доставлено успішно, один або кілька генералів можуть діяти зловмисно (з будь-якої причини) і надсилати шахрайські повідомлення, щоб заплутати інших генералів, спричиняючи збій операції.
Якщо ми зіставимо цю дилему з блокчейном, кожен генерал представляє вузол мережі, і вузли повинні досягти консенсусу щодо поточного стану системи. Іншими словами, більшість учасників розподіленої мережі повинні домовитися і виконувати однакові дії, щоб уникнути збою.
Таким чином, єдиний спосіб досягти консенсусу в цих типах розподілених систем - мати принаймні дві третини вузлів мережі, які є надійними та чесними. Це означає, що система вразлива до збоїв і атак (наприклад, 51% атак), якщо більшість вузлів у мережі вирішать діяти зловмисно.
Візантійська відмовостійкість (BFT)
Простіше кажучи, візантійська відмовостійкість (BFT) — це властивість системи, яка може протистояти серії збоїв, спричинених проблемою візантійських генералів. Це означає, що візантійська відмовостійка система може продовжувати працювати, навіть якщо деякі вузли виходять з ладу або поводяться зловмисно.
Існує багато можливих рішень проблеми візантійських генералів, а отже, є багато способів побудувати візантійську відмовостійку систему. Так само блокчейни мають різні способи досягнення візантійської відмовостійкості, що ми називаємо консенсусними алгоритмами.
Алгоритм консенсусу блокчейну
Ми можемо визначити алгоритм консенсусу як механізм, за допомогою якого мережа блокчейну досягає консенсусу. Найпоширенішими прикладами є підтвердження роботи (PoW) і підтвердження частки (PoS). Тут ми беремо біткоін як приклад.
Протокол Bitcoin встановлює основні правила системи, а алгоритм консенсусу proof-of-work пояснює, як дотримуватись цих правил для досягнення консенсусу (наприклад, під час перевірки та підтвердження транзакцій).
Хоча концепція підтвердження роботи виникла раніше за цифрову валюту, Сатоші Накамото змінив оригінальну версію та розробив вдосконалений алгоритм підтвердження роботи, який може генерувати біткойн як візантійську відмовостійку систему.
Зверніть увагу, що цей алгоритм підтвердження роботи не є повністю стійким до візантійських помилок, але через дороговартісний процес видобутку та основну технологію шифрування, підтвердження роботи виявився одним із найбезпечніших і надійніших методів у мережі блокчейн. У цьому сенсі алгоритм консенсусу підтвердження роботи, розроблений Сатоші Накамото, на думку багатьох, є одним із найдосконаліших рішень візантійської відмовостійкості.
на закінчення
Проблема візантійських генералів — це цікава дилема, яка зрештою призвела до появи візантійських відмовостійких систем, які широко використовуються в різних сценаріях. Окрім індустрії блокчейнів, деякі варіанти використання систем візантійської відмовостійкості також включають авіаційну, аерокосмічну та ядерну промисловість.
У сфері цифрової валюти ефективний мережевий зв’язок і хороший механізм консенсусу є вирішальними для будь-якої екосистеми блокчейну. Захист цих систем вимагає постійних зусиль, і існують обмеження (такі як масштабованість), які існуючі алгоритми консенсусу не змогли подолати. Тим не менш, proof-of-work і proof-of-stake є ефективними методами для візантійських відмовостійких систем, і їх потенційне застосування надихне на нові інновації.
