corda/experimental/avalanche
Chris Rankin b9f7c1a08a CORDA-2893, ENT-3422: Tweak JUnit 5 configurations to keep vintage engine off compile classpaths. (#5138)
* Tweak JUnit 5 configurations to keep vintage engine off compile classpaths.

* Configure Gradle tests to use JUnit 5.
2019-05-20 11:57:56 +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 CORDA-2893, ENT-3422: Tweak JUnit 5 configurations to keep vintage engine off compile classpaths. (#5138) 2019-05-20 11:57:56 +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