LoginSignup
1
0

BCASim(Blockchain Attack Simulator):ブロックチェーンシミュレータを作成してみた!

Last updated at Posted at 2023-06-03

BCASim(Blockchain Attack Simulator):ブロックチェーンシミュレータ

BCASimはオープンソースのブロックチェーンシミュレータです。利用者はノードの動作シナリオとプロトコル特性を柔軟にカスタマイズすることができます。このカスタマイズによって、Double spending attack, Selfish mining, Sybil Attackなどを扱うことができます。

Github:BCASim(Blockchain Attack Simulator)
Animation.gif

特徴

  • ノードの動作シナリオのカスタマイズ機能。
  • 攻撃の再現に必要なブロックチェーンのデータ構造の再現。
  • 合意形成や難易度調節、フォークチョイスルールなどの追加。
  • ネットワーク構造とブロックチェーン構造の可視化。

クイックスタート

$ 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/kota/bcasim/main/Main.java

利用方法の詳細

詳細はドキュメントを確認ください。
シミュレーションパラメータや攻撃シナリオのカスタマイズ方法についてまとめています。
English document
日本語ドキュメント

実験例

以下はシミュレータを利用して行った実験の例です。画像の実線は理論値、バツはシミュレーション結果をプロットしています。左はDouble Spending Attackの攻撃成功確率を対象にした実験です。右はSelfish Miningノードのブロック生成割合を対象にした実験です。

Double Spending Attack Selfish Mining
plot1.png plot2.png

デモ動画

BCASimのシミュレーション結果を可視化したデモです。このデモは関連プロジェクトであるBCASim Visualizationツールによって実現されています。


Animation1.gif

BCASimの関連プロジェクト

  • BCASim - 攻撃分析のためのブロックチェーンシミュレータ
  • BCASim Visualization - BCASimのシミュレーション結果の可視化ツール

著者

質問や意見などがございましたらこちらまでお気軽にご連絡ください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0