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.
- Activation of the certification of Cardano transactions in the
2434
(after the Chang hardfork):- Activation of the certification of Cardano transactions in the
release-mainnet
network.
- Activation of the certification of Cardano transactions in the
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.
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
Notable updates on our roadmap this month are:
- Completed incremental decommits, to be released separately as
0.18.0
after some remaining cleanup tasks and documentation updates - Release
0.19.0
will be incremental decommits and, depending on the hard-fork date of Cardano mainnet, switching to Conway on the Hydra L2 ledger (see March 2024 for more details) - Refined scope of "what is Hydra V1" through the Hydra working group
- Added SDK for wallet integration with Hydra #1509 to provide a better developer experience
- Decided to implement Directly open heads #1329 and Partial fanout to overcome our known issue & limitations and supersede several other ๐ญ ideas.
- Prioritized Optimistic head closure #198 higher based on user feedback.
- Declared React to protocol parameter changes #195 as not essential for a V1.
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.
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
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.