Skip to content

A minimalistic blockchain consensus implemented and verified in Coq

License

Notifications You must be signed in to change notification settings

spitters/toychain

 
 

Repository files navigation

Toychain

Build Status

A Coq implementation of a minimalistic blockchain-based consensus protocol.

Building the Project

Requirements

Building

We recommend installing the requirements via OPAM:

opam repo add coq-released https://coq.inria.fr/opam/released
opam install coq-mathcomp-ssreflect coq-fcsl-pcm

Then, run make clean; make from the root folder. This will build all the libraries and check all the proofs.

Project Structure

The top-level structure consists of the following folders:

  • Structures - implementations of block forests and chain properties;

  • Systems - definition of the protocol, its state, and network semantics;

  • Properties - proved properties of the protocol, e.g., eventual consistency for a clique-like network topology;

Obsolete development

  • Obsolete -- properties that might or might not hold, as were verified out of many optimistically assumed axioms at the beginning of the project.

About

A minimalistic blockchain consensus implemented and verified in Coq

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Coq 99.3%
  • Other 0.7%