Ouroboros, as explained by IOHK researchers

Most of us usually see the superficial side of Blockchain during our daily interactions in this space. We get overwhelmed by price discussions, insane gains, new offerings, hacks, or fake news. In the Cardano Shelley Summit 2020, we got a chance to interact with real people – IOHK scientists and blockchain researchers who are building the network.

There were some eminent researchers on the panel – Ouroboros: Cardano’s Proof of Stake Blockchain Protocol. The panelists included

Dr. Christian Badertscher (Host): Research Fellow, IOHK
Prof Aggelos Kiayias: Chief Scientist, IOHK
Prof Alexander Russell: Senior Research Fellow, IOHK
Dr. Vassilis Zikas: Research Fellow, IOHK
Dr. Peter Gaži: Research Fellow, IOHK

What is Ouroboros?

Ouroboros is Cardano’s Proof of Stake Blockchain Protocol. It is developed by IOHK from First Principals. It is guided by academic research and peer review.


Goal of Ouroboros

Ouroboros’ goal is simple. It wants to be a transaction Ledger with immutable history. It has 4 basic features:

  • Submit Transactions
  • Get included into Ledger (if the transaction is valid)
  • Everybody should be able to access and verify
  • The Ledger is immutable

Along with this, Ouroboros brings a few important aspects like consistency and liveness.

General challenges of a consensus method

Critical challenges with distributed computation over a network include:

  • Delayed Messages
  • Corrupt actors, acting maliciously
  • Dynamic level of participation (network failures)
  • Time-dependent, as it needs coordination to trigger certain events
  • Incentive mechanism is not completely aligned to support decentralization
Blockchain 1.0: The Bitcoin consensus

Bitcoin works in a Proof of Work consensus. To keep it simple, the goal is to find the Nonce. The more Hashing Power a person has, the more power he holds in the network. This process is also not energy efficient. Profit-optimization strategies favor centralized structures.

Moving towards Proof of Stake
  • Use stake instead of Hash Power
  • Stakeholders replace Miners
  • Next stakeholder to produce block is selected with probability proportional to the stake
  • No physical resource needed to create blocks
  • It is a better method to maintain a good history of Ledger (Long-Range attaches)

Main Development Phases

Ouroboros has gone through multiple development phases until now.

  1.  Ouroboros Classic: Proof of Concept, Basic Structure
  2. Ouroboros Praos: Added strong adversaries, Network delays
  3. Ouroboros Genesis: Support for fully dynamic participation, Prevent Long-Range attacks (attacks which happen over some time by continuously changing the true version of the ledger)
  4. Ouroboros Chronos: Has it’s own timing service

Further Development

  • Ouroboros BFT (a spinoff from Ouroboros Classic)
  • Rewards Schemes: Incentivization Strategies
  • Ouroboros with Privacy

Ouroboros Protocol Design

Epoch: Time is divided into several slots. These are called epochs.

Randomness: An epoch has a Random Seed. Creating randomness is one of the fundamental challenges of Proof of Stake Blockchain. There is clean randomness built-in Ouroboros to determine the leaders of the blocks

Stakeholders: The Stakeholders have 3 main tasks

  • Determine the longest chain. Chain selection rule: Adopt a valid new chain if it is longer unless it turns to rewrite the entire ledger history. This is one of the protection mechanisms against Long-Range attacks. This has drawbacks, as a newcomer needs to put trust in additional help. This is improved in later versions of Ouroboros.
  • Determine slot leader (Example: Sequence of Biased Coins)
  • Slot leader packs transactions, create and publish blocks

Switch: Once Epoch boundary is reached, the switch needs to happen. The below parameters needs to be taken care of.

  • New Stake Distribution
  • New Randomness (New Epoch Seed)
  • Reward Management: Consolidation of the previous epoch.

The above process repeats.

Major improvements to the design

  • Stronger cryptographic primitives implemented (Verifiable Random Functions enable private lottery, Key-Evolving Signatures fully mitigate adaptive corruptions)
  • New chain selection rule: Newcomers can recognize the best chain by novel chain-selection rule. Removes dependency on specific “trusted peers”. Any fake history is less dense near the forking point than the correct history. Hence Ouroboros puts a new condition to identify the density during a fork.
  • Chronos is independent of external time mechanisms. Network Time protocols or neighboring nodes are centralized. Chronos allows anyone to compute reliable timestamps.

Other important points:

  1. Stakepools can sync their clocks with Chronos. The blockchain will be independent of any external service. IOHK has published a paper on this.
  2. Block Parameters: Ouroboros Block parameters are not fully disclosed. Though, it is at some level similar to Bitcoin. The deeper the block is in the blockchain, the more is the confidence. To have a particular level of certainty, variables include estimating the strength of the adversary, etc. Ouroboros has computed this taking into consideration many such scenarios. Ouroboros numerical simulations provide such details, based on each criterion. IOHK will release the final choices during Shelley release.
  3. Ouroboros and the Scalability Trilemma: This is one area where IOHK has been extremely successful. No one can solve the trilemma but can limit the Trade-Offs. Ouroboros can amplify in favor of reducing latency. In an adverse environment, it can give you an almost instant settlement. All these, considering randomness and unknown limits and physical barriers. It is uncertainty about who participates in the network. There is a connection between security and decentralization. Ouroboros has been able to improve security and decentralization proportionately.

Algorand claims to solve Scalability Trilemma. Any learnings?

This is not a black and white statement. There are different levels of the solution. Algorand operates in an environment where the randomness is less. It has to predict the number of operators. It is capable of providing a fast response as it can make that assumption. That is their trade-off. Ouroboros can not use such a setting. That will mean giving up dynamic availability. Ouroboros can offer the same type of properties with a dynamic setup.

Previously, we covered Cardano Announces Big Product Launches and Bigger Funds.
Stay tuned, we have more updates coming from the Cardano Shelley Summit 2020.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.