A Python implementation of correct-by-construction consensus protocols, including Casper the Friendly Ghost for blockchain.
Casper CBC is a Python implementation of correct-by-construction consensus protocols, including Casper the Friendly Ghost for blockchain consensus. It provides a simulation framework for experimenting with these protocols, which are designed to achieve safety and liveness in distributed systems with Byzantine faults.
Researchers and developers working on distributed systems, blockchain consensus, or Byzantine fault tolerance who need a flexible tool for protocol simulation and analysis.
It offers a practical, open-source implementation of cutting-edge CBC consensus protocols from Ethereum research, with configurable simulations and visualizations to understand protocol behavior without deploying a full network.
Casper CBC is a Python implementation of a class of 'correct-by-construction' (CBC) consensus protocols, which includes Casper the Friendly Ghost for blockchain consensus and Casper the Friendly Binary Consensus Protocol. It provides a framework for simulating and experimenting with these protocols, which are designed to achieve safety and liveness guarantees in distributed systems.
The project emphasizes a correct-by-construction approach to consensus protocol design, ensuring safety properties are inherently guaranteed through the protocol's structure rather than added as an afterthought.
Supports binary, blockchain, concurrent, integer, order, and sharding consensus types, allowing diverse experimentation without rewriting code, as shown in the make run commands.
Offers rand, rrob, and full propagation modes to model different network behaviors, enabling detailed analysis of protocol dynamics under various conditions.
Automatically generates graphs and GIFs of simulation results saved in graphs/, helping researchers visually analyze consensus behavior without extra setup.
Based on Ethereum's correct-by-construction consensus papers, providing a practical, open-source tool for cutting-edge protocol experimentation and validation.
Explicitly warned as pre v1.0 with significant breaking changes expected, making it unreliable for long-term or production use, as stated in the README warning.
Specs are moving targets and deviate from implementation, with key sections like 'Write Simulations' marked 'COMING SOON', hindering advanced or independent usage.
Requires specific OS dependencies (e.g., python3-dev on Ubuntu) and makefile usage, which can be a barrier for users on non-supported platforms or those new to Python environments.
Collection of comprehensive TypeScript libraries for Interaction with the Ethereum JSON RPC API and utility functions.
This repository serves as a collection of code related to specific Ethereum research questions, primarily authored by Vitalik Buterin. It focuses on practical implementations and explorations rather than being a general repository for academic papers. The repository includes a dedicated `papers` folder containing LaTeX files for various academic publications. ## Key Features - **Research Code** — Implementation code for specific Ethereum research questions and experiments - **Academic Papers** — LaTeX source files for published academic papers in the Ethereum domain - **Vitalik Buterin's Work** — Primary repository for research code written by Ethereum's co-founder - **MIT Licensed** — Open source code available under the permissive MIT license ## Philosophy The repository is maintained as-is without active support, focusing on sharing research implementations and academic paper sources rather than providing production-ready tools or ongoing maintenance.
Casper contract, and related software and tests
zkSNARKS tutorial
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.