This model is programmed in Python 3.6. We model how different consensus protocols and trade network topologies affect the performance of a blockchain system. The model consists of multiple trader and miner agents (Trader.py and Tx.py), and one system agent (System.py). We investigated three consensus protocols, namely proof-of-work (PoW), proof-of-stake (PoS), and delegated proof-of-stake (DPoS). We also examined three common trade network topologies: random, small-world, and scale-free. To reproduce our results, you may need to create some databases using, e.g., MySQL; or read and write some CSV files as model configurations.
First version