Skip to main content

96 posts tagged with "consensus"

View All Tags

Consensus Team Update

· 2 min read
Damian Nadales
Consensus Team Lead

High level summary

  • Leios prototype and testnet (Treasury Funding Initiative 4: Ouroboros Leios Implementation):
    • Cut a new prototype release, prototype-2026w29, carrying this fortnight's work across the node and the Leios repository (#6621, #996).
    • Landed the change that lets the node certify and announce endorser blocks inside the forging loop, so it no longer misses chances to certify. This is expected to raise the certification rate and throughput (#2105).
    • Added CallTrace instrumentation to the Forge thread, making it easier to trace and profile block production in the prototype (#2126).
    • Taught the LeiosNotify mini protocol to accept but ignore the proper MsgLeiosBlockAnnouncement message, a step towards the full block-announcement flow (#2142, integrated into the node in #6624).
    • Enriched typed-protocols to give more precise back pressure for pipelined mini protocols, motivated by the new LeiosNotify protocol (#93).
    • Improved testnet stability by stopping the node from mangling some Dijkstra blocks, a quick workaround while a ledger issue is fixed (#2140, for cardano-ledger#5937).
    • Updated the prototype dashboards and added a graph of recent endorser-block events, making the testnet easier to observe (#990, #992).
  • Mempool design for Leios (Treasury Funding Initiative 4: Ouroboros Leios Implementation):
    • Wrote up Mempool design considerations for Leios (#997).
    • Took part in discussions on how the Mempool should work: its current requirements, a "high-throughput mempool", and a "tiered-pricing mempool" in which transactions that pay more can queue ahead of normal-paying ones when they do not conflict.
  • Storage and snapshots (Treasury Funding Initiative 10: LSM including UTXO-HD):
    • Set the node's default snapshot policy to match Mithril's snapshot policy, so the two stay aligned (#2149).
    • Added a new LSMExportPath configuration option, letting operators control where LSM data is exported (#6629).

Consensus Team Update

· 3 min read
Damian Nadales
Consensus Team Lead

High level summary

  • Leios prototype and design (Treasury Funding Initiative 4: Ouroboros Leios Implementation):
    • Continued to harden the Leios testnet with a round of prototype fixes across consensus and the node (#2113, #6614), and cut two prototype releases carrying this work, prototype-2026w27a (#978) and prototype-2026w28 (#986).
    • Fixed two bugs found while running the testnet. The node no longer applies uncertified endorser blocks from the immutable database on startup, and the LeiosNotify pipelining depth was increased (#2114). A startup crash caused by a race condition on a node's first run was also resolved (#2115, fixing ouroboros-leios#983).
    • Added a voting dashboard to make Leios easier to observe, showing how endorser blocks are voted on and certified (ouroboros-leios#985).
    • Reviewed a change to how the node certifies and applies endorser blocks that is expected to roughly double the certification rate and raise throughput (#2105).
    • Drafted prose for the Leios high-level design document, describing how the pieces of the protocol fit together (commit 13e3908), and started negotiating the interface between Consensus and Ledger for Leios with the Ledger team (ouroboros-leios#977).
  • Node diversity and conformance (Treasury Funding Initiative 17: Maintenance and Support):
    • Took part in node diversity meetings on conformance testing with the Amaru team and others, including working through a conformance hurdle specific to the preview network.
    • Discussed how to specify the mempool and transaction submission precisely enough that other node implementations can follow the same rules.
  • UTXO-HD snapshot tooling (Treasury Funding Initiative 10: LSM including UTXO-HD):
    • Improved the snapshot-converter tool's --help and --version output, making it clearer how to convert ledger snapshots between the in-memory and on-disk (LSM) formats (#2098).
    • Added a temporary workaround so snapshot-converter reads the bloom-filter salt directly from exported files, until a proper fix lands on the LSM-trees side (#2097, pending lsm-tree#855).
  • Documentation (Treasury Funding Initiative 17: Maintenance and Support):
    • Added a reference document describing the metrics and tracing available for observing Ouroboros Genesis (#2103).

Consensus Team Update

· 2 min read
Damian Nadales
Consensus Team Lead

High level summary

  • Leios prototype development (Treasury Funding Initiative 4: Ouroboros Leios Implementation):
    • Chain selection and the volatile database now handle ranking blocks and Endorser Blocks that arrive out of order. A certifying ranking block that arrives before the Endorser Block it certifies is stored but held back from chain selection until the Endorser Block shows up. A new header bit also lets a syncing node fetch Endorser Blocks that were certified on the historical chain (#2076).
    • Fixed a bug where the LeiosFetch budget leaked when a peer disconnected. Requests in flight at the time of the disconnect were never cleared, so their share of the budget was never returned, and a node could eventually stop fetching altogether. This is a plausible cause of the forks seen recently on the testnet (#2083).
    • Corrected Endorser Block application to take the slot from the provided ledger state (#2085).
    • Voting and certification now happen over the announcing ranking block hash (#2086).
    • The db-synthesizer config parser now honors ExperimentalHardForksEnabled, so experimental hard forks can be enabled when generating synthetic chains (#2077).
    • Made the proto-devnet demo start up more reliably by holding back the transaction generator until the nodes are ready, and reduced the tip-observation frequency for the secondary nodes (ouroboros-leios#942, ouroboros-leios#943).
  • LSM-trees and UTxO-HD (Treasury Funding Initiative 10: LSM including UTXO-HD):
    • Reworked the snapshot-converter into a command tree. It now offers a daemon mode that watches a node's snapshot directory and converts each exported LSM snapshot into the portable in-memory format as it is produced, a one-shot conversion in either direction, and commands to move snapshots in and out of an offline LSM database. This supports the Mithril workflow, where signers need snapshots in a single agreed format (#2064).
  • Documentation (Treasury Funding Initiative 17: Maintenance and Support):
    • Added configuration documentation to the consensus website (#2065).
    • Minor improvements to the Genesis documentation (#1916).

Consensus Team Update

· 2 min read
Damian Nadales
Consensus Team Lead

High level summary

  • Mithril integration (Treasury Funding Initiative 8: Mithril):
    • A node running on an on-disk backend can now also write a snapshot in the portable in-memory format when given an export path. Mithril signers need a single agreed format to sign, and this lets them get it straight from the node instead of running a separate conversion tool. This is the first part of #1574; the export format is not fully complete yet, as it still needs some fixes on the LSM-trees side (#2053).
    • Added a snapshot policy for Mithril that makes the timing of ledger-state snapshots predictable, using cadence values agreed with the Mithril team. Predictable snapshots let signers agree on the same state to sign (#2063).
  • Maintenance and tooling (Treasury Funding Initiative 17: Maintenance and Support):
    • db-analyser can now start an analysis from a snapshot at a chosen slot. Given --analyse-from, it picks the newest snapshot at or before that slot and replays only the blocks needed to reach it, instead of always replaying from genesis (#2061).
    • Fixed a rare corner case where a snapshot taken at the same slot as the immutable database tip, on an epoch boundary block, triggered an error. The node now discards the snapshot in that situation (#2070).
  • Documentation (Treasury Funding Initiative 17: Maintenance and Support):
    • Full-text search is now available on the consensus documentation website. The search index is built into the site as static files, so it needs no external service (#2059).

Consensus Team Update

· 3 min read
Damian Nadales
Consensus Team Lead

High level summary

The Leios monthly demo and review took place on 2026-05-27. Several of the items below were presented or discussed during that meeting.

  • Leios prototype development (Treasury Funding Initiative 4: Ouroboros Leios Implementation):
    • Started migrating the prototype to the Dijkstra era of the Cardano node, which enables Stake Pool Operator key registration and brings the prototype in line with the audited BLS cryptography.
    • Working on EB application and mempool partitioning (#2047).
    • Working on wiring the mempool transaction-load events into the throughput dashboard (ouroboros-leios#929).
  • Leios fetch and network design (Treasury Funding Initiative 4: Ouroboros Leios Implementation):
    • Continued investigating multi-peer Endorser Block fetch strategies. The current proposal is a single large request to a high-latency peer (for example Europe to Australia), capped at roughly 30 MB in flight per EB, with neighbourhood diffusion taking over once the data arrives. Simulation results show this approach meets the 7 to 14 second budget. Slow-loris impact is still being assessed.
    • Refined the safety argument for linear Leios and flagged that the Rust simulator currently assumes peer reliability, which is not a safe assumption on mainnet.
    • Proposed EB precursors (proto-EBs) as a way to raise confidence without raising the voting time threshold.
    • Concluded that erasure coding is unlikely to pay off at this stage, given the estimated 60 ms latency cost and added complexity.
    • Working on the Mininet LeiosFetch logic test bed and the linear Leios tuner (ouroboros-leios#880, ouroboros-leios#891).
    • Committee selection scheme change was merged into the Leios SIP, cutting the certificate size from around 8 KB to 200 B.
  • Mempool design for Leios (Treasury Funding Initiative 4: Ouroboros Leios Implementation):
    • Started a discussion on mempool goals for the Leios protocol. Revalidating entire transaction sequences against multiple ledger states is wasteful, and certifying an Endorser Block produces a new ledger state that can render the basic mempool state irrelevant. Designs under consideration include two distinct mempools and a Directed Acyclic Graph for the ledger.
  • LSM-trees and UTxO-HD (Treasury Funding Initiative 10: LSM including UTXO-HD):
    • Updated the LSM-trees package dependencies (#2021).
    • Working on the UTxO-HD redesign (#2049).
    • Working on adding LSM snapshot export when an export path is configured (#2053).
  • Ledger-HD (Treasury Funding Initiative 11: Ledger-HD):
    • Working on an example PR that moves InstantStake onto the redesigned UTxO-HD, demonstrating the pattern that the remaining Ledger-HD datasets will follow (#2055).
  • Maintenance and tooling (Treasury Funding Initiative 17: Maintenance and Support):
    • Working on predictable ledger state snapshots in cardano-node (cardano-node#6526).
    • Working on enabling search on the consensus documentation site (#2059).