A Python3 program for simulating a horrendously simplified blockchain that uses PoW algorithm.
- Shortest path routing (static) using Dijkstra
- Probabilistic model for mining the blocks
- Various plots based on the data generated by the simulation
- Dynamic difficulty adjustment as in Bitcoin etc
- Cases where blocks are simultaneously mined by multiple miners, and the resolution of such scenarios (for example, by "longest chain always wins")
- numpy
- matplotlib
- anything else that Python3 might cry about while running
- If you're lazy and don't want to supply the rather large number of inputs, feel free to use indirection from sample_input.