Mid Level Reading
20 Aug, 2023

Ouroboros Praos

Ouroboros Praos, developed by IOHK, is an updated version of the proof-of-stake consensus mechanism known as Ouroboros Classic.

Understanding Ouroboros Praos

Ouroboros Praos is an enhancement of Ouroboros Classic, the initial consensus protocol version established by IOHK.

It is the first proof-of-stake algorithm to receive formal security validation within a stringent cryptographic model.

Enhanced Security and Scalability

Compared to its predecessor, Ouroboros Praos offers increased security guarantees through an innovative “layered” protocol approach.

This modification allows the protocol to adapt and scale seamlessly with the network size.

The algorithm is proven secure in the asynchronous setting, built on standard cryptographic assumptions.

Not only is Praos technically superior, but it’s also more straightforward for developers to incorporate into their applications.

This user-friendly nature is one reason why it has been chosen for implementation within the Cardano blockchain.

Evolution of Proof-of-Stake

Ouroboros Praos stands as the second iteration of the Ouroboros proof-of-stake protocol, following Ouroboros, the initial, provably secure proof-of-stake protocol designed by IOHK’s research team.

Similar to Ouroboros Genesis, Ouroboros Praos is a proven secure proof-of-stake blockchain protocol that permits users to operate a node and generate new blocks when they are randomly selected.

The term Praos translates to “self-sufficient”, an apt name given this protocol iteration’s enhanced scalability and security guarantees compared to Ouroboros Genesis.

Like all IOHK research, this work has been published in an academic journal, specifically the Journal of Cryptographic Engineering.

Exploring Epochs, Slots, and Stake Pools

Ouroboros Praos operates on a two-tier system: the primary chain is divided into epochs (block collections), each containing slots (chances to generate blocks).

The duration of each epoch relies on the total number of stake pools within the network.

Including pool operators (who manage stake pools) in the system benefits the network by increasing accessibility.

What Sets Ouroboros Praos Apart?

The major distinction between Ouroboros and Ouroboros Praos lies in their requirements from individual staking pools.

Sharing Responsibilities

In Ouroboros, each pool had to have a sole leader tasked with block production, implying that each pool needed at least one account to commence staking.

This placed the computational workload solely on that account.

In contrast, Ouroboros Praos allows pools to function without a designated leader.

The responsibility can be shared among all accounts in the pool, meaning the computational workload can be distributed amongst multiple accounts, alleviating pressure on any single account.

The other two versions of the Ouroboros algorithm include Ouroboros Genesis and Ouroboros Classic.

Leveraging VRF and PoS

Ouroboros Genesis employs a verifiable random function (VRF) and the traditional Proof-of-Stake (PoS) mechanism used in Ouroboros Classic.

VRF is a cryptographic tool enabling a party to produce a random output at any time and have it publicly verified by other parties.

Within Ouroboros, VRF is utilized to identify the leader who appends blocks to the ledger in each slot.

VRF enhances the security and decentralization aspects of Ouroboros Genesis compared to Ouroboros Classic.

Additionally, it enables Ouroboros Genesis to offer better scalability than Ouroboros Classic under certain adversarial conditions.