Mithril proof of concept is now open-source
Mithril is a stake-based signature scheme that improves the speed and efficiency of syncing times for nodes joining the network. Find out how to get involved
29 August 2022 4 mins read
As Cardano scales, Input Output Global (IOG) engineering teams are working on a range of solutions to boost network performance. Mithril is one such solution, aiming to streamline the speed and efficiency of data synchronization between applications.
During July’s 360 show, Arnaud Bailly – IOG technical architect – shared a Mithril development update.
The importance of Mithril for Cardano operations
By running a Cardano node, users can interact with the Cardano blockchain in a trustless way. The network combines thousands of nodes into one unified system, where they communicate with other nodes to share information about new blocks and transactions.
Because each node holds a full copy of the blockchain, node synchronization takes time – each new node needs to download and verify each block. Daedalus, for example, is a full node wallet that downloads a full copy of the Cardano blockchain and independently validates every transaction in its history. This requires specific software and storage requirements, which also means that it requires more time to synchronize the chain state.
The goal of Mithril is to leverage the existing network to provide certified snapshots of all or part of the blockchain state. These snapshots can be useful in different ways. The IOG team has been working on a first use case to leverage Mithril to quickly and efficiently bootstrap a full Cardano node.
How does it work?
Mithril is based on the same concept of stake that powers the Ouroboros proof-of-stake consensus protocol. With Ouroboros, stakeholders are elected to produce blocks randomly with a chance proportional to the amount of stake they own or delegate. With Mithril, stakeholders can sign the current ledger state according to a lottery mechanism where a probability to contribute is also proportional to their stake. The signatures generated by the stakeholders are then combined, or aggregated, into a Mithril multi-signature, which can only be produced when a predefined threshold (quorum) of the total stake is contributed. Mithril relies on the uniqueness guarantees provided by underlying cryptographic primitives to secure the lottery process.
Mithril operates on top of the main ledger, which ensures no interference with mainnet operations, and as the signatures created are condensed, it requires minimal extra resources and bandwidth usage for the signing nodes.
The peculiarity of Mithril certificates is that they carry the same security properties as Cardano’s underlying protocol – Ouroboros. The security of Mithril relies primarily on the stake distribution of Cardano itself, without the need for a trusted setup. The Mithril network can achieve the highest level of security as long as all SPOs join the network.
Development timeline
IOG introduced Mithril during the 2021 Cardano Summit. Since then, the team has made steady development progress.
The team worked on the development of the Mithril Core library that implements the full feature cryptographic primitives of the Mithril protocol. They also worked on creating the Mithril Network, which is implemented on top of the Mithril Core library. In the current proof of concept (PoC) paradigm, it is composed of the following components:
- The Mithril Signer: the node that works transparently on top of the stake pool operator Cardano nodes and individually signs the ledger state.
- The Mithril Aggregator: the trusted node run by IOG that orchestrates the work of the Mithril Signer nodes and gathers their individual signatures to produce Mithril multi-signatures and their associated certificates. It is also in charge of creating and storing the ledger state snapshot archive.
- The Mithril Client: the node used to restore a full Cardano node by retrieving a remote snapshot and its certificate chain from a Mithril Aggregator, and by verifying snapshots validity thanks to the Mithril cryptographic primitives.
Currently, the team is at the final stages of Mithril Network optimization and testing in its first centralized version (ie running with an IOG-operated Mithril Aggregator). This phase will allow IOG engineers and researchers to work on the release of a more decentralized version of the Mithril Network on the Cardano mainnet (where stake pool operators will also be able to run Mithril Aggregators on their own). New use cases will be further added such as implementing Mithril in light clients and wallets.
The Mithril repository is now open-source. If you’re interested to find out more, see Mithril proof-of-concept documentation and join this Discord channel for more discussions.
This blog post has been prepared in cooperation with Arnaud Bailly and Jean-Philippe Raynaud.