Skip to content

asonnino/mysticeti

 
 

Repository files navigation

Mysticeti

Mysticeti

build status rustc license

This repository provides reference implementations of several uncertified DAG-based consensus protocols. The codebase is designed to be small, modular, and easy to benchmark and modify. It is not intended for production use, but relies on real networking, cryptography, and a persistent storage. It also ships with a discrete-event simulator for exercising the protocols under custom network and failure scenarios.

This repository currently supports Mysticeti, Mahi-Mahi, Odontoceti, and Cordial Miners (both the partially synchronous and asynchronous variants).

Quick Start

To boot a local testbed of 4 replicas with a built-in load generator on your machine:

$ git clone https://github.com/asonnino/mysticeti.git
$ cd mysticeti
$ cargo run --release --bin replica -- local-testbed

The first build may take a few minutes. Each replica exposes Prometheus metrics on its own local port; press Ctrl-C to stop the testbed.

Next Steps

  • Code architecture — how the system is put together, from threading and storage to where cryptography sits on the hot path.
  • Simulator — driving the protocols through custom network, load, and failure scenarios with the discrete-event simulator.
  • Geo-replicated testbeds — a walkthrough for spinning up and benchmarking a distributed deployment on the cloud.

License

This software is licensed as Apache 2.0.

About

Mysticeti: Low-Latency DAG Consensus with Fast Commit Path

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 99.8%
  • Shell 0.2%