Skip to main content

Network Team Update

· 4 min read
Marcin Szamotulski
Network Team Lead

Overview of sprints: 108 and 109.

Cardano Node 10.7.0

We relased

  • ouroboros-network-1.0.0.0 (later refined with ouroboros-network-1.1.0.0
  • cardano-diffusion-1.1.0.0 which are integrated with the ongoing cardano-node-10.7 release.

See release board for all PRs included in these releases.

Leios

PR / IssueStatus
Mux egress prioritisationin progress
Performance improvement for tx-submission v2in progress
TxSubmissionV2 demoin progress
Expand network sectionin review

Ouroboros-Network

PR / IssueStatusNotes
tx-submission robustness and testing enhancementsmerged
RNG handling in SRV lookups for public root peersclosedcontribution by Saviour Uzoukwu
cardano ping implemented with ouroboros-networkblocked
mux: refactored ReadBuffer & socket API changesmerged
ledger-peers: introduced SignLedgerPeersKindmerged
cardano-ping: output valid JSON when no pongs are receivedmerged
Add {To,From}JSON instances for TxSubmissionLogicVersionmerged
[Cardano Topology: module exports][pr#5339]merged
Haddock improvementsmerged

DMQ-Node

PR / IssueStatusnotes
SigSubmission v2merged
Integration with cardano-tracerin progress
[Churn test][#5303]merged
Updated dependencies of dmq-nodemerged
Improved documentationmerged
Fixed number of unacknowledged sigIds on the outbound sidemerged
[Added pattern synonyms for EraIndex (CardanoEras c)][pr#1919]mergedouroboros-consensus change needed for Ledger peers
Ledger peersmerged
[dmq-node-0.3.0.0 pre-release][pr#37]merged
Haddocks, docs & release scriptsmerged

IOSim

PR / IssueStatus
Added flushEventLog to MonadEventlogmerged
io-sim improvementsmerged
PR review commentsmerged
ghc-9.14 supportmerged
io-sim: io-classes constraintmerged

Hydra Team Update

· One min read
Noon van der Silk
Software Engineering Lead

What did the team achieve?

  • Released version 1.3.0!
  • Continued great progress on partial fanout #1667, #2538
  • Fixed an issue found under high L2 transaction load #2519 (thanks Delta DeFi team!)
  • Improved logging when running the smoke-tests #2531

What's next?

  • Continue work on partial fanout
  • Get more structure in our benchmarks #2439
  • Support the upcoming Dijkstra Era #2495
  • Implement the "Directly Open Heads" feature; simplifying the protocol #1329
  • Upgrade to cardano-api 10.21 #2520

Mithril Team Update

· 4 min read
Jean-Philippe Raynaud
Mithril Tech Lead

High level overview

This week, the Mithril team continued implementing new succinct proofs. They completed the adaptation of the certificate chain for the SNARK aggregate verification key, prepared the SNARK prover witness, and finalized naming alignment as part of the SNARK circuit refactoring. The team also continued work on modularity enhancements using gadgets and on SNARK proof verification. In addition, they progressed the full review of the recursive circuit prototype, the technical report for the recursive Halo2 circuit, and the impact assessment of SNARK on Mithril protocol security.

The team also continued work on the new certification for Cardano blocks and transactions, including the prover and client library implementations, completed static builds for Mithril nodes, and began enhancing support for signed entity types through configuration.

Finally, they continued testing the DMQ node 0.3.0 pre-release and worked on removing the v1 backend for Cardano database in the client library and CLI.

Low level overview

Features

  • Published a development blog post Mainnet protocol parameters updated to support SNARK verification
  • Completed the issue Adapt certificate chain to support SNARK AVK #2811
  • Completed the issue SNARK aggregation primitives: Prepare prover witness #2887
  • Completed the issue Refactor SNARK circuit - Naming alignment #3038
  • Completed the issue Compute the Lottery Target Value in MerkleTreeSnarkLeaf #3068
  • Worked on the issue Full review of recursive SNARK circuit prototype #2982
  • Worked on the issue Prepare technical report for recursive Halo2 circuit #2981
  • Worked on the issue Impact of SNARK on Mithril protocol security #2803
  • Worked on the issue Experimental blst-Jubjub #2772
  • Worked on the issue Halo2 SNARK verified on chain PoC #2837
  • Worked on the issue Refactor SNARK circuit - Modularity enhancement with gadgets #3039
  • Worked on the issue SNARK aggregation primitives: Verify SNARK proof #3041
  • Worked on the issue Implement new prover for Cardano Blocks and Transactions #2987
  • Worked on the issue Implement Cardano Blocks and Transactions in client library #3031
  • Worked on the issue Enhance the support for signed entity types with configuration #3030

Protocol maintenance

  • Completed the issue Cardano blocks and transaction import very slow in dev aggregators #3050
  • Worked on the issue Enhance protocol security page on website #2703
  • Worked on the issue Implement static build of Mithril nodes in CI #2989
  • Worked on the issue Test DMQ node 0.3.0 pre-release in Mithril nodes #3053
  • Worked on the issue Remove v1 backend for Cardano database in client library and CLI #3080
  • Worked on the issue Update Midnight ZK library audit status #2983
  • Worked on the issue Update release process to anticipate on unreleased Cardano node #3070

Consensus Team Update

· 3 min read
Damian Nadales
Consensus Team Lead

High level summary

  • Continued Leios prototype development (Treasury Funding Initiative 4: Ouroboros Leios Implementation):
    • Implemented a run-threadnet CLI that allows configuring, running, and observing simulated Cardano networks (#1883). This tool enables the team to quickly test multi-node setups locally, significantly speeding up the investigation of implementation issues.
    • Drafted a baseline design for the Leios fetch logic with bounded memory usage (ouroboros-leios#797, ouroboros-leios#811). The design addresses the challenge of efficiently fetching and managing large volumes of data in Leios while keeping resource usage within practical limits. Work continues in March with an exploration of alternative storage strategies to further improve performance.
  • Peras development:
    • Added state-machine tests for the Peras vote database, strengthening the guarantees around the correctness of the voting mechanism (#1809).
  • Node improvements (Treasury Funding Initiative 17: Maintenance and Support):
    • Updated the Node-to-Client protocol to version 23, unlocking new queries for wallets and other tools that interact with the node (#1860).
    • Made it easier for developers to target the current era when querying the node (#1919).
    • Improved observability of chain selection by exposing the reasons behind chain switches (#1898).
    • Integrated a ledger fix for a bug in the Plutus script context (#1914).
  • Repository and tooling (Treasury Funding Initiative 17: Maintenance and Support):
    • Unified all consensus packages into a single package, simplifying the dependency landscape for downstream projects (#1895, #1912).
    • Enhanced the snapshot converter tool with a daemon mode that watches for new ledger snapshots and automatically converts them, useful for node operators managing different storage backends (#1887).
    • Added developer documentation for inspecting a node's chain (#1913).
  • Testing and quality (Treasury Funding Initiative 17: Maintenance and Support):
    • Generalized Genesis tests to support any block type, paving the way for conformance testing with real Cardano blocks (#1879).
    • Added support for GHC 9.14 (#1902).
    • Internal cleanup of chain selection and ledger database code (#1880).

Mithril Team Update

· 4 min read
Jean-Philippe Raynaud
Mithril Tech Lead

High level overview

This week, the Mithril team continued implementing new succinct proofs. The team completed the SNARK pre-aggregation primitives in the STM library, began preparing the SNARK prover witness, and continued adapting the certificate chain for SNARK aggregate verification key. They also made significant progress on the SNARK circuit refactoring, completing the error handling and type consistency tasks while continuing work on decoupling the Midnight library and aligning naming. In addition, they refactored the prototype recursive circuit's state transition functions and continued the full review of the recursive circuit prototype, the technical report for the recursive Halo2 circuit, and the impact assessment of SNARK on Mithril protocol security.

The team also continued work on the new certification for Cardano blocks and transactions, including the prover and the client library implementation. They completed the integration of Mithril explainers into the Cardano Developer Portal website and continued work on static builds for Mithril nodes.

Finally, they fixed a slowness issue affecting the import of Cardano blocks and transactions on dev aggregators, improved the DMQ node setup documentation, and tested the DMQ node 0.3.0 pre-release.

Low level overview

Features

  • Completed the issue SNARK pre-aggregation primitives in STM library - Phase 2 #2943
  • Completed the issue Refactor SNARK circuit - Error handling #3035
  • Completed the issue Refactor SNARK circuit - Type consistency #3036
  • Completed the issue Refactor SNARK circuit - Midnight library decoupling #3037
  • Completed the issue Refactor the prototype recursive circuit state transition functions #3069
  • Completed the issue Integrate Mithril into the Cardano developer documentation website #3012
  • Worked on the issue Full review of recursive SNARK circuit prototype #2982
  • Worked on the issue Prepare technical report for recursive Halo2 circuit #2981
  • Worked on the issue Impact of SNARK on Mithril protocol security #2803
  • Worked on the issue SNARK aggregation primitives: Prepare prover witness #2887
  • Worked on the issue Refactor SNARK circuit - Naming alignment #3038
  • Worked on the issue Adapt certificate chain to support SNARK AVK #2811
  • Worked on the issue Compute the Lottery Target Value in MerkleTreeSnarkLeaf #3068
  • Worked on the issue Implement new prover for Cardano Blocks and Transactions #2987
  • Worked on the issue Implement Cardano Blocks and Transactions in client library #3031
  • Worked on the issue Implement static build of Mithril nodes in CI #2989

Protocol maintenance

  • Completed the issue Improve DMQ node setup documentation #3062
  • Completed the issue Prepare upgrade to Rust 1.94.0 #3061
  • Worked on the issue Cardano blocks and transaction import very slow in dev aggregators #3050
  • Worked on the issue Enhance protocol security page on website #2703
  • Worked on the issue Test DMQ node 0.3.0 pre-release in Mithril nodes #3053
  • Worked on the issue Remove v1 backend for Cardano database in client library and CLI #3080