## 3 System Design
### Algorithm
#### 3.3.1 Relay Node Selection
The other consensus nodes validate the transactions in the received block, confirm and sign them, and return the information to Consensus Node 1. Then, Consensus Node 1 broadcasts the block and signature information to the regular nodes. The regular nodes verify the signature information of the block. The regulatory nodes can perform supervision and management tasks to ensure the legality and validity of the transactions. Afterwards, the system adds the new block to the end of the chain structure in chronological order, thus updating the entire blockchain system. Our goal is to design an incentive mechanism based on Network Contribution Proof in PoNC. In PoNC, the election of consensus nodes relies on the network contribution of the nodes. The calculation of network contribution is not the focus of this article. The incentive mechanism based on network contribution is beneficial to encourage active participation of user nodes in the consensus process and prolong their online time. The following is a detailed description of the token incentive process: Firstly, the ICN network service provider, as the proactive party for incentives, determines the total amount of token rewards for each round. A portion of these rewards is allocated based on the actual workload of the nodes. Specifically, the rewards are distributed proportionally according to the actual forwarding workload of each user node relative to the total workload. Another portion of the rewards is allocated as additional incentives for nodes with network contributions exceeding a certain threshold. These token incentives are distributed to the consensus nodes. The tokens can be exchanged for real-world currency on exchanges. Below is the mathematical description of the token incentive mechanism:

\[\sum_{t=1}^{N}Tok_{t}^{total}=K^{token}\times\sum_{t=1}^{N}Mont_{t}^{total} \tag{3}\]

Figure 5: PoNC consensus node selection process. Figure 6: Sequence diagram for consensus on transactions. \[\sum_{t=1}^{N}\mathit{Tok}_{t}^{total}=\sum_{t=1}^{N}\mathit{Tok}_{t}^{ inherent}+\sum_{t=1}^{N}\mathit{Tok}_{t}^{incentive} \tag{4}\]

\[\mathit{Tok}_{i,t}^{recp,Ncon}=\left(NWC_{i,t}\div\sum_{i=1}^{M}NWC_{i,t}\right) \times\mathit{Tok}_{t}^{inherent} \tag{5}\]

\[pathstatus(node_{i})=(\alpha\times Bandwidth_{i}+\beta/RTT_{i})\times sigmoid (p_{i}-p_{0}) \tag{1}\]0

where \(\mathit{Tok}_{t}^{total}\) and \(\mathit{Mont}_{t}^{total}\) represent the total number of tokens and bonuses at time \(t\), \(\mathit{K}_{t}^{token}\) represents the conversion coefficient between real-world currency and tokens. \(\mathit{Tok}_{t}^{inherent}\) and \(\mathit{Tok}_{t}^{incentive}\) represent the fixed number of tokens and additional incentive tokens to be distributed at time t, respectively. Formulas (3) and (4) are different expressions of total token rewards. Formula (3) converts real-world currencies into tokens, while Formula (4) reflects the different components of token rewards, namely fixed income and additional rewards. \(\mathit{Tok}_{i,t}^{recp,Ncon}\) and \(\mathit{Tok}_{i,t}^{recp,Con}\) represent the amount of token rewards received by non-consensus node i and consensus node i at time t, respectively. \(\mathit{NWC}_{i,t}\) represents the network contribution of node i at time t, and n represents the number of consensus nodes. ## 4 Simulation

In this section, we simulated and implemented the system and analyzed the experimental results. Firstly, we introduced the experimental environment and settings. Then, we demonstrated the advantages of the proposed solution at different levels of experimental indicators. Finally, we analyzed and discussed the experimental results. ### Experiment Setup

Our experiments are based on the well-known discrete-event network simulator NS3 [37], which is used to meet the needs of academic research and teaching.