Ledger Team Update
High level summary
This period Ledger has progressed on Nested Transaction by implementing one more Ledger rule. We've
also integrated our new testing library AntiGen into Ledger, which allows us to preform negative
property testing on our decoders against CDDL specification, consequently improving confidence in
the quality of our binary decoders now and for future eras. We've also progressed on Canonical
Ledger State by adding one more namespace. Major milestone was releasing of all Ledger packages to
CHaP for the upcoming cardano-node-10.7 release, which has all the features in it for the upcoming
intra-era hard fork to protocol version 11.
Low level summary
Features
- PR-5532 - Remove default implementation for the DecCBOR class
- PR-5612 - Introduce gov/proposals/v0 namespace
- PR-5611 - Use IPv4 and IPv6 from cardano-base instead of iproute
- PR-5608 - SUBUTXOW implementation
- PR-5627 - Remove redundant UTXO predicate failures
- PR-5629 - Remove default implementation of
fromPlutusDatainToPlutusDatatypeclass - PR-5645 - Add
PlutusV4toAlonzoScriptdecoder
Testing
- PR-5568 - Add
AntiGentests toConwayCDDL - PR-5628 - Implement custom
ToExprinstance forMismatchdatatype. - PR-5620 - Update formal-ledger-spec and enable Utxos conformance tests
Infrastructure and releasing
Mithril Team Update
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
devaggregators #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.0pre-release in Mithril nodes #3053 - Worked on the issue Remove
v1backend 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
SRE Team Update
High level summary
The SRE team continues work on Cardano environment improvements and general maintenance.
Some notable recent changes, updates or improvements include:
-
Preparation for
10.7.0pre-release is underway and SRE is working on integrations forkes-agentanddmq-nodefor the release binaries, node nixos service and OCI containers as appropriate. CI tests for Consensus db-tooling (ie: db-analyser, db-truncater, db-synthesizer) are being added to a nixos test run on Hydra to ensure bundled node version and db-tools version maintain compatibility. -
Iterative deployments of
10.7.0pre-release candidates to select pre-release environments are on-going with issues being reported back to developers. -
Darwin CI build machine updates are underway along with some optimizations and fixes to reduce flaky Darwin platform bugs and noisy alerts as well as a refactor to reduce code complexity. A number of these improvements will appear in the next SRE biweekly update.
-
Loki logging has been added to more of our cardano-parts environments (ie: cardano-playground and cardano-mainnet). Custom Loki dashboards are also being prepared to improve the Loki experience and will appear in the next cardano-parts PR.
Repository Work -- Merged
Cardano-monitoring
- Adds Loki to
playground,mainnetandnetworkteammonitoring servers - Raises
max_outstanding_per_tenantto accommodate large dashboards w/o errors
- Adjusts Loki log retention to a per-environment setting
Devx-ci
- Increases nofile soft/hard limit to avoid failures on higher nofile requirement builds like virtiofs virtualized images
Repository Work In Progress -- PRs and Branches
- Cardano-mainnet: https://github.com/input-output-hk/cardano-mainnet/pull/42
- Cardano-node: https://github.com/IntersectMBO/cardano-node/pull/6410
- Cardano-parts: https://github.com/input-output-hk/cardano-parts/pull/79
- Cardano-playground: https://github.com/input-output-hk/cardano-playground/pull/55
- Devx-ci: https://github.com/input-output-hk/devx-ci/pull/143
Consensus Team Update
High level summary
- Continued Leios prototype development (Treasury Funding Initiative 4: Ouroboros Leios Implementation):
- Implemented a
run-threadnetCLI 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.
- Implemented a
- 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):




