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

Види консенсусу Блокчейн - портал 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:

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

Мінуси PoW:

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

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

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

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

Плюси PoS:

Мінуси PoS:

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

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

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

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

Плюси DPoS:

Мінуси DPoS:

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

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

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

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

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

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

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

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

Плюси PoC:

Мінуси 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 - це надійний метод, що підходить для широко поширеної мережі.

Плюси:

Мінуси:

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