Peer-to-peer systems can be of a very large scale such as millions of nodes, which typically join and leave continously. These properties are very challenging to deal with. Evaluating a new protocol in a real environment, especially in its early stages of development, is not feasible.
Libraries Used: SimPy ,Pygraphviz ,matplotlib ,networkx
The above repository contains Simulations with 25,30,40,50,100 peers.