Как видно из названия, алгоритм Ouroboros PoS (далее Ouroboros) базируется на использовании алгоритма PoS. В частности он выглядит похожим на подмножество алгоритмов Delegated PoS (DPoS), но с некоторыми нюансами.
Также как и в классическом PoS алгоритме, в формировании блоков могут принимать участие все Владельцы узлов имеющие положительный баланс токенов.
Давайте рассмотрим каким именно образом выбираются узлы, осуществляющие формирование и подписание блоков. Основными временными сущностями в Ouroboros являются Эпохи и Слоты, каждая Эпоха делится на Слоты (например, 20 секунд). У каждого Слота есть свой Слот Лидер — выбранный владелец узла, который должен сформировать и подписать один блок, формируемый в рамках одного, определенного Слота. В том случае, если по какой-либо причине, Слот Лидер не смог подписать блок в своем Слоте, он теряет свое право формирования блока в текущем Слоте.
Выбор Слот Лидеров осуществляется следующим образом:
- Перед каждой Эпохой производится выбор Слот Лидеров для Эпохи и соответственно формируется количество Слотов в ней.
- Шанс стать Слот Лидером есть у каждого владельца токенов, но чем больше токенов есть у владельца, тем выше его шансы на то, чтобы стать Слот Лидером.
- Выбором занимается специальная группа владельцев — Выборщиков, имеющая существенное количество токенов, например 2% от всех токенов.
- Каждый из выборщиков производит случайный выбор потенциальных Слот Лидеров, после чего, используя алгоритм
Follow-the-Satoshi, из сформированного списка выбираются реальные Слот Лидеры для следующей Эпохи.
Ссылки
-
Ouroboros A Provably Secure Proof of Stake Protocol / Video presentation-
Ouroboros: A Provably Secure Proof-of-Stake Blockchain Protocol / pdf-
Ouroboros Proof of Stake Algorythm
-
Алгоритм Ouroboros Proof-of-stake (PoS) -
Peer Review of Cardano's Ouroboros / Daniel Larimer /
тоже самое на русском языке