This repository contains a formal Blockchain Simulator created using a stochastic process algebra called CARMA (short for Collective Adaptive Resoruce-sharing Markovian Agents). The project was written as an Engineering and Physical Research Council sponsored research student at the University of Edinburgh School of Informatics, and whilst supervised by Jane Hillston, who is the Head of the School of Informatics and Chair of Quantitative modelling. She is also the creator of stochastic process calculi, such as PEPA, Bio-PEPA, CARMA, ProPPA and others.
The dir src contains two files:
- a .carma file, and
- an autogenerated .java file
The .carma is the formal specification of the blockchain network, and the .java is the incrementally autogenerated java source code required to run the simulations on your machine.