A simulator for testing/verifying/benchmarking Byzantine Fault-Tolerant (BFT) protocols.
P.-L. Wang, T.-W. Chao, C.-C. Wu, and H.-C. Hsiao
To appear in the 52nd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN'22), June 2022.
npm i
node main.js
- Async BA
- PBFT
- VMware BA
- Algorand
- HotStuff BFT (with a naive view synchronizer)
- Libra BFT
- Partitioner: partition network
- VMware Static Attacker: static attacker for postponing VMware basic BA
- VMware Adaptive Attacker: adaptive attacker for postponing VMware VRF BA
Modify config.js
to adjust the network environment, BFT protocol, number of nodes, attackers, etc.
The examples
directory contains several scripts to run our experiments.
We provide a python tool to visualize the execution of a BFT protocol. Please refer to the README.md
file inside the visualization
directory for more information.