Proof of Stake (Доказательство доли)
Впервые альтернативный алгоритм подтверждения достоверности новых блоков цепи блокчейн был продемонстрирован в 2011 году, в рамках международного форума Bitcointalk. Идея заключалась в том, чтобы отвязать процесс подтверждения от майнинга, требующего всё больших затрат электричества и вычислительных мощностей.
Как работает алгоритм Proof-of-Stake?
В основе Proof of Stake или PoS был заложен псевдослучайный процесс выбора узла, который должен выступать гарантом подлинности нового блока цепи. Алгоритм учитывает ряд факторов, среди которых срок хранение доли (стейка), состояние узла, величина стейка, а также – рандомизатор.
Это не требует особых затрат электричества, поэтому процесс получения новых блоков нельзя назвать майнингом. Теперь это форгинг или форжинг (от англійського Forging – ковка). Кроме того, большинство криптовалют, использующих в своей основе PoS, в момент запуска базируются на более классическом PoW. И только когда количество участников и общая их активность (и суммы на их счету) достигнут определённого уровня – переходит на алгоритм доказательства доли.
Кроме того, существенное отличие между двумя алгоритмами заключается в том, что PoS в качестве вознаграждения использует комиссию от подтверждённой сделки. А это означает, что величина награды узла-валидатора может варьироваться.
Пользователи, которые хотят присоединиться к процессу форжинга, должны закрепить в криптовалютной сети определённую долю своих финансов – стек. Чаще всего, есть определённый минимум, ниже которого узлы перестают рассматриваться в качестве кандидатов в валидаторы. А чем больше доля – тем, наоборот, выше шансы, что автоматический алгоритм выберет именно этот узел. Видно, что в этом процессе преимущество будет у узлов с самым большим стеком. Поэтому чтобы и остальные участники могли рассчитывать на вознаграждение, в алгоритм добавляются дополнительные функции. Как пример, можно назвать «Случайный выбор блока» и «Выбор Возраста Монет».
Первый - алгоритм псевдослучайных чисел, учитывающий не только размер стака, но и величину хэша. Причём преимущество отдаётся тем, у кого он меньше. То есть – более поздним участникам. Но в любом случае, поскольку величины стаков – информация открытая и публичная, пользователи могут предсказывать, у кого из них наибольшие шансы стать следующим валидатором.
Второй алгоритм выбирает узлы, основываясь на произведении общего количества дней «стажа» на количество монет в стеке. Но как только такой узел становится форджером – возраст сбрасывается до нуля. И требуется некоторое время подождать, прежде чем снова появятся шансы стать валидатором.
Кроме того, нужно учитывать, что PoS – это не алгоритм, который можно модернизировать. Поэтому у разных криптовалют могут быть разные правила и методы работы с монетами и пользователями.
Итак, после того, как узел избирается гарантом-валидатором, он проверяет, действительны ли транзакции в блоке. Если да, то заверяет его и добавляет в цепь. И получает свой процент от транзакции.
Но если пользователь хочет вывести из стака монеты и заработанное вознаграждение, то сразу он не сможет этого сделать. Потому как сеть должна проверить добавленные им блоки, чтобы убедиться, что они достоверны. «Проверка проверяющего» - важный элемент общей безопасности.
О безопасности
Как проверяется проверяющий? Алгоритмом PoW, но не глобальным, в рамках всей сети, а индивидуальным – посредством следующего форжера. Чей компьютер точно также высчитывает хэш блока и проверяет, подходит ли он к цепочке. Если выяснится, что нет – прошлый валидатор теряет свою награду, свой стак и лишается права дальше участвовать в операциях. А поскольку награда чаще всего существенно меньше доли, то попытки мошенничества банально не выгодны.
Тем не менее, возможна ситуация, когда мошенничество не будет выявлено. Но для этого нужно, чтобы у мошенников было порядка 51 процента от общей доли стака всей сети. Однако и тогда, благодаря случайному выбору валидаторов, сохраняется некоторая вероятность того, что мошенничество вскроется.
Вывод
Главные плюсы алгоритма PoW – высокие энергоэффективность и безопасность. Кроме того, такие сети более стабильны – за счёт стабильного вознаграждения, которое не меняется от общего количества монет в сети. Для примера – в сети Биткоин, вознаграждение за каждый новый блок постепенно уменьшается. Даже подсчитано уже, когда оно перестанет компенсировать затраты электроэнергии. Для сетей PoS это не характерно, что и привлекает в них множество новых пользователей.