Skip to main content

Mithril Team Update

· 3 min read
Jean-Philippe Raynaud
Mithril Tech Lead

High level overview

This week, the Mithril team kept focusing on the SNARK-friendly STM library, completing the Schnorr signature scheme and modules reorganization, and implementing some wrappers for the Jubjub backend. They also progressed on specifying the non-recursive SNARK circuit, assessing constraints on Halo2 verification keys, prototyping the recursive SNARK solution, and prototyping the Bitcoin DeFi prover with RISC Zero.

Additionally, they continued implementing a simple aggregator discovery mechanism, worked on improvements to the protocol security page, and completed enhancements to the end-to-end tests to better support the introduction of new features and improve the reliability of the backward-compatibility test.

Finally, they worked on the second phase of the common aggregator client implementation and kept upgrading to Cardano node v.10.6.

Low level overview

Features

  • Completed the issue Implement Schnorr signature scheme in STM #2756
  • Completed the issue Re-organize modules of STM library #2793
  • Worked on the issue Implement a simple aggregator discovery mechanism #2726
  • Worked on the issue Experimental blst-Jubjub #2772
  • Worked on the issue Compute the IVC state with SHA256 in the recursive circuit #2806
  • Worked on the issue Document recursive SNARK solution #2767
  • Worked on the issue Prepare specifications for the Mithril circuit #2797
  • Worked on the issue Implement Jubjub/Poseidon backends wrappers in Schnorr signature scheme #2817
  • Worked on the issue Assess constraints on Halo2 circuit verification #2799
  • Worked on the issue Feasibility of Bitcoin Defi usecase #2818
  • Worked on the issue Update protocol parameters to SNARK friendly values #2813
  • Worked on the issue Proposals for Mithril/DMQ as optout feature of Cardano #2831

Protocol maintenance

  • Completed the issue Certification stopped on mainnet and preview network #2805
  • Completed the issue Enhance e2e test to support the introduction of new features #2781
  • Completed the issue Enhance reliability of backward compatibility test #2760
  • Completed the issue Stabilize Cardano DB v2 client CLI/library - Phase 4 #2758
  • Completed the issue Revise expiration delays for signed entity types #2826
  • Worked on the issue Enhance protocol security page on website #2703
  • Worked on the issue Upgrade to Cardano 10.6 #2790
  • Worked on the issue Implement a common aggregator client - Phase 2 #2827

System Test Team Update

· 2 min read
Martin Kourim
System Test Engineer

High-level summary

  • Release testing: Node 10.5.2, 10.5.3, 10.6.0, and 10.6.1.
  • Development: Ongoing testing framework improvements.
  • Maintenance: Analysis and fixes for nightly job failures.

Low-level overview

Release testing

We tested the 10.5 point releases. These contained only bug fixes, so previous test coverage largely applied. We focused on regression testing on local testnets and found no issues.

We also tested the 10.6.0 and 10.6.1 releases and produced a test report. During testing we found and reported two issues:

  • BUGcardano-cli queries hang indefinitely with the V1LMDB backend: issue #1787
  • BUGObsoleteNode and no blocks forged on PV11: issue #6382

Our Node build test also uncovered an issue in the build documentation, and we submitted a fix PR.

Development

Over the past two weeks, we enabled testing for Node 10.6. We updated our testnet setup for the new Dijkstra genesis file and disabled legacy and mixed topologies, as legacy topology is no longer supported in 10.6.

We also improved our test framework by adding timeouts for key operations:

  • Obtaining a testnet cluster instance
  • Calling cardano-cli
  • Entire test run
  • Network requests

Issue #1787 caused tests to hang indefinitely on cardano-cli commands, so adding these timeouts was essential.

Maintenance

We continued analyzing and fixing nightly job failures. We are currently maintaining a 100% success rate with no flaky tests.

Consensus Team Update

· One min read
Damian Nadales
Consensus Team Lead

