# Trustworthy Transaction Spreading Using Node Reliability Estimation in IoT Blockchain Networks
###### Abstract  
Blockchain network architecture is a promising technology for constructing highly secure Internet of Things (IoT) networks. IoT networks typically comprise various sensors and actuators. Blockchain network technology can be applied to secure control robots in smart factories or reliable drone deliveries in smart cities. The wide spread of transactions and shared smart contracts across blockchain networks guarantees ultimate network security. A typical wired blockchain network maintains sufficient redundancy within a stable configuration. However, IoT blockchain networks exhibit unavoidable instability. The dynamic configuration changes caused by flexible node membership make it impossible to achieve the same level of redundancy as a stable network. A trustworthy transaction spreading method provides practical transaction sharing for dynamic IoT networks. We propose a Q-learning framework and a graph convergence network (GCN) to search for the proper spreading path of each transaction. The proposed Q-learning framework determines the next spreading hop using node features. The GCN determines the reliable area based on the Q-learning results. The discovered reliable area guides the proper spreading path of transactions to the destination node. In addition, the proposed trustworthy transaction spreading was implemented over an InterPlanetary File system (IPFS). The IPFS-powered experiments confirmed the practicability of the proposed transaction spreading mechanism. IoT blockchain; Q-learning; GCN; IPFS +
Footnote †: journal: Accepted: 25 August 2022  
achieve the same level of redundancy as a stable network. Furthermore, the mobility of IoT nodes limits the reliable transaction spread across networks. In a previous study [1; 2], we restructured the blockchain software structure and developed new software modules, such as validators, consensus engines, data serialization, and database functions, for small IoT development nodes. The developed blockchain software modules embedded in IoT sensor nodes ensure secure data transactions for decentralized applications. IoT nodes construct blocks and perform consensus as blockchain validators. We demonstrate that the proposed lightweight blockchain software module operates effectively as a blockchain solution for IoT applications. However, the architectural design, software modules, and efficient communication methods developed in previous studies are deficient for the actual operation of IoT blockchain networks. The essential challenge of the IoT blockchain network is the spread of robust transactions across blockchain nodes. To confirm individual transactions, transactions generated within a certain time window should be spread over the entire network and be aggregated into a single block by the selected validator. The validator distributes the block to the network nodes. The overall spreading guarantees the same transparency level between the candidate validators. Ideally, a blockchain network attempts to achieve maximum redundancy by spreading the overall transaction to the network nodes. The dynamic variability of IoT networks significantly restricts the spread of transactions over the entire network. The member nodes of a blockchain configuration suddenly leave or new member nodes join the blockchain to secure data transactions. We require a robust transaction spreading method for IoT blockchain networks. Trustworthy transaction spreading aims to reduce inefficient transaction spreading while guaranteeing sufficient redundancy. Considering the instability of IoT networks, we attempt to estimate the reliability of the network. The trustworthy transaction spreading mechanism measures network reliability. Network reliability determines the transaction spreading path. The Q-learning mechanism embedded in the proposed trustworthy transaction spreading directly determines the next hop of a transaction traverse (i.e., end-to-end transaction spreading from the origin node to the destination node).