corda/experimental/avalanche
Dominic Fox 0b63157a4b ENT-3422 Add JUnit 5 dependencies to all projects (#5084)
* ENT-3422 Add JUnit 5 dependencies to all projects

* Remove explicit junit 4 imports where not needed

* Minor PR fixes

* Limit import scope
2019-05-15 16:40:12 +01:00
..
images Add simulation of the avalanche consensus protocol to experimental (#3283) 2018-06-04 13:33:34 +01:00
src/main/kotlin/net/corda/avalanche Add simulation of the avalanche consensus protocol to experimental (#3283) 2018-06-04 13:33:34 +01:00
build.gradle ENT-3422 Add JUnit 5 dependencies to all projects (#5084) 2019-05-15 16:40:12 +01:00
Readme.md Add simulation of the avalanche consensus protocol to experimental (#3283) 2018-06-04 13:33:34 +01:00

Avalanche Simulation

Experimental simulation of the Avalanche protocol by Team Rocket. This implementation is incomplete.

The paper: Snowflake to Avalanche: A Novel Metastable Consensus Protocol Family for Cryptocurrencies.

Running the Simulation

./gradlew shadowJar
java -jar build/libs/avalanche-all.jar --dump-dags

Visualising the DAGs

for f in node-0-*.dot; do dot -Tpng -O $f; done

The above command generates a number of PNG files node-0-*.png, showing the evolution of the DAG. The nodes are labeled with the ID of the spent state, the chit and confidence values. The prefered transaction of a conflict set is labelled with a star. Accepted transactions are blue.

DAG