High level summary

  • Participated in the November 2025 incident response, providing analysis on potential intervention scenarios and tracking chain progression metrics.
  • Merged documentation of the Leios Protocol Burst attack threat model (ouroboros-leios#624), strengthening the protocol's security foundation ahead of load testing and mitigation strategy development.
  • Continued preparation for the Leios November demo, with significant progress on observability infrastructure using Grafana and Prometheus (#1766), and demo packaging to streamline deployment (#1759). Both tasks are expected to be completed by end of week.

Mithril Team Update

· 3 min read
Jean-Philippe Raynaud
Mithril Tech Lead

High level overview

This week, the Mithril team focused on the SNARK-friendly STM library, completing its architecture design, refactoring error handling, and implementing the Schnorr signature scheme. They also made good progress preparing the specifications for the non-recursive SNARK circuit, prototyping the recursive SNARK solution, and experimenting with a Jubjub curve implementation in the BLST library.

Additionally, they continued implementing a simple aggregator discovery mechanism, worked on improvements to the protocol security page, and enhanced the end-to-end tests to better support the introduction of new features.

Finally, they fixed an incident with certification that stopped on mainnet and preview networks, and started upgrading to Cardano node v.10.6.

Low level overview

Features

  • Completed the issue Architecture of the SNARK-friendly STM library #2763
  • Completed the issue Refactor error handling in STM library #2764
  • Completed the issue Test Haskell DMQ node message authentication (KES signature) #2786
  • Completed the issue Investigate Midnight-zk overhead #2768
  • Worked on the issue Implement a simple aggregator discovery mechanism #2726
  • Worked on the issue Implement Schnorr signature scheme in STM #2756
  • Worked on the issue Experimental blst-Jubjub #2772
  • Worked on the issue Re-organize modules of STM library #2793
  • Worked on the issue Compute the IVC state with SHA256 in the recursive circuit #2806
  • Worked on the issue Document recursive SNARK solution #2767
  • Worked on the issue Prepare specifications for the Mithril circuit #2797

Protocol maintenance

  • Completed the issue Support optional cardano_transactions_signing_config #2780
  • Worked on the issue Certification stopped on mainnet and preview network #2805
  • Worked on the issue Enhance protocol security page on website #2703
  • Worked on the issue Enhance e2e test to support the introduction of new features #2781
  • Worked on the issue Enhance reliability of backward compatibility test #2760
  • Worked on the issue Upgrade to Cardano 10.6 #2790

Network Team Update

· 3 min read
Marcin Szamotulski
Network Team Lead
Marcin Wójtowicz
Network Engineer

Overview of spint 100 and 101

Cardano Incident

On November 12th, Cardano experienced a fork due to a bug in ledger (de-)serialisation. Some nodes accepted an invalid tx, while others rejected it, leading to a fork of the chain.

The network team worked closely with the other Cadano teams, Intersect, Cardano Foundation, Emurgo, and stake pool operators to monitor and resolve the incident.

The network layer was not affected by the incident, and its resiliency played a role in the recovery of the network. We identified some areas that can further improve the network layer's robustness in such situations, and we'll be working on addressing these issues.

Churn Mitigation

We rolled out a churn mitigation included in the latest cardano-node-10.5 and 10.6 releases. This change ensures the speed of churn of hot peers is at least the speed of churn for established peers, and the speed of churn of the established peers is at least the speed of churn of known peers. This way, we avoid a situation where, over a long period of time, established peers will accumulate already tried hot peers, and cold peers will accumulate already tried established peers. See #5238 for more details.

The issue was identified using CF's cardano-ignite tool, with analysis provided by Karl Knutsson.

DMQ-Node

We are initiating a public repository for dmq-node to host its codebase.

We removed the KES evolution configuration; as a consequence, the genesis file option is no longer needed in the configuration of dmq-node, see #5244.

Ouroboros Leios development

Leios Demo

We have contributed improvements to consensus team's Leios demo, which includes minimal prototypes of a few miniprotocols and a simple network emulation layer for exchanging data between a leios server and patched cardano nodes. Our updates addressed unrealistic results obtained stemming from the use of a program toxiproxy for modeling bandwidth and delays. We have also improved our packet capture tooling and gathered some preliminary data for analysis. Based on this early investigation, we have identified a few areas where non-trivial changes may have to be made to the network stack to support the new protocol, as well as new features which could be introduced to deal with greatly expanded traffic requirements, while maintaining the base Praos protocol timeliness guarantees. More details about this were provided at the recent November Leios demo presentation, and further work will continue along these lines.

Server-side re-ordering for a request-response mini-protocol

It is a requirement of Leios to support Frishest-First delivery. For that purpose we started to work on a prototype implementationof a request-response mini-protocol which allows for server side re-ordering while maintaining typed-protocols safety guarantees of deadlock & live-lock freedom.

Peer Selection Improvements

Refined peer selection for local root peers behind firewalls: instead of polling, it now waits for incoming connections and reuses them outbound. See #5241 for details.