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.