Словник

Задача візантійських генералів

Hard

Ситуація, коли комунікації, яка вимагає консенсусу щодо єдиної стратегії від усіх членів групи чи партії, не можна довіряти чи перевіряти.

У чому полягає задача візантійських генералів?

Задача візантійських генералів (Byzantine Generals' Problem) - це уявний експеримент, який стосується ключового питання інформатики: чи можливо сформувати консенсус у комп’ютерній мережі, що складається з незалежних географічно розподілених вузлів?

Задача була запропонована у 1982 році дослідниками з Міжнародного науково-дослідного інституту SRI.

Це так: є кілька візантійських генералів, які беруть в облогу місто. Вони можуть спілкуватися лише за допомогою месенджерів один з одним. Генерали повинні узгодити спільний план дій: атакувати місто чи відступати. Однак, деякі з генералів є зрадниками та активно працюють проти формування консенсусу; їх кількість та особи невідомі.

Питання задачі полягає у тому, за яким алгоритмом прийняття рішень генерали мають виробити спільний план — незалежно від втручання зрадників — і чи існує такий алгоритм взагалі.

Згідно з власним аналізом дослідників, така система справді можлива, але кількість лояльних генералів має суворо перевищувати дві третини. Наприклад, у ситуації з трьома генералами, один з яких зрадник, лояльні ніколи не можуть гарантувати, що зможуть дійти консенсусу.

Ця проблема дуже актуальна для криптовалют, оскільки вони, по суті, є розподіленими комп’ютерними системами: вони складаються з вузлів обробки транзакцій, які не залежать один від одного та будь-якого центрального органу та можуть спілкуватися лише віддалено. Вони є «генералами», які повинні досягти консенсусу щодо того, які транзакції відбулися та коли.
Вузли можуть надавати помилкові дані про транзакції за вибором або випадково, і їхню інформацію потрібно відсортовувати. Bitcoin (BTC) та інші криптовалюти вирішують цю проблему за допомогою технічних рішень, таких як алгоритми proof-of-work та proof-of-stake.