Mithril nears mainnet release
Now in its final testing stages, Mithril is preparing for a mainnet launch. Dive in to recap what Mithril is, how it helps, and how to get involved
20 July 2023 5 mins read
Mithril is a stake-based signature scheme and a protocol that improves the speed and efficiency of nodes' syncing times. Mithril boosts node syncing time, offers security, and empowers decentralized decision-making. With Mithril, Cardano's network becomes more efficient, streamlined, and capable of supporting a wider range of applications and use cases.
Mithril's proof of concept was released in August 2022. In December, the team officially presented Mithril, revealing more about its benefits, applications, and roadmap. Mithril is now in the final testing stages before its mainnet release this summer.
This post recaps the Mithril protocol’s functionality, explains Mithril’s architecture, and offers ways to get involved.
Why Mithril?
Joining the thriving Cardano ecosystem means fueling its healthy growth. The network combines thousands of distributed nodes into a unified system, enabling seamless communication for sharing data on new blocks and transactions.
There are two ways to participate in the Cardano network:
- Run a full node, which requires downloading and validating a full copy of the blockchain (~100GB today)
- Run a lightweight client by accessing trusted third-party APIs.
Each node's synchronization demands time and specific software and storage prerequisites, while lightweight clients rely on third-party APIs.
But, what if we could have the best of both?
Changing the game with Mithril
Leveraging Mithril to quickly and efficiently bootstrap a full Cardano node is the first use case coming with the initial beta release on mainnet.
Mithril retrieves a snapshot of the current blockchain state boosting the syncing time for nodes while facilitating strong security settings. Watch this presentation from IO ScotFest to learn more about how Mithril provides light, fast, efficient, and secure node bootstrapping.
With Mithril’s evolution, DApp developers will be able to deploy light clients and mobile applications or streamline sidechain operations. Mithril will also empower stake-based voting applications and governance solutions, regardless of the protocol’s complexity. Secure and lightweight tally verification through Mithril signatures can simplify decentralized decision-making, providing verifiable outcomes.
Mithril’s evolution
The research paper ‘Mithril: Stake-based Threshold Multisignatures’ was published by IOG researchers in 2021, and this blog post discussed how the protocol acts as a stake-based threshold signature scheme allowing for transparent, secure, and lightweight stake leveraging.
After the release of Mithril’s proof of concept in 2022, the network has been supported and tested by a group of volunteer stake pool operators (SPOs). This testing stage allowed the team to deliver the signer, aggregator, and client nodes in fortnightly released distributions. The team also implemented the stake-based threshold multi-signature scheme and established the process for producing full node snapshot certificates by SPOs.
The Mithril network is now being tested in preview and pre-production testing environments, soon to be available as a beta version on mainnet.
Mithril has a high-level roadmap that includes the following releases:
- Mithril beta: mainnet protocol launched with a group of volunteer SPOs who assist with testing and prototyping.
- Mithril MVP (2023): an incentivized protocol with additional features to support basic use cases, such as fast bootstrapping and secure light wallets.
- Mithril (2024): a fully decentralized and self-sustaining Mithril ecosystem.
How it works: the architecture
The Mithril architecture comprises three main components: the aggregator, the signer, and the client. Together, they form a network of nodes that enhances the efficiency of bootstrapping a Cardano node.
Figure 1. Mithril network architecture
Mithril signer
The Mithril signer is a node that operates transparently on top of the SPO’s Cardano node/s. It works in conjunction with the Mithril aggregator and carries out the following tasks:
- Runs alongside the Cardano node to seamlessly integrate with the existing Cardano infrastructure.
- Generates new key pairs every epoch signed by KES keys. The verification keys are then broadcast to all other signers within the Mithril network.
- Periodically takes snapshots of the full state of the Cardano blockchain, specifically indexed by immutable DB file indices. It then signs these snapshots individually by using the Mithril cryptographic primitives, which ensures the integrity and authenticity of the ledger state.
Mithril aggregator
The Mithril aggregator is a trustless node responsible for coordinating the activities of the Mithril signer nodes. It operates alongside the Cardano node and performs several crucial functions:
- Provides the necessary cadence for the Mithril signer nodes to register their keys and participate in the snapshot signing process, ensuring proper synchronization and organization of the signing operations.
- Once the signer nodes individually sign the full state of the Cardano blockchain, the aggregator collects these signatures and combines them into Mithril multi-signatures using the Mithril cryptographic primitives. The aggregator uses these aggregated signatures to generate associated certificates.
- The aggregator takes charge of creating and storing the full Cardano database snapshot archive. This node is responsible for ensuring the availability and distribution of both the archive snapshots and the associated certificates to the clients that require them for node restoration.
Mithril client
The Mithril client is a node currently used for the restoration of a Cardano full node. The client interacts with the Mithril aggregator to retrieve essential components for node restoration:
- Contacts the Mithril aggregator to obtain a remote snapshot of the Cardano blockchain. Alongside the snapshot, it also retrieves the certificate chain associated with the snapshot.
To ensure the integrity and validity of the snapshot and certificate chain, the client employs the same Mithril cryptographic primitives used by the aggregator and signer to produce the multi-signatures. These cryptographic mechanisms enable the client to verify the authenticity of the retrieved components, thus facilitating a secure and reliable restoration process.
In future iterations, the client will be also used to verify any certificate generated by the protocol for the corresponding data.
Please note that the Mithril network architecture is a work in progress and subject to change. The development team is actively working on further decentralizing the architecture to enhance its robustness and security.
How to get involved?
Input Output Global (IOG) is now encouraging SPOs to join Mithril beta testing on mainnet!
To get started, join this Discord channel and engage in GitHub discussions. Finally, see Mithril documentation for more details about the network.
Recent posts
Input | Output chief scientist receives prestigious Lovelace computing award by Fergie Miller
3 December 2024
Delivering change in Ethiopia: lessons and reflections by Staff Writer
28 November 2024
Applying formal methods at Input | Output: real-world examples by James Chapman
26 November 2024