Skip to main content

Consensus Team Update

· One min read
Damian Nadales
Consensus Team Lead

High level summary

  • Peras protocol development (Treasury Funding Initiative 17: Maintenance and Support):
    • Reviewed and merged the implementation of a model of the committee selection scheme, which defines how voters are chosen for Peras's fast-finality voting rounds (#1839).
    • Reviewed and merged the implementation of the node tracking Peras certificate progress on-chain, needed for the protocol's chain-selection rule (#1864).
  • Node improvements (Treasury Funding Initiative 17: Maintenance and Support):
    • Released ouroboros-consensus-1.0.0.0 (#1926).
    • Reworked internal resource management for ledger state access, improving node robustness (#1910).
    • Fixed a bug in the immutable DB's chunk enumeration logic which only affected test coverage (#1923).
    • Integrated the Networking team's ouroboros-network 1.0 release (#1918, #1927, #1929).

Mithril Team Update

· 4 min read
Jean-Philippe Raynaud
Mithril Tech Lead

High level overview

This week, the Mithril team completed several SNARK-related milestones: they finished implementing the Halo2 circuit in the STM library, completed work on SNARK aggregation primitives for creating and verifying SNARK proofs, and finalized circuit refactoring, including modularity enhancements and a switch to a transcript hash function. They also completed the technical report for the recursive Halo2 circuit. The team continued work on the full review of the recursive SNARK circuit prototype, the impact assessment of SNARK on Mithril protocol security, wiring the SNARK proof into the aggregate signature, and activating the SNARK prover in the dev networks.

They also completed implementing the new prover for Cardano blocks and transactions, the client library, and enhanced the signed entity type configuration. They continued progressing on the client CLI implementation, partial block range support, and usage examples for Cardano blocks and transactions. Additionally, they kept working on the release process improvements, the removal of the legacy Cardano database backend in the client, and the enhancement of the protocol security page on the website.

Finally, they completed static builds of Mithril nodes in CI, finalized testing of the DMQ node 0.3.0 pre-release, and updated the Midnight ZK library audit status.

Low level overview

Features

  • Completed the issue Implement Halo2 circuit in STM library #2895
  • Completed the issue Refactor SNARK circuit - Modularity enhancement with gadgets #3039
  • Completed the issue SNARK aggregation primitives: Create SNARK proof with circuit #3040
  • Completed the issue SNARK aggregation primitives: Verify SNARK proof #3041
  • Completed the issue Switch transcript hash function of circuit #3067
  • Completed the issue Prepare technical report for recursive Halo2 circuit #2981
  • Completed the issue Implement new prover for Cardano Blocks and Transactions #2987
  • Completed the issue Implement Cardano Blocks and Transactions in client library #3031
  • Completed the issue Enhance the support for signed entity types with configuration #3030
  • Worked on the issue Full review of recursive SNARK circuit prototype #2982
  • Worked on the issue Impact of SNARK on Mithril protocol security #2803
  • Worked on the issue SNARK aggregation primitives: Wire SNARK proof in aggregate signature #3042
  • Worked on the issue Activate SNARK prover in dev network #3104
  • Worked on the issue Implement Cardano Blocks and Transactions in client CLI #3032
  • Worked on the issue Support partial block range in Cardano blocks and transactions #3099
  • Worked on the issue Implement examples for Cardano Blocks and Transactions #3100

Protocol maintenance

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

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

Ledger Team Update

· 2 min read
Alexey Kuleshevich
Ledger Team Software Engineer

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 fromPlutusData in ToPlutusData typeclass
  • PR-5645 - Add PlutusV4 to AlonzoScript decoder

Testing

  • PR-5568 - Add AntiGen tests to Conway CDDL
  • PR-5628 - Implement custom ToExpr instance for Mismatch datatype.
  • PR-5620 - Update formal-ledger-spec and enable Utxos conformance tests

Infrastructure and releasing

  • PR-5615 - Bump markdown from 3.7 to 3.8.1 in /doc
  • PR-5624 - Bump cardano-ledger-alonzo-test package version
  • PR-5622 - Post-release CHANGELOG updates