Автор: Річард Ред, співавтор Decred.

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


Консенсус підтвердження роботи

Блокчейни з чистим консенсусом Proof of Work (наприклад, Bitcoin) можуть мати лише нові блоки, додані майнерами, які розгортають апаратне забезпечення, яке ефективно вгадує відповідь на математичну задачу. Кожного разу, коли майнер робить дійсне припущення, він може створити блок, який приймає мережа. Хоча майнери можуть вибирати будь-який ланцюжок, мережа прийматиме лише ланцюжок із найбільшою кількістю накопичених доказів роботи (тобто найбільшою кількістю хешів або припущень) як законний ланцюг. Це означає, що майнери заохочуються до майнінгу на найдовшому ланцюжку, і коли вони побачать дійсний новий блок, вони спробують знайти рішення для наступного блоку, яке дозволить їм будувати на основі попереднього.

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

Якщо суб’єкт контролює достатню потужність хешування, щоб перевершити «чесний ланцюжок», він може переписати (або реорганізувати) блокчейн шляхом майнінгу на «старому» блоці замість останнього. Ось спрощений опис цього виду атаки, також відомої як атака 51%:
Зловмисник проводить у блоці X, надсилаючи на біржу, потім починає приватно майніти паралельний ланцюжок (блоки не транслюються в мережу). Після того, як пройде необхідна кількість підтверджень, зловмисник обмінює монети на щось інше та вилучає їх з біржі. Коли відкликання завершується, вони звільняють паралельний ланцюг, і якщо він має більше PoW (блоків), ніж вихідний ланцюг, мережа прийме його як законний ланцюг і версію історії, представлену оригінальним ланцюгом (включно з депозитом зловмисника). зникне. Потім зловмисник може знову витратити ці монети.

Оскільки майнери є єдиними суб’єктами, які можуть безпосередньо додавати блоки в ланцюжок у чистих криптовалютах PoW, це надає їм сильну роль в управлінні. Щоб будь-які зміни в правилах консенсусу мережі були прийняті, вони повинні мати підтримку більшості хеш-потужності. «М’які форки» вимагають, щоб достатня кількість майнерів розпізнала новий набір правил, щоб користувачі могли здійснювати транзакції та очікувати, що їхні транзакції будуть належним чином оброблені та включені в блоки. «Хардфорки» розділили б мережу на два компоненти, і за загальноприйнятим правилом «ланцюжок з найбільшою кількістю PoW є правильним ланцюгом», майнери вирішували б, який з них вважається легітимним.


Консенсус доказу частки

Консенсус Proof of Stake — це альтернативний метод визначення того, хто може додавати нові блоки та перевіряти поточний стан блокчейну. Замість того, щоб майнери змагалися за вирішення проблеми, маючи підтвердження частки, наступний виробник блоку визначається певним процесом на основі кількості монет, що зберігаються в гаманцях (або «ставлені»). Цей процес передбачає, що ті, хто найбільше зацікавлений, прийматимуть відповідальні рішення щодо всієї мережі.

Консенсус Proof of Stake усуває потребу в енергоємному майнінгу, але відсутність значних витрат енергії створює іншу проблему, яку іноді називають «нічого не поставлено на карту». У випадку розгалуженого ланцюга форгери PoS («підробка» зазвичай використовується замість «майнінгу») стимулюються перевіряти блоки в обох ланцюгах, оскільки їм дуже мало коштує робота над додатковим ланцюгом, і вони можуть отримувати винагороди в обох. ланцюги. Це проблема для мережі, тому що має бути лише один ланцюжок, і узгодження стану цього єдиного ланцюга є основною метою механізму консенсусу.

У Proof of Stake є додаткова проблема щодо розподілу токенів. Майнери PoW мають значні витрати (обладнання, електроенергія) і, як правило, повинні продати значну частину своїх видобутих монет, щоб покрити ці витрати. У результаті багато видобутих монет доступні для покупки на ринку, а не накопичуються майнерами. Підробники Proof of Stake мають дуже низькі операційні витрати, тому їм не потрібно продавати монети, які вони отримують для підтримки мережі. Великі власники, які беруть участь у Proof of Stake, як правило, збільшують свою частку оборотних монет, оскільки вони збирають винагороду за блоки та комісію за транзакції з користувачів мережі. Це було порівняно з феодалізмом, коли мережа фактично належить і управляється власниками монет, а користувачі платять їм свого роду орендну плату за її використання. Зазвичай існує певна межа, нижче якої неможливо брати безпосередню участь у Proof of Stake.


Гібридний PoW/PoS

Мета гібридних систем Proof of Work і Proof of Stake полягає в тому, щоб отримати переваги відповідних підходів і використовувати їх, щоб врівноважити слабкі сторони один одного. Decred є однією з небагатьох криптовалют, які використовують як PoW, так і PoS у впізнаваних формах і об’єднують їх разом для створення багатофакторного або гібридного механізму консенсусу.

