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