Interference Cancellation Scheme Based on Network Coding in Blockchain-Enabled Internet of Things

: In the face of an explosive increase in the number of IoT devices, the IoT model using blockchain technology, like the traditional IoT system, has a common problem, that is, the communication quality is seriously affected by various interferences, which directly limits the improvement of the service quality of the blockchain-enabled IoT system. Therefore, it is of great practical significance to study the interference problem in the existing Internet of Things system using blockchain technology and propose methods to reduce interference. This paper compares and analyzes the performance of two-slot and three-slot network coding enhanced systems, and designs a new MAC layer protocol for blockchain-enabled IoT systems based on network coding technology. On this basis, through enhanced information transmission at the MAC layer and network coding at the physical layer, the multi-layer collaborative communication method is used to reduce the interference between the IoT system devices enabled by the blockchain. The simulation results show that the use of network coding technology can effectively reduce the mutual interference between data sending nodes in the blockchain-enabled IoT system.


Introduction
In the traditional communication idea, the coding is undertaken by the source, the source coding uses the statistical characteristics of the information to remove redundant information, so that the information rate is higher, and the channel coding adds the necessary redundant information to overcome the noise and interference in the channel, the information is an independent whole after leaving the source, and the work of the nodes in the network is to keep the original information intact to the signal [1][2][3]. In order to achieve the maximum transmission capacity defined by Shannon's maximum flow minimum cut theorem, network coding breaks the traditional data transmission mechanism in the current communication network, allowing mixing information in the source node and intermediate nodes. The source node splits the original data document into chunks and then encodes it using appropriate encoding methods, including XOR, linear, and so on [4][5][6][7]. The intermediate node can forward the linearly independent block at hand, and the receiver can decode the original data document once it has received enough linear independent coding blocks.
Network coding has many benefits for communication networks and has become a promising technology to increase network capacity, improve robustness, security, and better share the available resources of the network. Due to the inherent eavesdropping capabilities and unreliability of links in wireless networks, network coding is better suited for wireless applications such as wireless sensor networks and the Internet of Things [8,9]. The broadcast and listening characteristics of wireless media make wireless networks the primary environment for network coding [10]. There are generally two types of network coding techniques according to classification: network coding for two time slots and network coding for three time slots. For ease of description, suppose the network coding system is a single-carrier singleantenna system, where and represent the bit data stream at stations 1 (STA1) and 2 (STA2) and the modulated frequency domain symbol, respectively [11,12].
As shown in Figure 1, the network encoding scheme for two time slots [13]. At slot 1, STA1 and STA2 simultaneously send data to the access point (AP) side. At slot 2, the AP forwards the received superimposed physical signal to STA1 and STA2 [14]. When STA1 and STA2 receive the superimposed signal, subtract the signal sent by themselves to obtain the data sent by the other site.  As shown in Figure 2, the network coding scheme for three time slots is shown [15]. In time slot 1, STA1 sends data to the AP, and the AP receives and demodulates the data. In time slot 2, STA2 sends data to the AP, and the AP receives and demodulates the data [16]. In time slot 3, the AP XORs the demodulated data and sends it to STA1 and STA2 simultaneously [17]. STA1 and STA2 receive the demodulated and superimposed data, subtracting their own data to obtain the data sent by the other site. In the network coding of the two time slots, the AP does not process the signal, but only inserts the downstream channel estimation sequence and forwards it directly to the STA [18]. The prerequisites for the STA side to correctly demodulate the required signal are: the channel when the STA sends the upstream data and the AP sends the downstream data has not changed much, and the reciprocity of the upstream and downstream channels is good enough [19]. Although the use of three time slots in the network coding of three time slots increases the channel occupancy time, its process is simple and STA processing is more convenient, and this scheme is more suitable for the protocol than the network scheme of two time slots [20]. In order to reduce the inter-device interference of blockchain-enabled IoT systems, this paper uses network coding with three time slots to enhance blockchain-enabled IoT systems.

System model
The blockchain enabled IoT system model using network coding of three time slots is shown in Figure 3, where IFD is a node with high computing and storage capabilities in the blockchain, it has complete functions to support blockchain protocols, thus responsible for transaction confirmation, data storage and construction of new blocks, ITD can basically be regarded as the traditional low-cost, low-power IoT devices supported by the blockchain system, responsible for the generation and sending of transactions. Both IFD and ITD obey the Poisson point process distribution, ITD and the nearest IFD communication.
For a specific ITD, once the transaction arrives, ITD selects the closest IFD to send transaction data, as shown in Figure 3, ITD1 generates a transaction data and sends the data to the nearest IFD, but note that at the same time for the same IFD, ITD2 also generates a transaction data, if ITD1 and ITD2 send transaction data to IFD at the same time, it will cause strong interference with each other, which will lead to a lower transmission success rate. In order to solve this problem, this chapter introduces network coding technology, which uses network coding technology at the MAC layer to control the data transmission of ITD1 and ITD2 to reduce interference.  Since the transaction arrival rate in the blockchain-enabled IoT system is as low as half an hour or even a few hours, this means that the traffic of IoT nodes is not very active, and at the same time, a transaction packet usually has a small amount of data and a very short transmission time, which creates a huge time gap, so the system performance can be improved by sacrificing time. Specifically, as shown in Figure  3, ITD1 sends data to ITD3 at slot 1, ITD2 sends data to ITD3 at slot 2, ITD3 receives data and performs XOR processing, in time slot 3ITD1 and ITD2 send data to IFD first, and in time slot 4ITD3 sends XOR data to IFD, as long as IFD accurately receives ITD3 data, ITD1 and ITD2 data can be recovered even if ITD1 and ITD2 data are wrong. Interference between ITD1 and ITD2 is successfully ignored, and the success rate of data transmission is improved.

