BCASim(Blockchain Attack Simulator):ブロックチェーンシミュレータ
BCASimはオープンソースのブロックチェーンシミュレータです。利用者はノードの動作シナリオとプロトコル特性を柔軟にカスタマイズすることができます。このカスタマイズによって、Double spending attack, Selfish mining, Sybil Attackなどを扱うことができます。
・Github:BCASim(Blockchain Attack Simulator)
特徴
- ノードの動作シナリオのカスタマイズ機能。
- 攻撃の再現に必要なブロックチェーンのデータ構造の再現。
- 合意形成や難易度調節、フォークチョイスルールなどの追加。
- ネットワーク構造とブロックチェーン構造の可視化。
クイックスタート
$ 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 |
---|---|
デモ動画
BCASimのシミュレーション結果を可視化したデモです。このデモは関連プロジェクトであるBCASim Visualizationツールによって実現されています。
BCASimの関連プロジェクト
- BCASim - 攻撃分析のためのブロックチェーンシミュレータ
- BCASim Visualization - BCASimのシミュレーション結果の可視化ツール
著者
質問や意見などがございましたらこちらまでお気軽にご連絡ください。