Bcasim
Blockchain Attack Simulator (BCASim) is an Open Source Blockchain Simulator for Attack Analysis
Install / Use
/learn @bcasim/BcasimREADME
BCASim: Blockchain Attack Simulator
BCASim is an open-source blockchain simulator for attack analysis. Users can freely customize node operations and protocol specifications to simulate various scenarios, such as Double Spending Attacks, Selfish Mining, and Sybil Attacks. <br> <br>
<div align="center"><img src="https://github.com/bcasim/bcasim/blob/main/pic/large-network.gif" width="90%"/></div> <br>Main Features
- Customizable Scenarios: Flexible configuration of node operation scenarios.
- Realistic Data Structure: Replicates the blockchain data structure required to simulate attacks.
- Protocol Implementation: Includes consensus building, difficulty adjustment, and fork choice rules.
- Visualization: Visualizes both the network topology and the blockchain structure.
Quick Start
Prerequisites
- Java (version 1.8+)
- Apache Maven (version 3.6.3)
Installation & Usage
$ git clone https://github.com/bcasim/bcasim
$ cd bcasim
$ mvn clean package
$ java -cp target/bcasim-0.0.1-SNAPSHOT.jar jp.kota.bcasim.main.Main
For more detail
See the usage document page. <br> It summarizes how to customize simulation parameters and attack scenarios. <br>
Experimental example
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|
|---|---|
|
|
|
Demo
This is a demo that visualizes the simulation results of BCASim. <br>
Other BCASim projects
- BCASim - Open source blockchain simulator for attack analysis
- BCASim Visualization - Simulation result visualization tool for BCASim
Authors
If you have any questions or comments, please feel free to contact us.
- bigmakiinum@outlook.jp
- https://github.com/resoto
License
BCASim is released under the terms of the Apache License, Version 2.0. <br> Please refer to the COPYING file.
<div align="center"> <img src="https://komarev.com/ghpvc/?username=bcasim&style=flat-square&color=blue" alt="visitors" /> </div>