Чому децентралізовані платформи використовують різний протокол консенсусу


Види консенсусу Блокчейн - блог Guland

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

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

Що таке алгоритм консенсусу Блокчейн

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

Консенсус Блокчейн – це процес прийняття рішень групою, в якому всі члени системи готові прийти до єдиного рішення в інтересах всієї групи. Сам процес прийняття рішень також називається консенсусним алгоритмом. В цьому випадку ключовими аспектами є:

  1. Узгодження.
  2. Спільна робота.
  3. Кооперування.
  4. Егалітаризм – рівність всіх голосів.
  5. Інклюзивність – максимальна кількість людей беруть участь в консенсусі.
  6. Участь.

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

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

Механізми досягнення консенсусу в Блокчейні

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

Навіщо потрібні ці складності? Виявляється, без узгодження між вузлами мережі можлива повторна трата коштів (double spending).

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

Proof-of-Work (PoW) (Доказ роботи)

Сфера застосування: Bitcoin, Ethereum, Litecoin, Dogecoin і т. Д.

Алгоритм Proof-of-Work є найбільш популярним консенсусним механізмом, використовуваним для блокового ланцюга, не в останню чергу тому, що він використовується на платформах Bitcoin і Ethereum. Суть алгоритму полягає в тому, що мережевий вузол повинен виконувати інтенсивні обчислення, щоб довести транзакцію і додати її в пул, причому результат легко можна порівняти з іншими результатами мережевих обчислень. Перший, хто завершив необхідні обчислення, отримує винагороду за виконану роботу, тому члени системи конкурують. Слід також підкреслити, що обсяг виконаних робіт завжди є постійним.

Плюси PoW:

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

  • Підтвердження не може бути сфальсифіковано або вкрадено по вищевказаній причині.

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

  • Чесність в розподілі винагород. Сума винагороди безпосередньо залежить від хеш-ставки шахтаря (обчислювальна продуктивність). Шахтар завжди нагороджується пропорційно здобутим блокам.

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

Система досить проста і зрозуміла, але у неї все ще є деякі серйозні недоліки.

Мінуси PoW:

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

  • Уразливість до атаки 51%. Об’єкти, які мають доступ до більш потужних обчислювальних систем, можуть створити потенційну загрозу централізації. Навіть зараз 65% видобутку Біткоінів поділяються п’ятьма пулами. Це потенційно небезпечна ситуація: їх об’єднані сили (якщо буде) можуть привести до атаки 51%, що призведе до появи зловмисної більшості, здатної ігнорувати блоки від решти шахтарів. Експерти запевняють, що більші системи захищені від подібних ситуацій, тоді як більш дрібні блок-ланцюги з набагато меншим числом членів мережі як і раніше стикаються з певними ризиками.

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

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

Proof-of-Stake (PoS) (Доказ ставки)

Сфера застосування: VCash, BitBay, Peercoin, Qtum, Stratis.

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

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

Плюси PoS:

  • Зниження споживання енергії в порівнянні з PoW. Процес перевірки повністю віртуалізувати і не вимагає великих обчислень.

  • Захист від атаки 51%. Зловмисник навряд чи виграє від такого підходу.

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

Мінуси PoS:

  • Додатковий стимул для децентралізації. Загальний принцип: «чим більше сума валюти, тим вище потенційні винагороди», дає членам мережі додатковий імпульс для збереження валюти. Хоча мережа буде захищена від атаки на 51%, гіпотетично існує ймовірність того, що 51% коштів буде накопичено в руках однієї людини, що призведе до подальшого контролю за прийняттям рішень. Така ситуація малоймовірна в більших системах, тоді як більш дрібні мережі можуть бути схильні до можливого сценарію, подібного цьому.

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

Delegated Proof-of-Stake (DPoS) (Делегированное підтвердження ставки)

Сфера застосування: EOS, BitShares.

Делегований алгоритм Proof-of-Stake сильно відрізняється від PoS. Механізм включає в себе вибір певної кількості валідаторів серед всіх членів мережі, які підтверджують транзакції і беруть участь в створенні блоку за розкладом. Вибір валідаторів заснований на репутації членів; ці особи користуються обмеженим довірою і мають право підтвердити ланцюжок блоків, не допускаючи шкідливих користувачів. Проте, валідатори переобираються кожен раунд, причому кругла швидкість залежить від кожної системи.

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

