Blockchain simulator
Chain-based
Bitcoin Simulator
GitHub, Website
Paper On the Security and Performance of Proof of Work Blockchains
Arthur Gervais (ETH Zurich, Switzerland) et al.
CCS'16 Video
Slide @ScalingBitcoin'16
Built on NS3 (discrete-event simulator), C++
In VIVES paper,
it can only simulate up to 6,000 nodes and has no transactions
VIBES
VIBES: Fast Blockchain Simulations for Large-scale Peer-to-Peer Networks
Master’s Thesis by Fabian Sch¨ussler
Demo paper
Parameters (in Section 5.5)
E.g. blockTime: average, numberOfNeighbours, numberOfNodes: number of nodes, latency, maxBlockSize, networkBandwidth, attacker's hashRate, number of confirmations
Attacks
Double-spending or flood attack (selfish-mining is future work)
Bitcoin-like Blockchain Simulation System
eVIBES: Extension for Ethereum
GitHub Master's thesis
Actor model on Akka (Scala)
Visualization in React
Distributed Consensus Simulator
Doc, GitHub
Shanghai Jiao Tong University
For sleepy consensus (Pass and Shi, 2016)
Python
Discreate event simulation (round-based, see Runner.py)
SimBlock
SimBlock: A Blockchain Network Simulator
See SimBlock
TrustChain
Trustchain Simulator
OMNeT++
Shadow
Shadow
Bitcoin
Scalability Analysis of Blockchains Through Blockchain Simulation
Scalability Analysis of Blockchains Through Blockchain Simulation
Sneha Goswami (University of Nevada)
Agent-Based Simulations of Blockchain protocols illustrated via Kadena’s Chainweb
See in Sharding
Simulation of stochastic blockchain models
Pierre-Yves Piriou, Jean-Francois Dumas (EDF R&D)
Based on PyCATSHOO framework
Monte Carlo simulations
shardSim
leobago/shardSim: This is a Sharding Simulator to study blockchain scalability.
for running in a supercomputer
Sharding simulator
Ethereum Sharding inside a Supercomputer - Coinmonks - Medium
Ethereum grant
Announcing Beneficiaries of the Ethereum Foundation Grants | Ethereum Foundation Blog
Barcelona Supercomputing Center – Scalability Grant – $50K. Sharding simulation.
BFT-based
Ripple simulator
GitHub
Raftscope
GitHub
Web UI
Mir-protocol, Tendermint, Algorand
Github
Paper
No malicious node
Hyperledger Blockchain Performance Metrics
Whitepaper
DAG
DAG Sim
GitHub
DAGsim: Simulation of DAG-based distributed ledger protocols
Manuel Zander (Imperial College London) et al. (and Dominik.icon)
Asynchronous, continuous time, and multi-agent simulation framework for DAG-based cryptocurrencies.
IOTA, SPECTRE(WIP)
Model honest and semi-honest actors in the system to analyse the behaviour of IOTA.
Result: the agents that have low latency and a high connection degree have a higher probability of having their transactions accepted in the network with honest and semi-honest strategies.
CIDDS
Design and Implementation of a Simulation Framework for Blockchain Alternatives: A Directed Acyclic Graph Based Distributed Ledger
Master's thesis by Mohamed Riswan Abdul Lathif (Technical University of Munich)
Demo Abstract
For IOTA
Python, Django, NetworkX (for visualization)
Parameters: the number of nodes, the number of transactions (n), the transaction rate (λ), the level of randomness (α) and the tip (i.e. a transaction to approve) selection algorithm
Homogeneous poisson point process for incoming transactions
SNOW
Demo app of Snow (consensus in Avalanche)
Website GitHub
PHANTOM
GitHub
Paper
Others
How to fake your numbers and get to millions of TPS Tweet
Also see Benchmarking / testing framework of distributed system