Blockchain Network Simulation
The simulation is divided into 3 parts: - **P2P Network Simulation** - Use Mininet to build networks with different topologies (such as star, ring, tree, and mesh), and limit the bandwidth of different links. - Each node can generate certain types of data, communicate with other nodes, and build a local database that records the addresses of different nodes and the data types of each node. - Transmit data (of different sizes and in varying quantities) between different nodes. --- - **Blockchain Simulation** - Implement a simulation of the blockchain network. - Simulate transactions (blocks) of the P2P network and the propagation logic. - Implement the PoW algorithm to simulate mining. - Limit link bandwidth and test the network latency and forking conditions under different block sizes and block generation intervals. - Use the PBFT protocol for consensus. --- - **Attack Simulation** - Conduct experiments on the basis of the simulated Bitcoin network. - Run simulation experiments and record the probability of a successful attack (being able to produce a longer chain that invalidates certain existing blocks) under different hashing power levels. - BGP hijacking and Eclipse attacks. The project repository is located at https://github.com/131250106/bitcoin