Плюси DPoS:

  • Члени мережі зацікавлені в чесності транзакцій. Система репутації виявляється потужним стимулом для підтримки системи відповідно до правил чесної конкуренції.

  • Швидкість транзакцій вище в порівнянні з PoS. Делегати можуть співпрацювати і не конкурувати один з одним, часткова централізація дозволяє досягти консенсусу швидше.

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

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

Мінуси DPoS:

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

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

Інші модифікації алгоритму PoS

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

LPoS (Leased Proof-of-Stake) використовується на платформі Waves. Нижній рядок цього методу полягає в тому, що баланс передається в оренду іншим вузлам видобутку, а доходи від непрямого видобутку зароблені без необхідності обчислень.

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

Proof of Concept (PoC) (Доказ ємності)

Сфера застосування: Burstcoin.

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

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

Плюси PoC:

  • Алгоритм не вимагає спеціального обладнання для роботи, теоретично навіть мобільний пристрій під управлінням ОС Android може стати вузлом. Дані про видобуток легко видалити, і користувач може використовувати жорсткий диск для виконання інших завдань.

Мінуси PoC:

  • Метод менш популярний. Однак він може реалізувати алгоритм в невеликих приватних мережах.

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

Proof-of-authority (PoAuthority) (Доказ повноважень)

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

Плюси:

  • Надійність мережі як досить певного діапазону користувачів несе відповідальність за прийняття рішень і усуває зловмисних користувачів.

  • Відсутність видобутку і, отже, зниження витрат на обслуговування мережі.

  • Висока швидкість транзакцій через те, що консенсус досягається дуже швидко.

Мінуси:

  • Високий ступінь централізації. Тому використання цього методу розумно тільки в приватних мережах.

  • Алгоритм не отримав широкого розповсюдження.

Proof of burn (PoB) (доказ горіння)

Сфера застосування: Slimcoin.

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

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

Byzantine fault tolerance (BFT) (задача візантійських генералів)

Сфера застосування: Ripple, Stellar, Hyperledger, Dispatch.

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

Подібно PoS, алгоритм має деякі модифікації. Наприклад, Ripple і Stellar використовують Федеративну Візантійську Угоду (FBA), де кожен валідатор відповідає за свої власні ланцюжки повідомлень. Більш того, в Ripple генерали попередньо вибираються із загального числа користувачів.

Плюси BFT:

  • Висока пропускна здатність мережі.
  • Низькі комісійні збори.
  • Масштабованість мережі.

Мінуси BFT:

  • Певна ступінь централізації за рахунок делегування повноважень щодо прийняття рішень.

Delegated Byzantine fault tolerance (dBFT) (делегувати завдання візантійських генералів)

Сфера застосування: NEO.

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

Плюси dBFT:

  • Покращена масштабованість мережі.

Мінуси dBFT:

  • Ще більш високий ступінь централізації.

Directed Acyclic Graphs (DAG) (Спрямовані ациклічні графіки)

Сфера застосування: Iota, Hashgraph.

Спрямований ациклічний графік – це метод асинхронної обробки транзакцій. Він не покладається на структуру блокового ланцюга. Наприклад, перевірка транзакції не вимагає обчислення всього блоку. Кожна нова транзакція підтверджує попередні дві. Щоб гарантувати чесність транзакцій, алгоритм Tangle, використовуваний Iota, виконує подвійну перевірку на спеціальному централізованому вузлі (Координатор). Тому цей механізм навряд чи можна назвати 100% відповідним для децентралізованої мережі.

Плюси DAG:

  • Висока швидкість підтвердження транзакції через асинхронні обробки.
  • Ніяких зборів.

Недоліки DAG:

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

Потрійний захист

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

Використовуються три раніше згаданих консенсусних алгоритму. Кожен з алгоритмів хороший по-своєму: DPoS забезпечує високий рівень безпеки, Proof-of-Capacity використовує менше енергії і є найкращим варіантом з точки зору використання ресурсів, Proof-of-Work – це надійний метод, що підходить для широко поширеної мережі.

Плюси:

  • Високий рівень достовірності валідаторів і, як наслідок, підвищена надійність отриманого рішення.
  • Висока пропускна здатність мережі.
  • Стійкість до атак.
  • Низькі транзакційні витрати.

Мінуси:

  • Алгоритм на стадії становлення.

Види алгоритмів консенсусу (відео)


Сподобалася стаття? Будь ласка, оцініть і поділіться:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Loading...

Вам також буде цікаво

Додайте коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *