Mithril is a research project which goal is to provide Stake-based Threshold Multisignatures on top of the Cardano Network.
In a nutshell, Mithril can be summarized as:
A protocol that allows stakeholders in a Proof-of-Stake blockchain network to individually sign messages that are aggregated into a multi signature which guarantees that they represent a minimum share of the total stakes.
In other words, an adversarial participant with less than this share of the total stakes will not be able to produce valid multi signatures 🔐.
We have worked on a first implementation of the protocol with the Mithril Network which goal is to provide a way to bootstrap fast a fully operating Cardano Node, in less than 4 hours , whereas it used to take days before.
⚠️ ⚠️ ⚠️ Mithril is currently a work in progress and is still a prototype.
It is NOT yet ready for production and mainnet.
🆕 Get access to tutorials, user manual, guides and plenty of documentation on our brand new website!
Our wiki is also available here
This repository is sliced in the following parts:
-
Protocol Demonstration: a simple cli that helps understand how the Mithril protocol works and the role of its protocol parameters.
-
Mithril Aggregator: the node of the Mithril Network responsible for collecting individual signatures from the Mithril Signers and aggregate them into a multisignature. The Mithril Aggregator uses this ability to provide certified snapshots of the Cardano blockchain.
-
Mithril Client: the node of the Mithril Network responsible for restoring the Cardano blockchain on an empty node from a certified snapshot.
-
Mithril Common: this is the common library that is used by the Mithril Network nodes.
-
Mithril STM: the core library that implements Mithril protocol cryptographic engine.
-
Mithril Explorer: the explorer website that connects to a Mithril Aggregator and displays its Certificate Chain.
-
Mithril Infra: the infrastructure used to host a Mithril Aggregator in the cloud.
-
Mithril Signer: the node of the Mithril Network responsible for producing individual signatures that are collected and aggregated by the Mithril Aggregator.
-
Mithril Test Lab: the suite of tools that allow us to test and stress the Mithril protocol implementations.
-
Mithril Devnet: the private Mithril/Cardano Network that we use to scaffold a Mithril Network on top of a Cardano Network.
-
Mithril End To End: the tool that we use to run tests scenari against a Mithril Devnet.
-
The best way to contribute right now is to provide feedback. Start by giving a look at our documentation.
Should you have any questions, ideas or issues, we would like to hear from you:
- #moria on the IOG Discord server
- Create a GitHub Discussion
- Create a GitHub Issue
- Ask on Cardano StackExchange using the
mithril
tag
When contributing to this project and interacting with others, please follow our Code of Conduct and our Contributing Guidelines.