# Trustworthy Transaction Spreading Using Node Reliability Estimation in IoT Blockchain Networks
## 3 Transaction Spreading and Consensus  
To enhance the efficiency of transaction spreading in the IoT blockchain, we designed a transaction spreading mechanism over a reliable area. The validation procedure induces excessive transactions in validation consensus. Appropriate transaction spreading is necessary to develop efficient validation in the IoT blockchain network. Focusing on the unstable communication environment of IoT networks, an ad hoc networking method was proposed. In an ad hoc network, each node autonomously forms a network with equal qualifications. A node acts as a host or router with mobile computing capability. It can also forward transactions and run applications on behalf of the other nodes. However, a network node operates on a limited battery and has limited functionality because of its unpredictable mobility. With this limitation, an IoT network usually has a dynamic network topology; a routing protocol for establishing and maintaining routes in a dynamic network is required. The IoT blockchain with high volatility and mobility is configured in the form of a dynamic ad hoc network, and the routing method of the ad hoc network can be used for the transaction spreading method. The zone routing protocol used in an ad hoc network delivers transactions in a multi-hop manner. The zone routing protocol is a hybrid method composed of table management (table-driven or proactive) and request-based (on-demand or reactive) methods. The table management method has the advantage that all nodes maintain the latest routing information by broadcasting the routing information, but the overhead for route management is relatively large. The request-based method solves the overhead problem of the table management method by searching for a route at a point when the traffic is generated [37]. Typically, the zone routing protocol uses a table management method within a zone and a request-based method for zone-to-zone communication. The components of the zone routing protocol are the origin, target or destination, and border nodes. The transaction traversing from the origin node to the destination node is as follows. (1) The origin node sends a route request to the border node. (2) Each border node that receives a request determines whether a destination node exists in its local zone. (3) If the destination node does not exist in the local zone, the address of the destination node is added to the transaction and the transaction is delivered to the border node. (4) When a destination node is found in a local zone, a route reply is sent to the origin node. (5) Subsequent transactions are transmitted using the discovered path (see Figure 1). Figure 1: Transaction Spreading using Zone Routing. Traditional least-hop routing from the origin to the destination is unsuitable for blockchain networks. In the transaction traverse from the origin to the destination, transactions must be shared with sufficient interim nodes. Interim nodes that share transactions act as candidate transaction validators. A node that performs the transaction validation must have sufficient reliability. A malicious node or low-trust node cannot provide sufficient validation power. A set of highly reliable nodes can consist of a highly reliable area; then, a routing algorithm should find a transaction traverse route within the highly reliable areas. When a routing route passes through a highly reliable area, the highly reliable nodes would share a transaction with a higher probability, implying that a node with high reliability is a strong candidate for transaction validation. Figure 2 illustrates the spreading of transactions in highly reliable areas. The proposed trustworthy transaction spreading has great advantages to consensus mechanisms, especially, in the IoT network. An IoT blockchain must satisfy four essential requirements: low-cost consensus, flexible distributed-application support, modular design, and low resource occupancy. A low-cost consensus algorithm guarantees sufficient randomness within the limited resources of the IoT nodes.