# A Blockchain Network Communication Architecture Based on Information-Centric Networking
## 4 Design  
Focusing on the issues of broadcast delay and bandwidth consumption in blockchain networks, BLOCK-ICN deploys blockchain applications on ICN nodes with computational and storage capabilities, and optimizes the communication of the blockchain network in two stages.  
In the stage of network topology construction, ICN nodes are deployed in existing P2P networks and the ICN blockchain network is partitioned with the help of an enhanced resolution system. Furthermore, in the ICN blockchain network, an algorithm for electing domain gateway nodes is proposed based on data flow forwarding dependencies between ICN nodes. At the same time, the failure detection protocol between domain gateway nodes and ICN nodes is improved to reduce bandwidth consumption.  
In the stage of network message transmission, based on the ICN blockchain network topology, a parallel tree broadcasting mechanism based on ICN multicast is implemented. ICN nodes multicast messages intra-domain and inter-domain in parallel through the ICN multicast, and broadcast messages to overlay P2P neighbor nodes through unicast, ensuring network robustness and improving the broadcasting efficiency.  
Figure 2: Enhanced resolution system.  
Figure 3 shows an overview of the BLOCK-ICN network topology. For simplicity, the ICN nodes in the figure are all full nodes, and it is assumed that SPV nodes are connected to full nodes as leaf nodes. The BLOCK-ICN network topology consists of an overlay P2P network layer and an underlay ICN network layer. The upper layer is the existing P2P network topology (such as Bitcoin, Kademlia, etc.), and the lower layer is the ICN blockchain network topology constructed based on network partitioning and domain gateway nodes. The routing table of the blockchain nodes in the P2P network only stores the neighbor node information of the overlay P2P network, while the routing table of ICN nodes not only stores the neighbor information of the overlay P2P network, but also stores the address information of intra-domain ICN nodes and the multicast service information of the underlay ICN network. The specific node descriptions are as follows:  
* P2P node: Consists of full nodes in the P2P network, establishes neighbor relationships with ICN nodes and other P2P nodes, and is responsible for receiving unicast messages from neighboring nodes and forwarding them to other P2P nodes.
* ICN node: Consists of blockchain nodes deployed in the ICN network. In addition to storing the address information of overlay P2P neighbors, ICN nodes obtain and store the address information of intra-domain ICN nodes and the multicast service information of the intra-domain through the enhanced resolution system. As gateway nodes, they are responsible for forwarding multicast messages from domain gateway nodes to P2P nodes.
* ICN domain gateway node: Generated through the election of intra-domain ICN nodes, domain gateway nodes not only store the address information of overlay P2P neighbors, intra-domain ICN node address information, and intra-domain multicast information, but also update the multicast group service information and multicast group member information within the intra-domain and inter-domain through the enhanced resolution system. Acting as multicast sources, they broadcast messages to the multicast groups within the intra-domain and inter-domain.