Posted inДослідження та аналіз

Як блокчейн вирішує проблему візантійських полководців?

Як блокчейн вирішує проблему візантійських полководців?

Надійна комп’ютерна система повинна бути здатна функціонувати, навіть якщо один або кілька її компонентів вийдуть з ладу. Компонент, що вийшов з ладу, може демонструвати поведінку, на яку часто не звертають уваги: передавати суперечливі дані в різні секції системи. Отже, що таке проблема візантійських генералів? Проблема візантійських полководців — це абстрактний вираз проблеми боротьби з цим типом збоїв.

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

Теорія ігор — це основа для осмислення соціальних подій з конкуруючими акторами. У стратегічному середовищі теорія ігор розглядає соціальні обставини серед конкуруючих учасників і виробляє оптимальні рішення автономних і конкуруючих агентів.

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

Оскільки будь-які листи, які вони передають або отримують, могли бути перехоплені або обманним шляхом надіслані захисниками Візантії, полководці не мали безпечних каналів зв’язку один з одним. Як полководці могли координувати одночасні атаки?

Ця стаття має на меті пояснити, що таке візантійська помилка в блокчейні і як вирішити проблему візантійських полководців.

Дослідницька робота

"Проблема візантійських полководців" — наукова стаття Леслі Лампорта, Роберта Шостака і Маршала Піза, була опублікована в 1982 році. Важливість цієї проблеми очевидна з першої сторінки, на якій зазначається, що Національне управління з аеронавтики і дослідження космічного простору (NASA), Командування систем протиракетної оборони і Науково-дослідне управління сухопутних військ фінансували їх дослідження.

Хоча проблема візантійських полководців вивчалася в комп’ютерних науках ще до 1982 року, це була одна з перших спроб перевести її в площину паралельних обчислень і запропонувати рішення. Наступна аналогія ілюструє проблему візантійських полководців. Кілька дивізій візантійської армії стоять неподалік від ворожого міста, приготувавшись до війни. Єдиний спосіб для різних генералів зв’язатися між собою — через гінця. Вони повинні домовитися про подальші дії.

Однак ми повинні припустити, що певні генерали, які мають намір утримати лояльних генералів від прийняття рішення щодо єдиного курсу дій, є зрадниками. Щоб гарантувати, що крихітна група зрадників не зможе перервати комунікацію, потрібен алгоритм.

Для вирішення проблеми візантійських генералів лояльним генералам потрібен безпечний засіб для узгодження плану (відомий як консенсус) і його виконання (відомий як координація). Хоча вирішення проблеми візантійських генералів є складним завданням, ми тепер краще розуміємо фундаментальну проблему. Важливо зазначити, що, як видно з прикладу, концепція може бути застосована до військових комунікацій.

Однак ця проблема стосується всіх типів комп’ютерних систем, а не лише тих, що використовуються у військових цілях. Проблема візантійських полководців повинна бути вирішена, якщо розосереджена група вузлів (наприклад, комп’ютерів або інших фізичних пристроїв) повинна досягти надійного зв’язку.

Розуміння візантійської відмовостійкості (BFT)

Є кілька причин, чому розподілена комп’ютерна система може вийти з ладу. У військовому сценарії, наведеному вище, візантійські збої — це, по суті, зрадники, які намагаються перервати зв’язок між лояльними генералами.

Це може бути дефект програмного забезпечення, апаратна несправність або зловмисна атака в реальних комп’ютерних системах. Інакше кажучи, візантійські збої не завжди є результатом добре скоординованих зусиль зловмисників. У розподілених мережах можуть бути труднощі, які заважають вузлам досягти консенсусу.

Будь-який збій системи, який має різні симптоми для різних спостерігачів, називається візантійським збоєм. Він не містить обмежень і припущень щодо типу поведінки, яку може демонструвати вузол (наприклад, вузол може генерувати довільні дані, видаючи себе за чесного учасника).

У кожній розподіленій комп’ютерній системі візантійські збої практично неминучі.

Уявімо, що сталося відключення електроенергії, і всі вузли одночасно виходять з ладу. Виникає питання, чи мережа все ще працює і здатна підтримувати надійний зв’язок? Чи система в цілому раптово перестає працювати або стає відкритою для атак?

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

Фактична частота і таксономія візантійських відмов у різних системах є великою і складною темою. Однак її можна конкретизувати таким чином, що з’являється формальне визначення візантійської відмовостійкості

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

Проблема візантійських генералів у розподіленій системі

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

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

Дилема візантійських полководців, яка суперечливо вимагає встановлення істини, не вирішується централізованими системами. Замість цього вони вирішили взагалі не стикатися з цією проблемою, віддаючи перевагу ефективності, а не достовірності. З іншого боку, централізовані системи схильні до корупції центральних органів влади.

Приклад проблеми візантійських полководців

