Skip to content

blinklabs-io/io-ouroboros-leios

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,041 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Ouroboros Leios

Ouroboros Leios is an optimistic consensus protocol for Cardano that substantially increases transaction throughput while maintaining the security properties of Ouroboros Praos. Block producers create larger secondary blocks referencing additional transactions alongside standard Praos blocks, making use of the computational and bandwidth resources that Praos leaves underutilised. These secondary blocks undergo committee validation before ledger inclusion. Building on years of research, the project is transitioning from R&D into engineering with active prototyping against cardano-node.

Browse the project website for an accessible overview, follow progress on the roadmap and tracker, watch monthly review recordings, or join GitHub Discussions and #leios on the IOG Discord. See CONTRIBUTING.md for how to get involved.

Protocol specification

The protocol is specified in CIP-0164 as a response to CPS-0018. A machine-checked formal specification in Agda complements the CIP. The Leios design document bridges the specification and a cardano-node implementation, and the impact analysis derives requirements from the protocol design.

Research and analysis

Two technical report snapshots capture the R&D trajectory: report 1 (~February 2025) and report 2 (~August 2025). A cost analysis is available on the website.

post-cip/ collects findings made after the CIP was submitted — a Markovian model of Linear Leios, UTxO set and lifetime analysis, CPU cost measurements of ledger operations, and mempool and constraint modelling. analysis/ contains simulation experiment results, DeltaQ modelling of Linear Leios, bandwidth measurements, and network timing analysis.

Simulations

The repository contains two independent simulations of the Leios protocol, each with its own README covering build instructions, configuration parameters, and Docker usage.

sim-rs/ is a high-performance Rust simulation producing JSONL or CBOR traces and is the actively maintained simulation. simulation/ is an earlier Haskell simulation with built-in Gtk+ visualisation; it predates the move away from input blocks and is no longer up to date with the current protocol design. Both read shared topology and configuration files from data/.

Traces from either simulation can be explored in the web-based visualiser, which also supports live streaming from a running network via Loki. Docker images for both simulations are built from the root Dockerfile.

Demo

The demo/ directory collects network-level demonstrations built from prototype cardano-node branches, including a Leios-enabled devnet. See demo/README.md for details and links to the prototype branches.

Cryptographic benchmarks

crypto-benchmarks.rs/ contains a Rust reference implementation and benchmarks of the BLS cryptography used for Leios voting and certificates, including a CLI for testing the full vote-to-certificate pipeline.

DeltaQ network analysis

delta_q/ provides a general-purpose web-based tool for modelling network performance using Delta-QSD theory, including extensions for load analysis and gossip diffusion — see the DeltaQ README for building and usage. The more recent analysis/deltaq/linear-leios/ applies DeltaQ specifically to Linear Leios, computing EB diffusion statistics and certification probabilities.

Community and governance

Development is tracked on the project board and discussed in monthly review calls. Contributions are welcome — see CONTRIBUTING.md and the Code of Conduct.

About

Documentation and tools relating to the design and prototyping of Ouroboros Leios (Blink Labs' Version)

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Jupyter Notebook 96.9%
  • Shell 0.8%
  • Haskell 0.8%
  • Rust 0.7%
  • TypeScript 0.3%
  • JavaScript 0.2%
  • Other 0.3%