Ouroboros Praos — это механизм консенсуса Proof-of-Stake, разработанный IOHK и являющийся обновленной версией Ouroboros Classic.
Что такое Уроборос Праос?
Ouroboros Praos — это улучшение по сравнению с Ouroboros Classic, первой версией консенсусного протокола, разработанной IOHK. Это был первый алгоритм Proof-of-Stake, безопасность которого была официально подтверждена строгой криптографической моделью.
Ouroboros Praos улучшает классические гарантии безопасности, представляя новый «многоуровневый» подход к протоколу, который позволяет изящно масштабировать его с размером сети. Алгоритм доказуемо безопасен в асинхронных условиях, что делает общее и стандартное криптографическое предположение.
Praos — это не только технически более совершенный протокол, но и тот, который разработчикам легче интегрировать в свои приложения по сравнению с его предшественниками. Поэтому он был выбран для реализации в Cardano.
Протокол проверки доли участия Ouroboros Praos — это вторая итерация протокола Ouroboros, первого доказуемо безопасного протокола проверки доли владения, разработанного исследовательской группой IOHK. Как и Ouroboros Genesis, Ouroboros Praos — это доказуемо безопасный блокчейн-протокол с доказательством доли, который позволяет пользователям запускать узел и чеканить новые блоки, когда они выбираются случайным образом.
Praos означает «самодостаточный», поскольку эта итерация протокола обеспечивает более сильные гарантии, чем Ouroboros Genesis, с точки зрения масштабируемости и безопасности. Как и все исследовательские работы IOHK, эта статья была опубликована в академическом журнале (Journal of Cryptographic Engineering).
Ouroboros Praos работает по двухуровневой системе: основная цепочка состоит из эпох (наборов блоков), и каждая эпоха содержит слоты (возможности чеканки блоков). Время, необходимое для каждой эпохи, зависит от общего количества стейк-пулов в сети.
Основное преимущество наличия операторов пула (которые управляют пулами ставок) в составе системы заключается в том, что это делает сеть более доступной.
Что отличает Уроборос Праос?
Одно из основных различий между Ouroboros и Ouroboros Praos заключается в том, что каждый из них требует от своих индивидуальных пулов ставок.
С Ouroboros в каждом пуле должен был быть один лидер, отвечающий за производство блоков. Это означало, что каждому пулу требовался хотя бы один аккаунт, чтобы начать делать ставки, а это означает, что вся вычислительная работа выполнялась этим одним аккаунтом.
Однако с Ouroboros Praos пулам не нужен лидер. Вместо этого они могут разделить обязанности со всеми учетными записями в пуле. Это означает, что вычислительная работа может распределяться между несколькими учетными записями, а не только одной, поэтому на чью-либо учетную запись оказывается меньше нагрузки.
Две другие формы алгоритма Ouroboros — это Ouroboros Genesis и Ouroboros Classic.
Ouroboros Genesis использует проверяемую случайную функцию (VRF) в дополнение к традиционному механизму Proof-of-Stake (PoS), используемому в Ouroboros Classic. VRF — это криптографический примитив, который позволяет стороне генерировать случайные выходные данные в любое время и публично проверять их другими сторонами. В контексте Ouroboros VRF используется для определения лидера, который фиксирует блоки в реестре в каждом слоте. VRF улучшает нашу способность обеспечивать безопасность и децентрализацию для Ouroboros Genesis по сравнению с Ouroboros Classic. Кроме того, это позволяет Ouroboros Genesis быть более масштабируемым, чем Ouroboros Classic, для определенных моделей противоборства.