Coder Social home page Coder Social logo

brouwerq / mithril Goto Github PK

View Code? Open in Web Editor NEW

This project forked from input-output-hk/mithril

0.0 0.0 0.0 346.42 MB

Stake-based threshold multi-signatures protocol

Home Page: https://mithril.network

License: Apache License 2.0

Shell 2.83% JavaScript 3.29% Rust 91.64% CSS 0.05% Nix 0.19% Makefile 0.32% HTML 0.02% HCL 1.41% Dockerfile 0.26%

mithril's Introduction

Mithril ๐Ÿ›ก๏ธ

โ˜€๏ธ Introduction

Mithril is a research project the goal of which is to provide stake-based threshold multi-signatures(STM) on top of the Cardano network.

In a nutshell, Mithril can be summarized as:

A protocol that enables stakeholders in a proof-of-stake (PoS) blockchain network to individually sign messages, which are then aggregated into a multi-signature, guaranteeing that they represent a minimum share of the total stake.

In other words, an adversarial participant with less than this share of the total stake will be unable to produce valid multi-signatures. ๐Ÿ”.

The goal of the first implementation of the Mithril network protocol is to provide a way to fast bootstrap a fully operating Cardano node in less than two hours, compared to the days it used to take before.

To unleash the power of Mithril and leverage new use cases, we have also implemented a framework in the Mithril network that allows the certification of multiple types of data, provided they can be computed deterministically.

๐Ÿ›ก๏ธ Mainnet availability

๐Ÿšง Mithril is currently a work in progress, and is available in its beta version on mainnet.

It is NOT yet completely ready for production and Cardano mainnet.

๐Ÿš€ Getting started with Mithril

If you are a Cardano SPO, a good entry point is the SPO onboarding guide. Additionally, you can find detailed instructions for running a signer node in this guide.

If you are interested in fast bootstrapping of a Cardano node, please refer to this guide.

Get access to tutorials, user manual, guides and plenty of documentation on our website!

Mithril wiki is also available here.

๐Ÿ“ก Structure of the repository

This repository consists of the following parts:

  • Mithril aggregator: the node of the Mithril network responsible for collecting individual signatures from the Mithril signers and aggregating them into a multi-signature. The Mithril aggregator uses this ability to provide certified snapshots of the Cardano blockchain.

  • Mithril client: this is the client library that can be used by developers to interact with Mithril certified data in their applications.

  • Mithril client CLI: the CLI used for retrieving the certified artifacts produced by the Mithril network, eg the Cardano chain certified snapshots used to securely restore a Cardano node.

  • Mithril client WASM: the WASM compatible library used for retrieving the certified artifacts produced by the Mithril network.

  • Mithril common: this is the common library that is used by the Mithril network nodes.

  • Mithril persistence: the persistence 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 and artifacts.

  • Mithril infrastructure: the infrastructure used to power a Mithril network 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 used to scaffold a Mithril network on top of a Cardano network.

    • Mithril end to end: the tool used to run tests scenarios against a Mithril devnet.

  • Protocol demonstration: a simple CLI that helps understand how the Mithril protocol works and the role of its protocol parameters.

  • Examples: out of the box working examples to get familiar with Mithril.

๐ŸŒ‰ Contributing

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:

When contributing to this project and interacting with others, please follow our Code of Conduct and our Contributing Guidelines.

mithril's People

Contributors

36thchambersoftware avatar abailly-iohk avatar abakst avatar albertodvp avatar alenar avatar algurin avatar curiecrypt avatar danielmain avatar demonsh avatar dlachaume avatar falcucci avatar ghubertpalo avatar ilya-korotya avatar iquerejeta avatar jbgi avatar jldodds avatar jpraynaud avatar m10f avatar manveru avatar neilburgess42 avatar obrezhniev avatar olgahryniuk avatar proxiweb avatar sfauvel avatar spaceships avatar sviksha avatar trevorbenson avatar vmidyllic avatar yvan-sraka avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.