BCASim is open sorce blockchain simulator for attack analysis. The user can freely change the node operation and protocol specifications. For example Double spending attack, Selfish mining, Sybil Attack.
- Customization function of node operation scenario.
- Reproduction of the blockchain data structure required to reproduce the attack.
- Addition of consensus building, difficulty adjustment, fork choice rules, etc.
- Visualization of network structure and blockchain structure.
- java (version 1.7+ )
- Apache Maven (varsion 3.6.3)
$ git clone https://github.com/bcasim/bcasim
$ cd bcasim
$ mvn clean install
$ mvn compile
$ java -cp target/bcasim-0.0.1-SNAPSHOT.jar src/main/java/jp/ac/jaist/bcasim/main/Main.java
See the usage document page.
It summarizes how to customize simulation parameters and attack scenarios.
The following is an example of an experiment conducted using a simulator. The solid line in the image plots the theoretical value, and the cross plots the simulation result. The left is an experiment targeting the attack success probability of Double Spending Attack. The right is an experiment targeting the block generation ratio of the Selfish Mining node.
Double Spending Attack | Selfish Mining |
---|---|
This is a demo that visualizes the simulation results of BCASim.
- BCASim - Open source blockchain simulator for attack analysis
- BCASim Visualization - Simulation result visualization tool for BCASim
If you have any questions or comments, please feel free to contact us.
BCASim is released under the terms of the Apache License, Version 2.0.
Please refer to the COPYING file.