Консенсус в загальному випадку трактується як процес прийняття групою осіб єдиного рішення, досягнення згоди з якого-небудь питання. При цьому як такого голосування не проводиться — рішення приймається на основі відсутності заперечень у більшості учасників. Варто зазначити що консенсусом називають не тільки сам процес прийняття рішення, але саме прийняте в результаті такої процедури рішення, тобто результат.
Опис проблеми
Роль консенсусних алгоритмів полягає в досягненні рівня надійності мережі, побудованої на серії вузлів (пристроїв, з'єднаних з іншими пристроями як частина комп'ютерної мережі). Це означає, що, якщо здійснена транзакція, то алгоритм почне працювати — обмінюватись інформацією в мережі, щоб перевірити, чи може дана дія мати місце.
Той же процес також застосовується для створення нових вузлів даних в блокчейн або при синхронізації мережевого обладнання, щоб забезпечити узгодженість всього консенсусу.
Алгоритм автоматично припустить, що деякі процеси і системи будуть недоступні і що в результаті цього деякі комунікації будуть втрачені. Щоб протистояти цьому, консенсусний алгоритм повинен бути відмовостійким і працювати для досягнення певного консенсусу чи схвалення, принаймні, від більшості машин в мережі.
Протокол консенсусу повинен відповідати таким вимогам:
- Завершеність
- Зрештою, кожен процес повинен обирати якесь значення.
- Цілісність
- Якщо всі процеси запропонували одне й те ж значення ʋ, то будь-який процес повинен вирішити чи завершитися ʋ саме цим значенням.
- Узгодженість
- Кожний процес повинен погоджувати чи «домовлятися» з усіма процесами про одне й те ж значення.
Протокол, який може правильно гарантувати консенсус серед n процесів, з яких не більше t зазнає невдачі, називається t-стійким.
При оцінці продуктивності узгоджених протоколів інтерес представляють два фактори: час виконання і складність повідомлення. Час виконання вказується в позначенні Big O в кількості раундів обміну повідомленнями в залежності від деяких вхідних параметрів (зазвичай від числа процесів і / або розміру вхідного домену). Складність повідомлення відноситься до обсягу трафіку повідомлень, який генерується протоколом. Інші фактори можуть включати використання пам'яті і розмір повідомлень.
Моделі обчислення
Різні моделі обчислень можуть визначати «проблему консенсусу». Деякі моделі можуть мати справу з повністю зв'язними графами, в той час як інші можуть мати справу з кільцями і деревами. У деяких моделях дозволена аутентифікація повідомлень, тоді як в інших процесах повністю анонімно. Моделі із загальною пам'яттю, в яких процеси взаємодіють за допомогою доступу до об'єктів, також є важливою областю досліджень.
Аутентифіковані канали зв'язку
У більшості моделей протоколу консенсусу учасники спілкуються по аутентифікованих каналах. Це означає, що повідомлення не є анонімними, і одержувачі знають джерело кожного повідомлення, яке вони отримали. Деякі моделі передбачають більш сувору форму аутентифікації, коли кожне повідомлення підписується відправником, так що одержувач знає не тільки безпосереднє джерело кожного повідомлення, але і учасника, який написав повідомлення. Цей більш строгий тип аутентифікації досягається цифровими підписами, а при наявності такої форми аутентифікації протоколи можуть допускати більше помилок.
Дві різні моделі аутентифікації часто називають усною та письмовою моделями спілкування. В усній моделі спілкування відоме безпосереднє джерело інформації, а у письмових моделях спілкування кожен крок на шляху до одержувача вивчає не тільки безпосереднє джерело повідомлення, але і історію спілкування.
Задача візантійських генералів
Існує два типи збоїв, які можуть виникнути в процесі: збій або візантійська невдача. Крах відбувається, коли процес раптово зупиняється і не може бути оновленим. Візантійська помилка — це невдачі, при яких абсолютно ніяких умов не нав'язується. Наприклад, вони можуть виникнути в результаті зловмисних дій супротивника.
Розглянемо детально задачу візантійських генералів.
Візантійський консенсус — загальне визначення завдання взаємодії кількох учасників мережі між собою, розташованих віддалено і отримують завдання з єдиного центру. Причому частина учасників мережі, включаючи сам центр, можуть виявитися зловмисниками. Іншими словами, алгоритм візантійського протоколу повинен забезпечити комунікацію між віддаленими учасниками мережі, виключивши обманні операції, тобто безпеку транзакцій.
Ідея візантійського консенсусу з'явилася в 80-х роках минулого століття. Його суть полягає в наступному. Візантія напередодні битви. Армія візантійців складається, наприклад, з 4 легіонів, які знаходяться один від одного на відстані. У певний час кожен з генералів легіонів отримує від керівного центру наказ йти в атаку або відступати. Розвиток подій наступне:
- якщо все легіони атакують — вони перемагають;
- якщо все легіони відступають — вони зберігають людей (теж вдалий результат);
- якщо частина атакує, частина відступає — армія зазнає поразки.
Завдання зрозуміле, але де гарантія, що серед генералів немає зрадників, які виконають наказ навпаки? І де гарантія, що сам головнокомандувач не опиниться зрадником, відправивши різні накази різним генералам? Висновок: генерали повинні обмінятися один з одним інформацією, виключивши помилкові дані. Точніше, вони повинні обмінятися інформацією про чисельність легіонів, вірних Візантії, і зробити висновки про чисельність легіону зрадників. Завдання передбачає, що при N кількості генералів зрадниками можуть виявитися N-1.
Принцип згоди полягає в тому, щоб усі вірні генерали в результаті обміну інформацією прийшли до однакового вирішення, проігнорувавши дані від генерала-зрадника. Повернемося до прикладу. Принцип обміну інформацією полягає в наступному:
- кожен генерал відправляє інформацію про чисельність свого легіону трьом іншим генералам. Причому зрадник для дезінформації відправляє кожному іншому генералу різні цифри про чисельність (у криптовалюті це аналог спаму, DDoS-атак, фіктивних транзакцій);
- кожен генерал формує блок, в якому вказує всі отримані чотири цифри із зазначенням, від кого саме вони були отримані, і цей готовий блок посилає іншим генералам;
- в результаті кожен генерал має на руках 4 блоки з цифрами про чисельність легіону кожного.
І логічно, що за трьома генералам цифри будуть однаковими в усіх трьох блоках і тільки по одному будуть розбіжності.
Таким чином, вірні генерали приходять до угоди, виключаючи думку зрадника. Приклад спрощений, але наочно показує, як учасники мережі приходять до єдиного рішення, виключаючи помилкові.
Асинхронні і синхронні системи
Проблема консенсусу може бути розглянута в асинхронних або синхронних системах. Хоча зв'язок в реальному світі часто по своїй суті асинхронний, моделювання синхронних систем більш практичне і часто простіше, з огляду на, що асинхронні системи природним чином пов'язані з великою кількістю проблем, ніж синхронні.
У синхронних системах передбачається, що всі комунікації відбуваються у рамках сесії. За одну сесію процес може відправити всі необхідні йому повідомлення, отримуючи при цьому всі повідомлення від інших процесів. Таким чином, жодне повідомлення з одної сесії не може впливати на повідомлення, відправлені в тій ж сесії.
У повністю асинхронній системі не існує єдиного рішення, яке може допустити одну або більше помилок, навіть якщо вимагається лише властивість нетривіальності. Цей результат іноді називають доказом неможливості FLP, названим на честь авторів [en], Ненсі Лінч та [en], котрі отримали премію Дейкстри за цю значну роботу. Результат FLP не говорить про те, що консенсусу ніколи не можна досягти: лише те, що за припущеннями моделі жоден алгоритм не може завжди досягти консенсусу в обмежений час.
Еквівалентність проблем консенсусу
Проблеми консенсусу, що представляють цікавість, полягають у наступному.
Завершення коректної трансляції
Колекція процесів n, пронумерованих від 0 до n-1, відправляє повідомлення один одному. Процес 0 повинен передати значення всім процесам так, щоб:
- якщо процес 0 правильний, то кожний правильний процес отримує певне значення.
- для будь-яких двох правильних процесів кожен процес отримує одне і те ж значення.
Консенсус
Формальні вимоги для узгодженого протоколу можуть включати:
- Узгодженість
- Всі процеси повинні узгоджувати одне і те ж значення.
- Слабка достовірність
- Для кожного правильного процесу його вихідні дані повинні бути вхідними даними якогось правильного процесу.
- Сильна достовірність
- Якщо всі процеси отримують одне й те ж значення, то всі вони повинні вивести це значення.
- Завершеність
- Всі процеси повинні прийняти рішення про вихідне значення.
Слабка інтерактивна узгодженість
Для n процесів в частково синхронній системі (система чергує хороші і погані періоди синхронізації), кожен процес вибирає приватне значення. Процеси обмінюються даними один з одним в сесії, щоб визначити загальнодоступну цінність і створити узгоджений вектор з наступними вимогами:
- якщо правильний процес відправляє ʋ(значення), то всі правильні процеси отримують або ʋ(значення), або нічого (властивість цілісності);
- всі повідомлення, відправлені в циклі правильним процесом, будуть отримані в одній сесії, усіма правильними процесами (властивість узгодженості).
Деякі протоколи консенсусу
Інші протоколи, якими можуть користуватися криптовалюти, включають доказ важливості, доказ розташування, доказ активності, доказ минулого часу. Всі вони розглядаються як альтернатива доказу роботи, знову ж таки через велику кількість обчислювальної енергії, необхідної останньому.
Багато стратегічних ігор в режимі реального часу використовують модифікований протокол [en] як протокол консенсусу для управління станом гри між гравцями. У результаті кожної ігрової дії дельта-стан ігрової трансляції передається всім іншим гравцям, а також хеш загального стану гри. Кожен гравець підтверджує зміну, застосовуючи дельту до власного ігрового стану та порівнюючи хеші ігрового стану. Якщо хеші не погоджуються, тоді відбувається голосування, а тих гравців, чий ігровий стан знаходиться в меншості, відключають та вилучають з гри (відома як десинхронізація).
Інший відомий підхід називається алгоритмами типу MSR, які широко використовуються від інформатики до теорії управління.
Назва | Принцип | Продуктивність | Завершеність |
---|---|---|---|
Proof-of-Work (PoW — Доказ роботи) | Важко знайти рішення, але легко перевірити результат. | низька | імовірнісна |
Proof-of-Stake (PoS — Доказ частки) | Мережа довіряє валідатору, який ставить свої власні ресурси в заставу за можливість створювати блоки: чим більше частка, тим вище ймовірність, що мережа дозволить створення блоку. | висока | імовірнісна |
Delegated Proof-of-Stake (DPoS) (Делегований доказ частки) | Учасники делегують виробництво нових блоків невеликої і фіксованої кількості обраних валідаторів. Висока конкуренція, але дуже вигідна. | висока | імовірнісна |
Proof-of-Activity (PoA) (Доказ активності) | Гібрид PoW і PoS. | низька | імовірнісна |
Proof-of-Location (PoL) (Доказ розташування) | Використовуються маячки, щоб помітити вузол в синхронному стані, а потім відзначити тимчасовим штампом її присутність. | середня | негайна |
Proof-of-Importance (PoI) (Доказ важливості) | Як і PoS, але з додатковими властивостями, які впливають на ваш рейтинг. | висока | імовірнісна |
Proof-of-Elapsed-Time (PoET) (Доказ минулого часу) | Блоки створюються в середовищі з рівними періодами. | середня | імовірнісна |
У системах спільної пам'яті
Для вирішення проблеми консенсусу в системах спільної пам'яті необхідно ввести одночасно об'єкти.
Супутній об'єкт або спільний об'єкт — це структура даних, яка допомагає одночасним процесам спілкуватися для досягнення згоди.
Існують два основні методи проектування такого об'єкта. Традиційно для вирішення цієї проблеми дизайнери використовують критичну секцію, а це означає, що лише один процес може відвідувати об'єкт, а інші повинні зачекати, поки цей процес не вийде з критичного розділу. Цей метод прямолінійний і простий у здійсненні. Однак системи з критичними ділянками стикаються з ризиком виходу з ладу, якщо якийсь процес гине всередині критичної секції або спить нестерпно тривалий час. А другий метод проектування називається реалізацією без очікування (неблокуючий алгоритм), який може гарантувати консенсус за обмежену кількість кроків.
Чи достатньо потужний даний об'єкт для вирішення проблем консенсусу? Моріс Херліхій дав «Ієрархію неможливості та універсальності».
Консенсусне число (кількість процесів) | Об'єкти |
---|---|
1 | Регістри читання / запису |
2 | Тест-набори, змінити, отримати та додати, черга, стек |
…… | …… |
2n — 2 | N-реєстрація призначень |
…… | …… |
∞ | Переміщення та обмін пам'яті на пам'ять, збільшена черга, порівняння та розміщення, липкий байт |
Консенсусне число в ієрархії означає максимальну кількість процесів у системі, які можуть досягти консенсусу за даним об'єктом. Об'єкти з вищим числом консенсусу не можуть бути реалізовані об'єктами з меншим консенсусним числом.
Відповідно до ієрархії, регістри читання / запису не можуть вирішити консенсус навіть у системі з 2 процесами. Структура даних, як стек, черга тощо, може вирішити лише консенсус між двома процесами.
Однак деякі паралельні об'єкти є універсальними, а це означає, що вони можуть вирішити консенсус серед будь-якої кількості процесів, і вони можуть імітувати будь-які інші об'єкти. Спосіб моделювання інших об'єктів за допомогою універсальних об'єктів — це побудова послідовності операцій з цим одночасним об'єктом.
Див. також
Примітки
- Coulouris, George F.; Kindberg, Tim. (2001). Distributed systems : concepts and design (вид. 3rd ed). Harlow, England: Addison-Wesley. ISBN . OCLC 44953513.
- Dolev, D.; Strong, H. R. (1983-11). . SIAM Journal on Computing (англ.). Т. 12, № 4. с. 656—666. doi:10.1137/0212045. ISSN 0097-5397. Архів оригіналу за 2 грудня 2019. Процитовано 3 грудня 2019.
- Kailar, Rajashekar; Gligor, Virgil D.; Gong, Li (1995). On the Security Effectiveness of Cryptographic Protocols. Dependable Computing and Fault-Tolerant Systems. Vienna: Springer Vienna. с. 139—157. ISBN .
- Abdelzaher, Tarek.; Raynal, M. (Michel); Santoro, N. (Nicola), 1951- (2009). . Berlin: Springer. ISBN . OCLC 505433328. Архів оригіналу за 7 червня 2020. Процитовано 3 грудня 2019.
- Wait-Free Synchronization, 1991; Herlihy. SpringerReference. Springer-Verlag. Процитовано 3 грудня 2019.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Konsensus v zagalnomu vipadku traktuyetsya yak proces prijnyattya grupoyu osib yedinogo rishennya dosyagnennya zgodi z yakogo nebud pitannya Pri comu yak takogo golosuvannya ne provoditsya rishennya prijmayetsya na osnovi vidsutnosti zaperechen u bilshosti uchasnikiv Varto zaznachiti sho konsensusom nazivayut ne tilki sam proces prijnyattya rishennya ale same prijnyate v rezultati takoyi proceduri rishennya tobto rezultat Opis problemiRol konsensusnih algoritmiv polyagaye v dosyagnenni rivnya nadijnosti merezhi pobudovanoyi na seriyi vuzliv pristroyiv z yednanih z inshimi pristroyami yak chastina komp yuternoyi merezhi Ce oznachaye sho yaksho zdijsnena tranzakciya to algoritm pochne pracyuvati obminyuvatis informaciyeyu v merezhi shob pereviriti chi mozhe dana diya mati misce Toj zhe proces takozh zastosovuyetsya dlya stvorennya novih vuzliv danih v blokchejn abo pri sinhronizaciyi merezhevogo obladnannya shob zabezpechiti uzgodzhenist vsogo konsensusu Algoritm avtomatichno pripustit sho deyaki procesi i sistemi budut nedostupni i sho v rezultati cogo deyaki komunikaciyi budut vtracheni Shob protistoyati comu konsensusnij algoritm povinen buti vidmovostijkim i pracyuvati dlya dosyagnennya pevnogo konsensusu chi shvalennya prinajmni vid bilshosti mashin v merezhi Protokol konsensusu povinen vidpovidati takim vimogam Zavershenist Zreshtoyu kozhen proces povinen obirati yakes znachennya Cilisnist Yaksho vsi procesi zaproponuvali odne j te zh znachennya ʋ to bud yakij proces povinen virishiti chi zavershitisya ʋ same cim znachennyam Uzgodzhenist Kozhnij proces povinen pogodzhuvati chi domovlyatisya z usima procesami pro odne j te zh znachennya Protokol yakij mozhe pravilno garantuvati konsensus sered n procesiv z yakih ne bilshe t zaznaye nevdachi nazivayetsya t stijkim Pri ocinci produktivnosti uzgodzhenih protokoliv interes predstavlyayut dva faktori chas vikonannya i skladnist povidomlennya Chas vikonannya vkazuyetsya v poznachenni Big O v kilkosti raundiv obminu povidomlennyami v zalezhnosti vid deyakih vhidnih parametriv zazvichaj vid chisla procesiv i abo rozmiru vhidnogo domenu Skladnist povidomlennya vidnositsya do obsyagu trafiku povidomlen yakij generuyetsya protokolom Inshi faktori mozhut vklyuchati vikoristannya pam yati i rozmir povidomlen Modeli obchislennyaRizni modeli obchislen mozhut viznachati problemu konsensusu Deyaki modeli mozhut mati spravu z povnistyu zv yaznimi grafami v toj chas yak inshi mozhut mati spravu z kilcyami i derevami U deyakih modelyah dozvolena autentifikaciya povidomlen todi yak v inshih procesah povnistyu anonimno Modeli iz zagalnoyu pam yattyu v yakih procesi vzayemodiyut za dopomogoyu dostupu do ob yektiv takozh ye vazhlivoyu oblastyu doslidzhen Autentifikovani kanali zv yazku U bilshosti modelej protokolu konsensusu uchasniki spilkuyutsya po autentifikovanih kanalah Ce oznachaye sho povidomlennya ne ye anonimnimi i oderzhuvachi znayut dzherelo kozhnogo povidomlennya yake voni otrimali Deyaki modeli peredbachayut bilsh suvoru formu autentifikaciyi koli kozhne povidomlennya pidpisuyetsya vidpravnikom tak sho oderzhuvach znaye ne tilki bezposerednye dzherelo kozhnogo povidomlennya ale i uchasnika yakij napisav povidomlennya Cej bilsh strogij tip autentifikaciyi dosyagayetsya cifrovimi pidpisami a pri nayavnosti takoyi formi autentifikaciyi protokoli mozhut dopuskati bilshe pomilok Dvi rizni modeli autentifikaciyi chasto nazivayut usnoyu ta pismovoyu modelyami spilkuvannya V usnij modeli spilkuvannya vidome bezposerednye dzherelo informaciyi a u pismovih modelyah spilkuvannya kozhen krok na shlyahu do oderzhuvacha vivchaye ne tilki bezposerednye dzherelo povidomlennya ale i istoriyu spilkuvannya Zadacha vizantijskih generaliv Isnuye dva tipi zboyiv yaki mozhut viniknuti v procesi zbij abo vizantijska nevdacha Krah vidbuvayetsya koli proces raptovo zupinyayetsya i ne mozhe buti onovlenim Vizantijska pomilka ce nevdachi pri yakih absolyutno niyakih umov ne nav yazuyetsya Napriklad voni mozhut viniknuti v rezultati zlovmisnih dij suprotivnika Rozglyanemo detalno zadachu vizantijskih generaliv Vizantijskij konsensus zagalne viznachennya zavdannya vzayemodiyi kilkoh uchasnikiv merezhi mizh soboyu roztashovanih viddaleno i otrimuyut zavdannya z yedinogo centru Prichomu chastina uchasnikiv merezhi vklyuchayuchi sam centr mozhut viyavitisya zlovmisnikami Inshimi slovami algoritm vizantijskogo protokolu povinen zabezpechiti komunikaciyu mizh viddalenimi uchasnikami merezhi viklyuchivshi obmanni operaciyi tobto bezpeku tranzakcij Ideya vizantijskogo konsensusu z yavilasya v 80 h rokah minulogo stolittya Jogo sut polyagaye v nastupnomu Vizantiya naperedodni bitvi Armiya vizantijciv skladayetsya napriklad z 4 legioniv yaki znahodyatsya odin vid odnogo na vidstani U pevnij chas kozhen z generaliv legioniv otrimuye vid kerivnogo centru nakaz jti v ataku abo vidstupati Rozvitok podij nastupne yaksho vse legioni atakuyut voni peremagayut yaksho vse legioni vidstupayut voni zberigayut lyudej tezh vdalij rezultat yaksho chastina atakuye chastina vidstupaye armiya zaznaye porazki Zavdannya zrozumile ale de garantiya sho sered generaliv nemaye zradnikiv yaki vikonayut nakaz navpaki I de garantiya sho sam golovnokomanduvach ne opinitsya zradnikom vidpravivshi rizni nakazi riznim generalam Visnovok generali povinni obminyatisya odin z odnim informaciyeyu viklyuchivshi pomilkovi dani Tochnishe voni povinni obminyatisya informaciyeyu pro chiselnist legioniv virnih Vizantiyi i zrobiti visnovki pro chiselnist legionu zradnikiv Zavdannya peredbachaye sho pri N kilkosti generaliv zradnikami mozhut viyavitisya N 1 Princip zgodi polyagaye v tomu shob usi virni generali v rezultati obminu informaciyeyu prijshli do odnakovogo virishennya proignoruvavshi dani vid generala zradnika Povernemosya do prikladu Princip obminu informaciyeyu polyagaye v nastupnomu kozhen general vidpravlyaye informaciyu pro chiselnist svogo legionu trom inshim generalam Prichomu zradnik dlya dezinformaciyi vidpravlyaye kozhnomu inshomu generalu rizni cifri pro chiselnist u kriptovalyuti ce analog spamu DDoS atak fiktivnih tranzakcij kozhen general formuye blok v yakomu vkazuye vsi otrimani chotiri cifri iz zaznachennyam vid kogo same voni buli otrimani i cej gotovij blok posilaye inshim generalam v rezultati kozhen general maye na rukah 4 bloki z ciframi pro chiselnist legionu kozhnogo I logichno sho za troma generalam cifri budut odnakovimi v usih troh blokah i tilki po odnomu budut rozbizhnosti Takim chinom virni generali prihodyat do ugodi viklyuchayuchi dumku zradnika Priklad sproshenij ale naochno pokazuye yak uchasniki merezhi prihodyat do yedinogo rishennya viklyuchayuchi pomilkovi Asinhronni i sinhronni sistemi Problema konsensusu mozhe buti rozglyanuta v asinhronnih abo sinhronnih sistemah Hocha zv yazok v realnomu sviti chasto po svoyij suti asinhronnij modelyuvannya sinhronnih sistem bilsh praktichne i chasto prostishe z oglyadu na sho asinhronni sistemi prirodnim chinom pov yazani z velikoyu kilkistyu problem nizh sinhronni U sinhronnih sistemah peredbachayetsya sho vsi komunikaciyi vidbuvayutsya u ramkah sesiyi Za odnu sesiyu proces mozhe vidpraviti vsi neobhidni jomu povidomlennya otrimuyuchi pri comu vsi povidomlennya vid inshih procesiv Takim chinom zhodne povidomlennya z odnoyi sesiyi ne mozhe vplivati na povidomlennya vidpravleni v tij zh sesiyi U povnistyu asinhronnij sistemi ne isnuye yedinogo rishennya yake mozhe dopustiti odnu abo bilshe pomilok navit yaksho vimagayetsya lishe vlastivist netrivialnosti Cej rezultat inodi nazivayut dokazom nemozhlivosti FLP nazvanim na chest avtoriv en Nensi Linch ta en kotri otrimali premiyu Dejkstri za cyu znachnu robotu Rezultat FLP ne govorit pro te sho konsensusu nikoli ne mozhna dosyagti lishe te sho za pripushennyami modeli zhoden algoritm ne mozhe zavzhdi dosyagti konsensusu v obmezhenij chas Ekvivalentnist problem konsensusuProblemi konsensusu sho predstavlyayut cikavist polyagayut u nastupnomu Zavershennya korektnoyi translyaciyi Div takozh Zavershennya nadijnoyi translyaciyi Kolekciya procesiv n pronumerovanih vid 0 do n 1 vidpravlyaye povidomlennya odin odnomu Proces 0 povinen peredati znachennya vsim procesam tak shob yaksho proces 0 pravilnij to kozhnij pravilnij proces otrimuye pevne znachennya dlya bud yakih dvoh pravilnih procesiv kozhen proces otrimuye odne i te zh znachennya Konsensus Formalni vimogi dlya uzgodzhenogo protokolu mozhut vklyuchati Uzgodzhenist Vsi procesi povinni uzgodzhuvati odne i te zh znachennya Slabka dostovirnist Dlya kozhnogo pravilnogo procesu jogo vihidni dani povinni buti vhidnimi danimi yakogos pravilnogo procesu Silna dostovirnist Yaksho vsi procesi otrimuyut odne j te zh znachennya to vsi voni povinni vivesti ce znachennya Zavershenist Vsi procesi povinni prijnyati rishennya pro vihidne znachennya Slabka interaktivna uzgodzhenist Dlya n procesiv v chastkovo sinhronnij sistemi sistema cherguye horoshi i pogani periodi sinhronizaciyi kozhen proces vibiraye privatne znachennya Procesi obminyuyutsya danimi odin z odnim v sesiyi shob viznachiti zagalnodostupnu cinnist i stvoriti uzgodzhenij vektor z nastupnimi vimogami yaksho pravilnij proces vidpravlyaye ʋ znachennya to vsi pravilni procesi otrimuyut abo ʋ znachennya abo nichogo vlastivist cilisnosti vsi povidomlennya vidpravleni v cikli pravilnim procesom budut otrimani v odnij sesiyi usima pravilnimi procesami vlastivist uzgodzhenosti Deyaki protokoli konsensusuInshi protokoli yakimi mozhut koristuvatisya kriptovalyuti vklyuchayut dokaz vazhlivosti dokaz roztashuvannya dokaz aktivnosti dokaz minulogo chasu Vsi voni rozglyadayutsya yak alternativa dokazu roboti znovu zh taki cherez veliku kilkist obchislyuvalnoyi energiyi neobhidnoyi ostannomu Bagato strategichnih igor v rezhimi realnogo chasu vikoristovuyut modifikovanij protokol en yak protokol konsensusu dlya upravlinnya stanom gri mizh gravcyami U rezultati kozhnoyi igrovoyi diyi delta stan igrovoyi translyaciyi peredayetsya vsim inshim gravcyam a takozh hesh zagalnogo stanu gri Kozhen gravec pidtverdzhuye zminu zastosovuyuchi deltu do vlasnogo igrovogo stanu ta porivnyuyuchi heshi igrovogo stanu Yaksho heshi ne pogodzhuyutsya todi vidbuvayetsya golosuvannya a tih gravciv chij igrovij stan znahoditsya v menshosti vidklyuchayut ta viluchayut z gri vidoma yak desinhronizaciya Inshij vidomij pidhid nazivayetsya algoritmami tipu MSR yaki shiroko vikoristovuyutsya vid informatiki do teoriyi upravlinnya Protokoli konsensusu Nazva Princip Produktivnist Zavershenist Proof of Work PoW Dokaz roboti Vazhko znajti rishennya ale legko pereviriti rezultat nizka imovirnisna Proof of Stake PoS Dokaz chastki Merezha doviryaye validatoru yakij stavit svoyi vlasni resursi v zastavu za mozhlivist stvoryuvati bloki chim bilshe chastka tim vishe jmovirnist sho merezha dozvolit stvorennya bloku visoka imovirnisna Delegated Proof of Stake DPoS Delegovanij dokaz chastki Uchasniki deleguyut virobnictvo novih blokiv nevelikoyi i fiksovanoyi kilkosti obranih validatoriv Visoka konkurenciya ale duzhe vigidna visoka imovirnisna Proof of Activity PoA Dokaz aktivnosti Gibrid PoW i PoS nizka imovirnisna Proof of Location PoL Dokaz roztashuvannya Vikoristovuyutsya mayachki shob pomititi vuzol v sinhronnomu stani a potim vidznachiti timchasovim shtampom yiyi prisutnist serednya negajna Proof of Importance PoI Dokaz vazhlivosti Yak i PoS ale z dodatkovimi vlastivostyami yaki vplivayut na vash rejting visoka imovirnisna Proof of Elapsed Time PoET Dokaz minulogo chasu Bloki stvoryuyutsya v seredovishi z rivnimi periodami serednya imovirnisnaU sistemah spilnoyi pam yatiDlya virishennya problemi konsensusu v sistemah spilnoyi pam yati neobhidno vvesti odnochasno ob yekti Suputnij ob yekt abo spilnij ob yekt ce struktura danih yaka dopomagaye odnochasnim procesam spilkuvatisya dlya dosyagnennya zgodi Isnuyut dva osnovni metodi proektuvannya takogo ob yekta Tradicijno dlya virishennya ciyeyi problemi dizajneri vikoristovuyut kritichnu sekciyu a ce oznachaye sho lishe odin proces mozhe vidviduvati ob yekt a inshi povinni zachekati poki cej proces ne vijde z kritichnogo rozdilu Cej metod pryamolinijnij i prostij u zdijsnenni Odnak sistemi z kritichnimi dilyankami stikayutsya z rizikom vihodu z ladu yaksho yakijs proces gine vseredini kritichnoyi sekciyi abo spit nesterpno trivalij chas A drugij metod proektuvannya nazivayetsya realizaciyeyu bez ochikuvannya neblokuyuchij algoritm yakij mozhe garantuvati konsensus za obmezhenu kilkist krokiv Chi dostatno potuzhnij danij ob yekt dlya virishennya problem konsensusu Moris Herlihij dav Iyerarhiyu nemozhlivosti ta universalnosti Iyerarhiyu nemozhlivosti ta universalnosti Konsensusne chislo kilkist procesiv Ob yekti 1 Registri chitannya zapisu 2 Test nabori zminiti otrimati ta dodati cherga stek 2n 2 N reyestraciya priznachen Peremishennya ta obmin pam yati na pam yat zbilshena cherga porivnyannya ta rozmishennya lipkij bajt Konsensusne chislo v iyerarhiyi oznachaye maksimalnu kilkist procesiv u sistemi yaki mozhut dosyagti konsensusu za danim ob yektom Ob yekti z vishim chislom konsensusu ne mozhut buti realizovani ob yektami z menshim konsensusnim chislom Vidpovidno do iyerarhiyi registri chitannya zapisu ne mozhut virishiti konsensus navit u sistemi z 2 procesami Struktura danih yak stek cherga tosho mozhe virishiti lishe konsensus mizh dvoma procesami Odnak deyaki paralelni ob yekti ye universalnimi a ce oznachaye sho voni mozhut virishiti konsensus sered bud yakoyi kilkosti procesiv i voni mozhut imituvati bud yaki inshi ob yekti Sposib modelyuvannya inshih ob yektiv za dopomogoyu universalnih ob yektiv ce pobudova poslidovnosti operacij z cim odnochasnim ob yektom Div takozhZadacha vizantijskih generaliv Kritichna sekciya Neblokuyuchij algoritm Kriptovalyuta BlokchejnPrimitkiCoulouris George F Kindberg Tim 2001 Distributed systems concepts and design vid 3rd ed Harlow England Addison Wesley ISBN 0 201 61918 0 OCLC 44953513 Dolev D Strong H R 1983 11 SIAM Journal on Computing angl T 12 4 s 656 666 doi 10 1137 0212045 ISSN 0097 5397 Arhiv originalu za 2 grudnya 2019 Procitovano 3 grudnya 2019 Kailar Rajashekar Gligor Virgil D Gong Li 1995 On the Security Effectiveness of Cryptographic Protocols Dependable Computing and Fault Tolerant Systems Vienna Springer Vienna s 139 157 ISBN 978 3 7091 9398 3 Abdelzaher Tarek Raynal M Michel Santoro N Nicola 1951 2009 Berlin Springer ISBN 978 3 642 10877 8 OCLC 505433328 Arhiv originalu za 7 chervnya 2020 Procitovano 3 grudnya 2019 Wait Free Synchronization 1991 Herlihy SpringerReference Springer Verlag Procitovano 3 grudnya 2019