Проблему візантійських полководців можна проілюструвати на прикладі грошей. Як суспільство може побудувати грошову систему, якій всі члени можуть довіряти і з якою можуть погодитися? Протягом більшої частини історії суспільства використовували дорогоцінні метали або інші рідкісні предмети, такі як мушлі або скляні намистини, як валюту. Золото вирішило проблему візантійських полководців, оскільки йому довіряли і визнавали в децентралізованих системах, таких як міжнародна торгівля.

З іншого боку, вага і чистота золота до цього часу не викликали довіри. Неспроможність золота повністю вирішити проблему візантійських генералів призвела до того, що створення і випуск грошей перебрали на себе центральні органи, яким довіряли, переважно уряди. Уряди монополізували монетні двори, щоб вселити довіру до ваги і чистоти валюти. Таким чином, візантійський провал не був вирішений централізованими системами.

Більше того, центральна влада, якій довіряли гроші, уряди, зрадила цю довіру, вилучивши, знецінивши або модифікувавши їх. Щоб вирішити проблему візантійських полководців, валюта повинна бути такою, що піддається перевірці, стійка до підробок і не викликає довіри. Цього вдалося досягти лише з появою біткоїна (BTC).

Як вирішити проблему візантійських полководців?

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

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

Рішення для досягнення візантійської відмовостійкості

Блокчейн: Розв’язання загальної проблеми Візантії

Загальну проблему Візантії можна вирішити за допомогою блокчейну. Йдеться про те, щоб дати людям спосіб безпечно і надійно спілкуватися в непередбачуваному світі. У реальному світі більшість транзакцій відбувається між незнайомими людьми, які не знають і не довіряють один одному.

Кожна людина подібна до генерала, який чекає наказу атакувати або захищати свою позицію. Немає посередників, які б арбітрували атаку від вашого імені; ви повністю самостійно приймаєте рішення.

Блокчейн створює рівень, якому можна довіряти без необхідності довіряти кожній окремій людині. Це досягається завдяки мережі вузлів, які об’єднуються, щоб домовитися про правду до того, як вона буде записана. Якщо генерал не впевнений у суті повідомлення, інші генерали можуть перевірити його, використовуючи те, що вони знають як правду.

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

Оскільки система була розроблена для використання широким загалом, в блокчейні передбачені відмовостійкі механізми і безпека. У цьому сценарії криптографія була необхідна, щоб гарантувати, що повідомлення не можуть бути змінені.

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

Як біткойн вирішує проблему візантійських полководців?

Що стосується грошей, то бібіткойнтав першим реалізованим рішенням проблеми візантійських полководців. Багато планів і проектів до Біткоїна намагалися створити незалежні від уряду гроші, але всі вони так чи інакше зазнали невдачі.

Біткойн як грошова система потребує засобів для управління правом власності та уникнення подвійних витрат. Для цього бібіткоїникористовує блокчейн, або публічний розподілений реєстр, в якому зберігається історія всіх транзакцій, що не викликає довіри. Блокчейн, за аналогією з візантійськими полководцями, є істиною, з якою повинні погодитися всі сторони.

Якби всі вузли мережі Біткоїн могли домовитися про те, які транзакції відбувалися, коли і в якому порядку, вони могли б перевірити право власності на Біткоїн і створити працюючу, надійну грошову систему без потреби в централізованому управлінні.

Доказ роботи (PoW) і проблема візантійських полководців

Сатоші Накамото випустив перший технічний документ про біткойн у жовтні 2008 року. Хоча в цьому документі не використовується назва "проблема візантійських полководців", Накамото фактично запропонував рішення, яке було реалізовано в січні 2009 року з появою мережі Біткоїн.

Сатоші розробив спосіб використання криптографічного захисту і шифрування з відкритим ключем для вирішення загальної проблеми Візантії в цифровій електронній мережі. Щоб запобігти підробці даних, криптографічний захист використовує хешування — процес кодування. Ідентифікація користувача мережі перевіряється за допомогою шифрування з відкритим ключем.

Транзакція захищена в блоці, який в криптографічному захисті пов’язаний з іншими блоками своїм хеш-значенням. Всі хеші можна відстежити до кореня всіх хешів, який є початковим блоком. Блокчейн — це система, яка використовує дерево Меркла для перевірки хешів, що походять від генезисного блоку.

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

Завдяки використанню механізму консенсусу з доказом роботи, біткойн подолав проблему візантійських полководців і встановив чіткий, об’єктивний звід правил для блокчейну. Щоб додати інформацію до блокчейну, так звані блоки, учасник мережі повинен опублікувати доказ того, що він доклав багато зусиль для створення блоку. Ця робота коштує дорого для творця, що стимулює його ділитися точною інформацією.

У мережі Біткоїн не може бути розбіжностей або фальсифікації інформації, оскільки правила є об’єктивними. Система відбору тих, хто може карбувати нові біткоїни, і закони, що регулюють, які транзакції є дійсними, а які ні, є об’єктивними. Крім того, неможливо видалити блок з блокчейну після того, як він був доданий, що робить історію Біткоїна незмінною.

