Proof of Stake (Доказ частки)
Вперше альтернативний алгоритм підтвердження достовірності нових блоків ланцюга блокчейн був продемонстрований в 2011 році, в рамках міжнародного форуму Bitcointalk. Ідея полягала в тому, щоб відв'язати процес підтвердження від майнінгу, що вимагає все більших витрат електрики і обчислювальних потужностей.
Як цей алгоритм працює?
В основі Proof of Stake або PoS був закладений псевдовипадковий процес вибору вузла, який повинен виступати гарантом достовірності нового блоку ланцюга. Алгоритм враховує ряд факторів, серед яких термін зберігання частки (стейка), стан вузла, величина стейка, а також - рандомізатор.
Це не вимагає особливих витрат електрики, тому процес отримання нових блоків не можна назвати майнінгом. Тепер це форгінг або форжінг (від англійського Forging - кування). Крім того, більшість криптовалют, що використовують в своїй основі PoS, в момент запуску базуються на більш класичному PoW. І тільки коли кількість учасників і загальна їх активність (і суми на їхньому рахунку) досягнули певного рівня - переходить на алгоритм доказу частки.
Крім того, істотна відмінність між двома алгоритмами полягає в тому, що PoS в якості винагороди використовує комісію від підтвердженої угоди. А це означає, що величина нагороди узла-валідатора може варіюватися.
Користувачі, які хочуть приєднатися до процесу форжінга, повинні закріпити в криптовалютній мережі певну частку своїх фінансів - стек. Найчастіше, є певний мінімум, нижче якого вузли перестають розглядатися як кандидати в валідатори. А чим більше частка - тим, навпаки, вище шанси, що автоматичний алгоритм вибере саме цей вузол. Видно, що в цьому процесі перевага буде у вузлів з найбільшим стеком. Тому щоб і інші учасники могли розраховувати на винагороду, в алгоритм додаються додаткові функції. Як приклад, можна назвати «Випадковий вибір блоку» і «Вибір Віку Монет».
Перший - алгоритм псевдовипадкових чисел, що враховує не тільки розмір стейка, а й величину хеша. Причому перевага віддається тим, у кого він менше. Тобто - більш пізнім учасникам. Але в будь-якому випадку, оскільки величини стейків - інформація відкрита і публічна, користувачі можуть передбачати, у кого з них найбільші шанси стати наступним валідатором.
Другий алгоритм вибирає вузли, грунтуючись на відтворенні загальної кількості днів «стажу» на кількість монет в стеці. Але як тільки такий вузол стає форджером - вік обнуляється. І потрібно почекати якийсь час, перш ніж знову з'являться шанси стати валідатором.
Крім того, потрібно враховувати, що PoS - це не алгоритм, який можна модернізувати. Тому у різних криптовалют можуть бути різні правила і методи роботи з монетами і користувачами.
Отже, після того, як вузол обирається гарантом-валідатором, він перевіряє, чи дійсні транзакції в блоці. Якщо так, то завіряє його і додає в ланцюг. І отримує свій відсоток від транзакції.
Але якщо користувач хоче вивести з стейка монети і зароблену винагороду, то відразу він не зможе цього зробити. Тому як мережа повинна перевірити додані їм блоки, щоб переконатися, що вони достовірні. «Перевірка перевіряючого» - важливий елемент загальної безпеки.
Про безпеку
Як перевіряється перевіряючий? Алгоритмом PoW, але не глобальним, в рамках всієї мережі, а індивідуальним - за допомогою наступного форжера. Чий комп'ютер точно також вираховує хеш блоку і перевіряє, чи підходить він до ланцюжку. Якщо з'ясується, що ні - минулий валідатор втрачає свою нагороду, свій стейк і позбавляється права далі брати участь в операціях. А оскільки нагорода найчастіше істотно менше частки, то спроби шахрайства банально не вигідні.
Проте, не виключені ситуації, коли шахрайство не буде виявлено. Але для цього потрібно, щоб у шахраїв було близько 51 відсотка від загальної частки стейка всієї мережі. Однак і тоді, завдяки випадковому вибору валідаторів, зберігається певна ймовірність того, що шахрайство розкриється.
Висновок
Головні плюси алгоритму PoW - високі енергоефективність і безпека. Крім того, такі мережі більш стабільні - за рахунок стабільної винагороди, яка не змінюється від загальної кількості монет в мережі. Для прикладу - в мережі біткоін, винагорода за кожен новий блок поступово зменшується. Вже навіть підраховано, коли воно перестане компенсувати витрати електроенергії. Для мереж PoS це не характерно, що і привертає до них безліч нових користувачів.