Skip to main content

July 2024

ยท 7 min read
Sebastian Nagel
Jean-Philippe Raynaud
Marek Mahut

This is a monthly report on the progress of ๐Ÿฒ Hydra and ๐Ÿ›ก Mithril projects since June 2024. This document serves as a preparation for and a written summary of the monthly stakeholder review meeting, which is announced on our Discord channels and held on Google Meet. This month, the meeting was held on 2024-07-22 using these slides and you can see the recording here.

Mithrilโ€‹

Issues and pull requests closed in July

Distributionsโ€‹

2423.0โ€‹

We have released the new Mithril distribution 2428.0. This distribution includes several critical updates and enhancements:

  • Support for Cardano node 9.0.0.
  • Database cleanup and optimization once per epoch.
  • Bug fixes and performance improvements.

Future distributionsโ€‹

We have planned to release two new distributions in August:

  • 2430 (before the Chang hardfork):
    • Activation of the certification of Cardano transactions in the release-preprod network.
    • Support for Cardano node 9.1.0 on all networks.
  • 2434 (after the Chang hardfork):
    • Activation of the certification of Cardano transactions in the release-mainnet network.

Protocol statusโ€‹

Here is the status of the Mithril protocol on the Cardano mainnet:

Transaction verification in Namiโ€‹

As Blockfrost now supports the Mithril endpoints within their API, they have presented an implementation example.

  • The demo shows transaction verification within the Nami light wallet (using Blockfrost as its backend).
  • This allows the light wallet user to verify that their transaction is on-chain with the high certainty provided by Mithril security.
  • While it is just an experimental implementation, it might be accepted by the Nami upstream in the future.

https://ipfs.io/ipfs/bafybeiayaxyr6b442sz22n4ag5hfwjjnym2bwd4rpdzha3stdhrkbhzxye?filename=demo_blockfrost_mithrill_support.mp4

Transaction certificationโ€‹

We have continued working on the implementation of the Cardano transaction certification with Mithril and are currently preparing for the rollout of this feature to production:

  • We are finalizing the minimization of the signer footprint on the SPO infrastructure.
  • We are preparing for activating the feature in the release-preprod network with the following release.
  • We are preparing thorough documentation about the mechanism used to certify the transactions
  • We have selected final parameters for signing the transactions:
    • 100 blocks from the tip of the chain (~30 minutes).
    • 30 blocks between snapshots certifying the transactions (~10 minutes).
    • With these parameters, we can consider the transactions final with very high probability.
    • These parameters are hot parameters that can be adjusted without requiring a new distribution

Decentralized Message Queue CIPโ€‹

We have been collaborating with the Cardano networking team to design a mechanism for implementing a decentralized message queue to decentralize the signature diffusion from Mithril signers to Mithril aggregators based on the Cardano network layer. The idea is to create a separate process for the decentralized message queue implementation:

  • A new dedicated process (aka "Mithril network node") based on the Ouroboros network stack
  • More efficient handling of resource consumption (network and CPU) and reduced impact on the Cardano node performance and availability
  • Enhanced security with no impact on the Cardano node
  • Different release pace for both nodes
  • Both nodes will be bundled in the Cardano node distribution release
  • A hard fork for SPO registration of the port of their Mithril network node is likely needed.

Hydraโ€‹

Issues and pull requests closed in July

The roadmap with features and ideas

Snapshot of the new roadmap with features and ideas

Notable updates on our roadmap this month are:

Incremental decommits completedโ€‹

This month we finally finished the implementation of the Incremental decommit #1057 feature.

As evident from the GitHub feature description, the number of comments and linked pull requests, this was a complex change.

Last month, we discussed why versioning the open state on-chain is necessary and the subsequent changes to the specification and implementation. After addressing these in hydra#1473 and in hydra#1474, a thorough review and requiring tests for all changes (compared to master) in hydra#1483 concluded in a last cleanup PR, which made the feature consistent in specification, implementation and documentation.

In the monthly review meeting we demonstrated the feature and the video below also shows how it works using a small extension to the hydra-tui:


Repository movedโ€‹

This month, the Hydra repository was moved to the cardano-scaling GitHub organization: https://github.com/cardano-scaling/hydra.

This allows for a more flexible use and sharing of GitHub runners between the main repository and for example hydra-explorer.

Docker registry changed ๐Ÿ‹

If you are using docker images of the hydra project, new releases will be available under ghcr.io/cardano-scaling/hydra-node

Most links should be automatically redirected, but if you encounter broken links, just reach out on Discord or create an issue ๐Ÿ™ https://github.com/cardano-scaling/hydra/issues/new/choose

New roadmap ๐Ÿ—บ

GitHub projects cannot be moved, so a copy of the Hydra roadmap was made and this version is used going forward: https://github.com/orgs/cardano-scaling/projects/7/views/1

Working group updatesโ€‹

There were two Hydra working group meetings this month and multiple people showed interest in joining. Current member list can be found in the charter and meeting notes of all meetings are kept in the repository too.

The working group started work on the first item "What is Hydra Head V1" and gathered valuable feedback in discussions between fellow layer 2 architects and Hydra users.

Notable inputs were the need for an SDK, wallet integration and the ability to operate without a full cardano-node, which got captured in hydra#1509 and hydra#1305 respectively. Even brand new ideas emerged from these discussions like "resumable Hydra heads".

The immediate goal is to achieve a common understanding of what must be included for a Hydra Head V1 and consequently when/how this could be audited?

Discussions also revolved around discoverability of Hydra heads, specifically, but also general interoperability with off-chain ledgers (any layer 2). In that regards, the group is considering to work on a CPS/CIP in the mid term.

Conclusionโ€‹

The monthly review meeting for July 2024 was held on 2024-07-22 via Google Meet, presenting these slides and this recording.

Despite the likely impact of summer breaks on attendance, it was great to have Blockfrost demonstrate their experiments using Mithril certificates delivered through Blockfrost in a forked Nami version. This demo clearly illustrates how light clients can benefit from Mithril verifiable transactions.

On the Hydra side, we are very pleased to have successfully merged and prepared the incremental decommits feature for release. Although this process took some time, it marks the first substantial feature not originally covered by the Hydra head paper, demonstrating the protocol's capacity to grow and meet user needs. We appreciate all the valuable input from the Hydra working group regarding the features we should develop next and are excited to see the growing community interest in Hydra's future.