Scheme Description
In the first time slot, when ITD1 and ITD2 receive transaction data at the same time, ITD1 and ITD2 simultaneously broadcast their address information to the outside world, and all ITD nodes that receive address information make distance judgment to select the ITD node with the shortest path, and ITD3 is the path and shortest node from ITD1 and ITD2 among all ITD nodes that receive ITD1 and ITD2 address information. In the second time slot, ITD3 sends its own address information to ITD1 and ITD2 as the destination address of ITD1 and ITD2 when data transmission is performed. In the third time slot, ITD1 sends transaction data to ITD3. In the fourth time slot, ITD2 sends transaction data to ITD3. In the fifth time slot, after receiving data from ITD1 and ITD2, ITD3 XOR processes the data, while ITD1 and ITD2 simultaneously send their own transaction data to IFD. Finally, ITD3 sends the processed data to IFD. After IFD receives all the data, it can restore the transaction data of ITD1 and ITD2 by parsing the ITD3 data and then comparing it with the ITD1 and ITD2 data. The communication flow of the scheme is shown in Figure 4.

Protocol modification
The network coding scheme of the three time slots is very suitable for blockchain-enabled IoT systems, so there is not much modification to the protocol itself, just add some instructions.
There are 18 reserved bits in the terminal basic capability negotiation request frame (SBC_REQ), and one bit of them is used as the "ITD network coding capability indication" (0: not supported, 1: supported).
In the existing protocol, there is no address information in the MAC layer frame header of the data frame, so it is impossible to judge whether the data can be encoded for the network. To implement network coding, the MAC address of the destination site can be added by 6 bytes to the frame body and the presence of this domain can be indicated in the frame control.
Set the 1-bit reserved bit to "Network Code Send Indication" in frame control (0: normal send, 1: network code send).

ITD2 ITD3 IFD
The IFD with the shortest sum of paths from ITD1 and ITD2 XOR processing of ITD1 and ITD2 data

Simulation and Results Analysis
First, this section simulates the change in the success rate of transaction data transmission of blockchain-enabled IoT systems under different communication modes as the density of ITD devices or IFD devices changes under different thresholds. As shown in Figure 5, with the increase of the number of ITD nodes, the transmission success rate of the four situations maintained a downward trend as a whole, because with the increase of ITD, when a specific ITD transmits data, the interference ITD is also increasing, and the interference of a specific ITD is increasing, resulting in an overall decline in the transmission success rate. It can be seen from Figure 5 that when the SINR threshold is the same, the transmission success rate of the network coding technology is significantly better than the transmission success rate in the case of direct communication, which shows that network coding before physical layer data transmission can effectively reduce the interference between the transaction equipment of the target system.  As shown in Figure 6, with the increase of the number of IFD nodes, the transmission success rate of the four situations maintained an overall upward trend, because with the increase of IFD, the number of ITDs in the IFD range that meet the association rules decreased, and when a specific ITD transmits data, the interference ITD also decreases, and the interference of a specific ITD continues to decrease, resulting in an overall increase in the transmission success rate. It can be seen from Figure 6 that when the SINR threshold is the same, the transmission success rate of the network coding technology is significantly better than the transmission success rate in the case of direct communication, which shows that network coding before physical layer data transmission can effectively reduce the interference between the transaction devices of the target system.

Conclusion
This paper compares and analyzes the performance of twoslot and three-slot network coding enhanced systems, and designs a new MAC layer protocol for blockchain-enabled IoT systems based on network coding technology. On this basis, through enhanced information transmission at the MAC layer and network coding at the physical layer, the multi-layer collaborative communication method is used to reduce the interference between the IoT system devices enabled by the blockchain. Finally, this paper compares the effects of different transaction device densities and different full node densities on the success rate of transaction data transmission, and compares and analyzes the data transmission success rate of the system before and after multilayer collaboration. The simulation results show that the use of network coding technology can greatly reduce the mutual interference between data sending nodes in the blockchainenabled IoT system, and the system performance is significantly improved.