Skip to content

Commit

Permalink
Merge pull request #79 from input-output-hk/fsancheziohk-patch-1
Browse files Browse the repository at this point in the history
Create 12-ouroboros-overview.mdx
  • Loading branch information
fsancheziohk committed Jul 27, 2021
2 parents 694f889 + 5d4901c commit e8fcd16
Showing 1 changed file with 64 additions and 0 deletions.
64 changes: 64 additions & 0 deletions content/04-core-concepts/12-ouroboros-overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
title: Ouroboros overview
metaTitle: Ouroboros overview
---

## Ouroboros

In mythology, Ouroboros (also, *uroboros*) is usually depicted as a snake (or sometimes a dragon) eating its own tail in a closed circle. The word Ouroboros itself derives from Ancient Greek, its literal meaning being 'tail eating' or 'tail devourer.'

As a symbol, Ouroboros represents the infinity of time flowing back unto itself, in a never-ending cycle, as if caught in an eternal loop. Ouroboros first appeared in Egypt, in 13th century BC. Later, alchemists adopted Ouroboros into their mystical symbolism.

Throughout the ages, Ouroboros has been interpreted and used in a variety of ways by a plethora of cultures. One of the most common interpretations is that the symbol represents the interconnectedness and infinity of the Universe.

In 2017, Charles Hoskinson adopted Ouroboros to name the proof-of-stake consensus protocol that underlies Cardano. In this context, Ouroboros represents the possibility of infinite and ethical growth and scalability of the blockchain. Ouroboros' central message is the delivery of greater opportunities for the world, and its preservation through much-reduced energy consumption.


### What is Ouroboros

Ouroboros is the consensus protocol for Cardano, the first provably secure proof of stake protocol, and the first blockchain protocol based on peer-reviewed research.

Combining unique technology and mathematically verified mechanisms (including behavioral psychology and economic philosophy principles), Ouroboros guarantees and supports the security and sustainability of any blockchain implementing it. The result is a protocol with proven security guarantees, and able to facilitate the propagation of global, permissionless networks with minimal energy requirements. Cardano is the first such network.

Ouroboros selects participants -stake pools, in this case- to create new blocks based on the stake they control in the network, and facilitates the creation of distributed, permissionless networks capable of sustainably supporting new markets.

### Ouroboros implementations

Ouroboros comes in five different versions:

- [Classic](https://eprint.iacr.org/2016/889.pdf)
- [BFT](https://eprint.iacr.org/2018/1049.pdf)
- [Praos](https://eprint.iacr.org/2017/573.pdf)
- [Genesis](https://eprint.iacr.org/2018/378.pdf)
- [Hydra](https://eprint.iacr.org/2020/299.pdf)

#### Ouroboros Classic

The first implementation of Ouroboros achieved three major milestones:

- The foundation for an energy-efficient protocol to rival proof of work
- The introduction of the mathematical framework to analyze proof of stake
- The implementation of a novel incentive mechanism to reward participants in a proof-of-stake setting

But what really set Ouroboros apart from other blockchain protocols (specifically, proof-of-stake protocols), was its ability to generate unbiased randomness in the protocol’s leader selection algorithm, and the subsequent security assurances that provided. Randomness prevents the formation of patterns, which is critical for maintaining the protocol’s security. Ouroboros was the first blockchain protocol to be developed with this type of rigorous security analysis.


#### Ouroboros BFT

Ouroboros Byzantine Fault Tolerance (BFT) was the protocol's second implementation, used during the Byron update (transition from the old Cardano codebase to the new). The second instance of the protocol prepared Cardano for the decentralization that came with the Shelley release.

Ouroboros BFT enabled synchronous communication between a network of federated servers – the blockchain –, providing ledger consensus in a simpler and more deterministic manner.

#### Ouroboros Praos

Ouroboros Praos introduced substantial security and scalability improvements to the Ouroboros Classic implementation. Praos processes transaction blocks by dividing chains into slots, which are aggregated into epochs. But unlike Ouroboros Classic, Praos is analyzed in a semi-synchronous setting and is secure against adaptive attackers, using private-leader selection and forward-secure, key-evolving signatures to ensure that a strong adversary cannot predict the next slot leader and launch a focused attack (such as a DDoS attack).

#### Ouroboros Genesis

Once implemented, the fourth iteration of Ouroboros -Genesis- will further improve upon Ouroboros Praos by adding a novel chain selection rule that enables parties to bootstrap from a genesis block without the need for trusted checkpoints or assumptions about past availability. The Genesis paper also provides proof of the protocol’s Universal Composability, which demonstrates that the protocol can be composed with other protocols in arbitrary configurations in a real-world setting, without losing its security properties.

#### Ouroboros Hydra

The latest iteration is Ouroboros Hydra, an off-chain scalability architecture that addresses three key scalability challenges: high-transaction throughput, low latency, and minimal storage per node.

Ouroboros Hydra enables Cardano to scale horizontally, increasing performance by incorporating additional nodes, rather than vertically, through the addition of more powerful hardware. Early simulations show that each head can perform up to 1,000 TPS. With 1,000 heads, this could be as high as 1,000,000 TPS. Once implemented, Ouroboros Hydra will allow Cardano to scale to the level of, for example, global payment systems.

0 comments on commit e8fcd16

Please sign in to comment.