Тому проблему візантійських полководців вирішують майнери, які схожі на генералів у версії блокчейну Сатоші. Кожен вузол відповідає за перевірку транзакцій, які схожі на повідомлення, що доставляються генералам. Погані актори (наприклад, хакери), які мають на меті викрасти повідомлення або завдати шкоди мережі, можуть вважатися ворогами.

Хакери (тобто, людина посередині) не можуть легко атакувати блокчейн, оскільки повідомлення використовують криптографічний захист. Щоб запобігти маніпуляціям, повідомлення або транзакції об’єднуються в блоки і хешуються для додаткового захисту. Сатоші робить все більш імовірнісним, змушуючи майнерів змагатися за перевірку блоків. Це робить систему більш децентралізованою, оскільки жоден майнер не може отримати всю винагороду, монополізувавши перевірку.

Замість цього майнери повинні змагатися, щоб розгадати загадку, використовуючи свою обчислювальну потужність, відому як хешрейт. Чим вища хеш-ставка майнера, тим більша ймовірність того, що він розгадає загадку. Коли майнер, який розв’язав загадку, транслює рішення в мережу, всі інші майнери повинні підтвердити або спростувати значення, якщо воно помилкове. Цільовий показник складності — це значення, яке повинно дорівнювати або бути меншим за правильне значення.

Таким чином, учасники мережі Біткоїн можуть у будь-який час домовитись про стан блокчейну та всі транзакції в ньому. Кожен вузол перевіряє, чи є блоки дійсними відповідно до критерію доказу роботи і чи є транзакції дійсними відповідно до додаткових критеріїв.

Якщо учасник мережі намагається поширити неправдиву інформацію, всі вузли мережі визначать її як об’єктивно недостовірну і проігнорують її. Немає необхідності довіряти іншим учасникам мережі Біткоїн, оскільки кожен вузол може перевірити будь-яку інформацію в мережі сам, що робить Біткоїн системою, яка не потребує довіри.

Блокчейн також є децентралізованим, що означає, що система не повинна мати жодної точки відмови. Блоки зберігаються в розподіленій базі даних, яка реплікується по всій мережі. Така надмірність також сприяє відмовостійкості, гарантуючи, що жоден несправний комп’ютер не зможе вивести з ладу всю систему. Це еквівалентно наявності багатьох месенджерів на випадок, якщо один з них потрапить у засідку ворога. Повідомлення не буде втрачено, оскільки його скопіюють інші месенджери.

Новітні рішення: Доказ частки (PoS) і делегований доказ частки (DPoS)

PoS — це ще один механізм консенсусу в блокчейні, який має на меті вирішити проблему візантійських генералів. Вперше він був розгорнутий в 2012 році. Мережі на основі PoS, на відміну від мереж на основі PoW, не залежать від мамайнінгуркриптовалютиЗамість цього використовується техніка, яка називається стейкінг.

Користувачі (так звані валідатори) вкладають кошти в цю систему. Валідатори, які володіють більшою кількістю монет у блокчейні, можуть підтвердити більше блоків і отримати більшу винагороду. Користувачі, які намагаються підтвердити неправильні транзакції, ризикують втратити свої кошти.

Користувачі можуть вкладати монети, використовуючи звичайні домашні комп’ютери, замість того, щоб використовувати спеціалізовані машини для майнінгу в мережі на основі PoW. Кілька мереж на основі PoS створили способи запобігання атакам подвійних витрат та іншим потенційним вразливостям безпеки, спричиненим збоями Byzantine. Наприклад, Ethereum 2.0 (Serenity) буде використовувати алгоритм Casper PoS, який вимагає, щоб більшість у дві третини вузлів погодилися з блоком, перш ніж він буде створений.

Делегований доказ частки — це техніка консенсусу в блокчейні, яка працює подібно до доказу частки і була вперше розроблена в 2014 році. Обидва вимагають від користувачів поставити на кін гроші. Лише декілька користувачів (так званих делегатів) можуть підтверджувати транзакції та генерувати блоки в мережах на основі DPoS.

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

Вузли можуть досягати консенсусу значно швидше за допомогою DPoS, ніж за допомогою PoW або PoS. У масштабі це означає, що транзакції можуть оброблятися значно швидше. Підтримка високого рівня візантійської відмовостійкості за допомогою DPoS в деяких випадках може стати проблематичною через цей компроміс.

Оскільки менша кількість вузлів відповідає за безпеку мережі, вузлам потенційно легше вступати в змову проти інтересів більшості. Мережі на основі DPoS, з іншого боку, намагаються уникнути такого сценарію, регулярно проводячи вибори делегатів, щоб гарантувати, що делегати несуть відповідальність за свої рішення.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *