# A Blockchain Network Communication Architecture Based on Information-Centric Networking
## 6 Evaluation
### Experimental Settings  
#### Implementation  
Conducting experiments on an actual public blockchain network is challenging, because it is difficult to obtain complete information about the entire network in a large-scale public blockchain network. Additionally, in small-scale private blockchain networks, it is not possible to observe the block broadcasting behavior of real-scale networks. Therefore, evaluating new solutions in actual scenarios is not feasible. As an alternative approach, we chose to use a simulation to evaluate and validate the new solution, to ensure the experimental accuracy. We implemented a simulation of the BLOCK-ICN network architecture based on SimBlock [38; 39] and simulated its performance. SimBlock is an event-driven simulator, where all nodes in the network can generate message and block events. We made improvements to the SimBlock simulator to perform the simulation of the BLOCK-ICN network architecture. Through the simulation experiments, we evaluated the performance of BLOCK-ICN in terms of broadcast delay, scalability, and bandwidth consumption in a scenario where the overlay P2P network topology was the Bitcoin network.  
However, it is worth noting that SimBlock is a network simulator developed based on the P2P network layer. Its minimum simulation unit is the blockchain node, and it cannot simulate the routing units and network layer protocols in the ICN network. Therefore, we could not simulate the multicast and routing mechanisms of the ICN network realistically. Although existing simulation platforms such as NS2 and NS3 can simulate both the application layer and the network layer, it is difficult to simulate a compatible ICN network and Bitcoin network in NS3. The main reasons for this are as follows:  
* The simulation parameters of the Bitcoin network are usually obtained from real-world blockchain network data, using tools like xblock or blocksci. These tools can provide node information in the blockchain network but cannot provide the topological information of routers in the blockchain network. Therefore, it is not possible to construct the underlying network topology of a real blockchain network. It is unreasonable to conduct simulation experiments on other networks or self-designed underlying network topologies, because it is not possible to acquire the node distribution in the blockchain network on other networks and this cannot ensure the authenticity of the simulation experiments.
* To implement simulations that are compatible with both the blockchain network and the ICN network layer, extensive code modifications to NS3 would be required. In simulation experiments, for a blockchain network with a blockchain node quantity in the order of 10,000, a larger-scale underlying network topology would need to be implemented in the underlay ICN network layer, which greatly increases the complexity of the experiments.  
In addition, the simulation of ICN networks and their multicast protocols is not the main focus of this paper. The main research focus is to improve the SimBlock simulator to implement ICN nodes, ICN blockchain network topology, and broadcast protocols based on ICN multicast, in order to evaluate the performance under the BLOCK-ICN network architecture. Based on existing studies comparing the performance of multicast and unicast in IP networks and ICN networks, we introduced the bandwidth optimization brought by ICN multicast as a parameter into SimBlock for modeling. In the future, through comparing the simulation results of different ICN multicast algorithms and different underlying network topologies and protocols, we could evaluate the performance of the BLOCK-ICN network architecture. This will also be one of our future works. In this paper, we used a general ICN multicast algorithm [14] and basic underlying network topology and protocols as the basis for the simulation experiments, to evaluate the performance of the BLOCK-ICN network architecture.