Ouroboros and How We Got Here
Incremental improvements within the Cardano concensus protocol
Hero Image

Ouroboros is the name of Cardano's concensus protocol, originally designed as an energy-efficient and sustainable alternative to proof of work.

Its important to think of Ouroboros as a "family of protocols" some of which build on prior versions and some were provided as temporary versions (to move the network from one state to another). They are NOT all implemented at the same time.

The following are the names and general timeline

  • Ouroboros Classic
    • (2017 and used as the original Cardano blockchain)
  • Ouroboros BFT
    • (interim version between classic and praos but used in 2020)
  • Ourobos Praos
    • (2017)
  • Ourobos Genesis
    • (2018)
  • Ouroboros Crypsinous
    • (2019)
  • Ouroboros Chronos
    • (2019)
  • Ouroboros Hydra
    • (Research in 2020)
  • Ouroboros Leios

Bellow we'll examine what each implementation introduces.

Ourobos Classic

  • divides time on Cardano into epochs where each epoch is divided into slots
  • grouping slots into epochs is central to adjusting the leader election process
  • built-in tolerance to prevent attackers from propagating alternative versions of the blockchain

Ourobos BFT

  • BFT = Byzantine Fault Tolerance
  • prepared the chain to become more decentralised
  • does not require nodes to be online all the time
  • assumed a federated network of servers and synchronous communication between them
  • required a larger fraction of honest parties than other Ouroboros versions

Ouroboros Praos

  • builds upon and provides substantial security and scalability improvements to Ouroboros Classic
  • unlike Ouroboros Classic, however, Praos is analyzed in a semi-synchronous setting and is secure against adaptive attackers.
  • provides better epoch randomness and ensures that a strong adversary cannot predict the next slot leader and launch a focused attack (such as a DDoS attack) to subvert the protocol.
  • also able to tolerate adversarially-controlled message delivery delays and gradual corruption of individual participants in an evolving stakeholder population

Ouroboros Genesis

  • improves Praos by adding a novel chain selection rule, which enables parties to bootstrap from a genesis block – without, significantly, the need for trusted checkpoints or assumptions about past availability

Ouroboros Crypsinous

  • adds privacy-preserving properties
  • introduces a new coin evolution technique relying on SNARKs and key-private forward-secure encryption
  • Crypsinous isn’t currently planned to be implemented on Cardano, but it can be used by other chains for increased privacy-preserving settings.

Ouroboros Chronos

  • it shows how blockchain protocols can synchronize clocks securely via a novel time synchronization mechanism and thereby become independent of external time services
  • is a cryptographically secure blockchain protocol that additionally provides a cryptographically secure source of time to other protocols.
  • In short, Chronos makes the ledger more resistant to attacks that target time information.