SkillAgentSearch skills...

Bcasim

Blockchain Attack Simulator (BCASim) is an Open Source Blockchain Simulator for Attack Analysis

Install / Use

/learn @bcasim/Bcasim

README

English | 日本語

<div align="center"><img src="https://github.com/bcasim/bcasim/blob/main/pic/logo.png" width="400"/></div>

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>

  1. Large Network - gif
  2. Selfish Mining - gif
  3. Double Spending Attack - gif
  4. Sybil Attack - gif

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>
View on GitHub
GitHub Stars17
CategoryDevelopment
Updated2mo ago
Forks4

Languages

Java

Security Score

95/100

Audited on Jan 4, 2026

No findings