«Монети Masternode» у певному сенсі також є гібридами, оскільки вони мають впізнаваний компонент Proof of Work, який виконує подібну роль, як і в Bitcoin, і додаткову роль для спеціальних вузлів. Зазвичай існує вимога, щоб ці спеціальні вузли тримали певну суму валюти як заставу, щоб продемонструвати, що їм можна довіряти діяти в найкращих інтересах мережі, що подібно до обґрунтування доказу участі. Dash є оригінальною монетою мастерноди, і ця модель називається Proof of Service. Ця стаття присвячена гібридам із компонентом Proof of Stake і не розглядатиме масив монет, які емулюють майстерноди чи Proof of Service.

Компонент PoW від Decred працює подібно до інших проектів на основі PoW і використовує хеш-функцію Blake-256. PoS-компонент Decred і те, як він вплетений у ланцюг, є досить унікальними та заслуговують на подальше пояснення.

Щоб взяти участь у Decred’s Proof of Stake, власники повинні заблокувати свій DCR, щоб купити «квитки». Ціна окремого квитка встановлюється ринковим механізмом, за допомогою якого система прагне отримати встановлену кількість живих квитків (40 960) - якщо їх більше цільової кількості, ціна зростає, якщо менше, вона знижується . Коли хтось купує квиток, DCR, який він використав, блокується (тобто він не може його витратити), доки його квиток не буде псевдовипадково викликано для голосування або поки термін його дії не закінчиться приблизно через 142 дні. Це вводить альтернативну вартість для PoS, яка має на меті переконатися, що виборці PoS беруть участь у грі та діють в найкращих інтересах мережі.

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


Голосування по блоках

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

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

Таким чином, виборці PoS мають право позбавляти винагороди майнерів, не впливаючи на їхні власні винагороди. Це обмежує повноваження майнерів PoW накладати вето на зміни консенсусних правил мережі, за які голосують зацікавлені сторони. Насправді прихильники PoS можуть відхилити будь-яку поведінку майнерів, яка їм не подобається, прийнявши політику голосування «ні» у разі виявлення зловмисної чи неефективної поведінки, запобігаючи поганим майнерам PoW писати транзакції та отримувати винагороди.

Цей рівень перевірки PoS значно підвищує безпеку мережі та стійкість до атак більшості. Загальний метод проведення атаки з подвійним витрачанням більшості полягає в тому, щоб переписати блокчейн шляхом таємного майнінгу альтернативного ланцюжка, а потім звільнити його через певний проміжок часу та скористатися перевагою анулювання транзакцій у «старому» ланцюжку (тобто шляхом подвійного витрачаючи свої внески). Оскільки блоки Decred вимагають вхідних даних із випадково вибраних квитків, щоб вважатися дійсними, і не можуть бути побудовані майнерами PoW, доки вони не отримають ці дані, майнери PoW не можуть майнити таємно, якщо вони також не контролюють значну частку живих квитків. (див. ці статті).

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

Вимога, згідно з якою кожен блок голосується випадково вибраними зацікавленими сторонами, означає, що блокчейн має надаватися всім учасникам під час його видобутку, що підвищує безпеку мережі. Гібридна система Decred була розроблена, щоб також надати зацікавленим сторонам владу над майнерами PoW.


Консенсусне голосування за зміну

Від самого початку Decred вирішив зробити зацікавлених сторін PoS домінуючою силою прийняття рішень в управлінні блокчейном. У правилах консенсусу записана процедура ратифікації оновлення, за допомогою якої будь-які зміни в правилах консенсусу мережі можуть бути застосовані лише після того, як вони пройдуть через процес голосування. Зміни можуть бути внесені лише за умови схвалення принаймні 75% виборчих квитків. Цей процес починається, коли певна частка майнерів (95%) і виборців (75%) запускає оновлене програмне забезпечення з прихованими змінами в правилах. Якщо пропозиція має 75% підтримки після 4-тижневого періоду голосування, вона приймається, інакше вона відхиляється, а якщо вона не має надбільшості, починається повторне голосування. Якщо пропозицію прийнято, зміна правил активується через місяць.

Hybrid PoW/PoS Consensus Explained


Управління проектами: Politeia

Винагороди Decred за блоки розподіляються між майнерами PoW (60%), голосуючими PoS (30%) і казначейством (10%) для фінансування розробки програмного забезпечення з відкритим кодом, яке сприяє досягненню цілей проекту. Власники квитків мають суверенітет голосувати за те, як витрачати цей фонд, які функції слід додати, а також визначати політику через платформу Politeia.


Закриття думок

Оскільки голосуючі PoS отримують 30% винагороди за блок, вони не можуть підтримувати свою відносну частку циркулюючого DCR, просто роблячи ставки. Більшість новоспечених DCR надходять майнерам PoW в обмін на роль, яку вони відіграють у захисті мережі та пом’якшенні проблеми «нічого не поставлено на карту» чистих систем PoS. Майнерам, як правило, доводиться продавати значну частину винагороди, яку вони отримують, щоб покрити свої операційні витрати, забезпечуючи справедливу пропозицію DCR на ринку.

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