Ouroboros Praos is a proof-of-stake consensus mechanism developed by IOHK and is an updated version of Ouroboros Classic.
What Is Ouroboros Praos?
Praos is not only a technically superior protocol but also one that is easier for developers to integrate into their applications in comparison to its predecessors. As such, it has been selected for implementation in Cardano.
The Ouroboros Praos proof-of-stake protocol is the second iteration of Ouroboros, the first provably secure proof-of-stake protocol, developed by IOHK’s research team. Like Ouroboros Genesis, Ouroboros Praos is a provably secure proof-of-stake blockchain protocol, which allows users to run a node and mint new blocks when they are randomly selected.
Praos stands for “self-sufficient”, as this iteration of the protocol provides stronger guarantees than Ouroboros Genesis in terms of scalability and security. As with all IOHK research papers, this has been published in an academic journal (the Journal of Cryptographic Engineering).
The main advantage of having pool operators (who run stake pools) as part of the system is that it makes the network more accessible.
What Makes Ouroboros Praos Different?
One of the main differences between Ouroboros and Ouroboros Praos is what they each require from their individual staking pools.
With Ouroboros, every pool needed to have a single leader that was responsible for producing blocks. This meant that every pool required at least one account in order to start staking, which means that all of the computational work was done by that one account.
With Ouroboros Praos, however, pools don’t need to have a leader. They can instead share responsibilities with all accounts in the pool. This means that computational work can be shared amongst multiple accounts instead of just one, so there’s less pressure put on anyone’s account.
The other two forms of the Ouroboros algorithm are Ouroboros Genesis and Ouroboros Classic.
Ouroboros Genesis uses a verifiable random function (VRF) in addition to the traditional Proof-of-Stake (PoS) mechanism used in Ouroboros Classic. VRF is a cryptographic primitive that allows a party to generate a random output at any time and get it publicly verified by other parties. In the context of Ouroboros, VRF is used to determine the leader that commits blocks to the ledger in each slot. VRF improves our ability to provide security and decentralization for Ouroboros Genesis, compared with Ouroboros Classic. Additionally, this enables Ouroboros Genesis to be more scalable than Ouroboros Classic for certain adversarial models.