1 of 16

Ouroboros Peras

Implementation Progress Update and Discussion

August 31, 2026

2 of 16

Agenda

2

  1. Integration progress
  2. Team augmentation
  3. Peras → Mainnet kickoff
    • Ledger and crypto integration
    • Peras ↔ Genesis / Historical certificates
    • Networking improvements
  4. Peras Testnet
  5. Next steps and communication strategy
  6. Discussion

​

3 of 16

Disclaimer

3

  • Ouroboros Peras is a protocol that enables significantly faster settlement times under optimistic conditions

​

  • At a fixed schedule, all eligible pools vote for a recent block
    • If sufficiently many pools vote for the same block, this block receives a boost, making it unlikely to be rolled back
    • Otherwise, the system enters a cooldown period, during which no voting takes place

​

  • Unless explicitly stated, in these slides we refer exclusively to pre-alpha Peras:

https://tweag.github.io/cardano-website/projects/prs/documentation/overview/#pre-alpha-peras

​

​

​

​

​

​

​

​

4 of 16

Integration progress

4

  • About +13.7kLoC/-4.2kLoC �
  • Most of the integration work has already landed on main
    • Merged: 33 PRs (Peras 28 → 60)
    • Current stack: 7 PRs (1 approved, 5 ready for review, 1 draft) (Peras 61 → 67)�
  • Some pieces will remain in our integration branch until we are done glueing some corners back:
    • Integrating properly-registered public BLS keys (WIP)
    • Handling the node’s own private BLS key and identity (WIP)
    • Handling the way certificates are included in Dijkstra block bodies (TBD)

​

In the last two months we stacked a lot of changes on our dedicated development branch for ouroboros-consensus because we needed to do a wide and deep refactor of multiple components.

​

Now we are mostly done integrating these changes into main!

5 of 16

Integration progress

5

6 of 16

Team augmentation

6

We welcomed 6 talented Tweagers to help us with Peras-to-mainnet phase:

​

​

  • Evgenii Akentev (testnet team)
  • Gaël Deest (ledger team)
  • Xavier Gongora (historical cert/Genesis team)
  • Nathan Bloomfield (historical cert/Genesis team)
  • Erin van der Veen (network team)
  • Philipp Zander (network team)

7 of 16

Peras → Mainnet kickoff

7

continuous integration and testing

testnet-ready Peras

mainnet-ready Peras

Aug 2026

Sep 2026

Q1 2027

Jul 2025

(not to scale)

Including all changes needed to enable Peras in the next intra-era hard-fork

8 of 16

Peras → Mainnet kickoff�Ledger and crypto integration

8

  • Integrating properly-registered public BLS keys into the Peras voting committee
    • Now possible thanks to some of the shared efforts led by Leios

​

  • Sourcing a node’s private BLS key and identity from configuration files
    • Exposition of this data should be minimal, similar to block forging credentials�
  • Handling the way certificates are included in Dijkstra block bodies
    • We currently use opaque byte arrays, leaving all responsibility to the Consensus layer
    • We are investigating how to split this responsibility between the Ledger and Consensus

9 of 16

Peras → Mainnet kickoff�Peras ↔ Genesis / Historical certificates

9

  • Genesis is a protocol which enables syncing nodes to not rely on a particular trusted node�
  • Testnet-ready Peras only considers caught-up nodes
    • As a consequence, certificates are volatile: they are discarded when they can no longer impact chain selection�
  • We must make sure that catching-up nodes converge towards the same chain as honest caught-up nodes, so they should account for certificates when syncing
    • Certificates can no longer be volatile. They should be stored and diffused, and Genesis must be adapted to account for them

10 of 16

Peras → Mainnet kickoff�Networking improvements

10

11 of 16

Peras → Mainnet kickoff�Networking improvements�timely termination from the client

11

12 of 16

Peras → Mainnet kickoff�Networking improvements

Peras → Mainnet kickoff�Networking improvements�timely termination from the client

12

13 of 16

Peras → Mainnet kickoff�Networking improvements

Peras → Mainnet kickoff�Networking improvements�caught-up status

13

14 of 16

Peras Testnet

14

  • Testnet now either starts on/transitions to Dijkstra
  • Plumbing the private keys & pool id environment variables (temporary)
  • Bootstrapping the voting process
  • Tracing and checking the behavior of the vote forging thread
  • Ensuring and verifying vote generation
  • Looking into setting up the flexible scenarios with groups of nodes

15 of 16

Next steps and communication strategy

  • We will wrap up peras-to-testnet project in the coming weeks as soon as all the required code is merged and testnet experiments are successful

​

  • Peras-to-mainnet teams are already at full speed to ensure project delivery as soon as possible

​

Communication strategy:

​

  • Moving forward, our demos will be scheduled every time we achieve a new important step in the project, instead of having a predefinite cadence. This should let us show more interesting content to a broader audience, especially with testnet scenarios.

​

  • Technical weekly updates will continue to be published diligently to provide clarity and accountability on the project progression

​

  • We also created https://peras-tracker.tweag.io/ for a higher-level view on the project activity and completion status

15

16 of 16

THANK YOU!