A Coq implementation of a minimalistic blockchain-based consensus protocol.
Building the Project
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
make clean; make from the root folder. This will build all
the libraries and check all the proofs.
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-- properties that might or might not hold, as were verified out of many optimistically assumed axioms at the beginning of the project.