Next Article in Journal
A Forwarding Latency Optimization Method for Software Data Plane Based on Spin-Polling
Next Article in Special Issue
Secure Access Control Realization Based on Self-Sovereign Identity for Cloud CDM
Previous Article in Journal
Design of an In-Process Quality Monitoring Strategy for FDM-Type 3D Printer Using Deep Learning
Previous Article in Special Issue
Development of an Electronic Smart Safe Box Using Private Blockchain Technology
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Trustworthy Transaction Spreading Using Node Reliability Estimation in IoT Blockchain Networks

1
Department of AI Convergence Network, Ajou University, Suwon 16499, Korea
2
Department of Industrial Engineering, Ajou University, Suwon 16499, Korea
*
Author to whom correspondence should be addressed.
Appl. Sci. 2022, 12(17), 8737; https://doi.org/10.3390/app12178737
Submission received: 27 July 2022 / Revised: 23 August 2022 / Accepted: 25 August 2022 / Published: 31 August 2022
(This article belongs to the Special Issue Complex IoT Applications and Blockchain)

Abstract

:

Featured Application

Blockchain-powered IoT Applications, such as agricultural applications, logistics, and smart factory data management.

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.

1. Introduction

The drastic increase in data generated by modern industries is changing the overall structure of the industries themselves. Effective and secure processing of industrial data renders digital transformation easier and acts as a crucial factor for the convergence of physical and virtual spaces. Blockchains are essential to guarantee transparent and reliable data operations. Blockchains provide decentralized data computing that ensures the ultimate reliability of the data for modern industries. A typical public blockchain network, such as Ethereum or EOS, typically uses a stable wired network. Network nodes (devices that verify transactions and compose a public blockchain network) typically own a copy of the entire ledger, including user accounts and balances. Sufficient redundancy guarantees the operational stability of blockchain nodes. However, the Internet of Things (IoT) networks exhibit significant instability. The proliferation of fog or edge computing architectures shifts the data transaction processing from the cloud to the edge of the network. This type of architecture enables the dynamic configuration of IoT networks. Service-centric IoT networks are easily established. On-demand networking of IoT nodes is a general function of current massively connected robots in factories or drones in smart cities. The dynamic network configuration changes caused by flexible node memberships make it impossible to 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). It uses the number of generated/stored/duplicated transactions, battery status, network connection status, connection bandwidth, and the number of transaction anchoring as the input features, and subsequently models the next hop of the transaction traverse in its neural network structure. The next hop is determined using the Q-value from the Q-learning model. A transaction spreads hop by hop to the next nodes with a higher reward value from the Q-learning function. The Q-value is updated for each transaction hopping within a single transaction traverse from the origin to the destination. At the end of a single transaction traverse, the graph convergence network (GCN) is activated with the Q-values of network nodes as input features of the GCN. The GCN generates node embeddings to identify highly reliable network areas. The GCN calculates the node embeddings using its message-passing process and then activates node classification to identify a reliable area. The identified reliable area guides the spreading path of the next transaction traverse to the destination node. The proposed trustworthy transaction spreading methods are evaluated in a virtual simulation environment. The test simulation environment was operated over an interplanetary file system (IPFS). The IPFS testbed included various virtual machines and demonstrated the practical applicability of the proposed operational control method. A virtual machine can serve as an IoT node. Custom-developed blockchain software modules were installed on multiple virtual machines using Docker containers. The superior performance of the proposed approach was demonstrated in the test environment.
The remainder of this paper is organized as follows. Relevant studies are presented in Section 2. Section 3 provides for transaction spreading and consensus. Section 4 describes Q-learning and the GCN for optimizing transaction spreading over a reliable area. The computational results and concluding remarks are presented in Section 5 and Section 6, respectively.

2. Previous Studies

A decentralized network architecture was proposed for peer-to-peer IoT applications [3,4,5]. IoT applications apply blockchain technology to various fields [6] such as transportation [7], life services [8], data storage [9,10], timestamp [11], monitoring [12,13], and identity processing [14]. Blockchains are actively applied in supply chains [15], crowd detection [16], wearable nodes [17], security [18], and laws [19]. IoT agricultural application is one of the best fields for blockchain technology. Tian [20] proposed an application for the censorship of agricultural supply. They used RFID and blockchain to ensure food quality and improve safety while reducing logistical losses. IoT node management is another application area of blockchain [21] for remote control of IoT nodes. Remote control between IoT nodes requires a secure transaction exchange. A public blockchain, such as Ethereum, ensures secure transactions by storing the public key for encryption in each IoT node. Khan et al. [22] and Ahmed et al. [23] presented security issues in the IoT environment. Khan et al. [22] described the requirements and state-of-the-art solutions for IoT security. They discussed the applicability of blockchain as a key technology for solving IoT security challenges. Ahmed et al. [23] classified data quality assurance methods in an IoT environment.
A multilayered IoT blockchain architecture was proposed in [24]. The proposed architecture introduces a less complex blockchain software to configure practical IoT networks. The researchers measured the performance of the architecture using an Intel Edison board and IBM Bluemix-based IoT nodes. A similar architecture was proposed in [25]. They presented the use of edge and higher layered architectures to deploy blockchain software. Kshetri [15] discussed a cloud-centered architecture that includes IoT nodes in a blockchain. Building an IoT blockchain network using cloud architecture is ineffective because the cloud itself can be a failure point.
Samanigo et al. [26] proposed software-defined networking (SDN) for deploying blockchain in IoT networks. They developed blockchain network functions for the IoT nodes.
An efficient operation strategy for IoT blockchains is vital for practical applications. As it increases the transaction exchange within the IoT blockchain network, blockchain network nodes condense the transaction data. Compact blocks [27], graphene [28], and Xthin blocks [29] provide block compression methods for efficient block sharing. Relay functions such as Falcon [30] and Fibers [31] are dedicated to efficient transaction spreading within a network. IBM’s ADEPT [32] model uses a distributed network structure in an IoT environment. However, because ADEPT predefines and limits the roles of network nodes, it is difficult to provide network operation flexibility in IoT networks where nodes are frequently relocated. Ardor [33] proposed regional transaction spreading to prevent performance degradation in networks while ensuring transaction integrity. However, the ardor does not provide sufficient cases of regional spread.
Reliability measurements on blockchain networks are underway to prevent malicious node behavior. In the Internet of Service (IOS), the personal information of the block builder and the number of tokens held were presented as a reliability score [34]. Yang et al. [35] used a reliability score to select the cluster heads of mobile ad hoc networks and spread reliable transactions. The cluster head measures the reliability of the cluster’s internal nodes and delivers them to the other cluster heads. A private blockchain is a network of reliable nodes. Therefore, it uses a simplified consensus algorithm. Artificial intelligence delegated proof of stake (AIDPoS) is a consensus algorithm presented by Velas [36]. The consensus algorithm traces the reliability of the node and grants block generation rights. The reliability is quantified using the number of tokens that have been staked.
The aforementioned blockchain enhancement generally fails to address the limitation of IoT device capability. The Ardor [33] is almost the only comparable approach which suggests regional transaction spreading to prevent performance degradation in IoT networks while ensuring transaction integrity. However, they divided entire region into small pieces using the geographical information. Because the computing resources of IoT nodes are limited, the IoT blockchain should minimize computing resource consumption for the transaction process. Typically, small/low-capacity IoT nodes do not possess sufficient computing power for validation, and validation significantly degrades the overall performance. Effective transaction spreading to acquire reliable validation is essential for minimizing the computing resource consumption of the IoT nodes.

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).
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. In a general blockchain, a selected block builder generates a block after a transaction exchange within a certain time window. The generated block is shared through the network, and the other nodes in the network attempt to validate the propagated block. An important aspect of the block validation process includes the “consensus”, as measured by applying representative consensus mechanisms such as PBFT [38], RAFT [39], or PoET [40] in an IoT network. A considerable amount of transaction spreading was required for block validation. Our work is designated to a novel paradigm of information sharing of blockchain. The exhausted transaction sharing of the blockchain is an essential limitation to advance blockchain scalability. The restricted but effective transaction sharing can initiate a big advent for blockchain penetration into various IoT networks. Our proposed method achieves sufficient information sharing while guaranteeing a secure path through the reliable area. Our method has a comparative advantage in discriminating reliable areas by the modern machine learning techniques. In the next section, we propose a set of machine-learning methods to identify highly reliable areas and nodes.

4. Trustworthy Transaction Spreading

The proposed trustworthy transaction spreading method requires the identification of a highly reliable area and the determination of the next hop of each transaction traverse. In a single transaction traverse, the Q-value of the nodes is used to determine the proper next hop of transactions. After the transaction traverse is completed, the GCN message-passing procedure generates a new node embedding for the next transaction traverse. The GCN identifies a highly reliable area of the network. We can ensure that the actual transaction is spread over a highly reliable area. The entire process of trustworthy transaction spreading is shown in Figure 3.

4.1. Determining the Next Hop for Transaction Traverse: Q-Learning

Q-learning is a reinforcement-learning algorithm with model-free, value-based, and off-policy characteristics. Model-free implies that the learning agent does not know the model configuration of the environment. The agent learns only with the relationship between the input (state, action) and output (reward) of the environment. Value-based algorithms estimate a value function. The value function ( V ( s )) is the expected value of the total reward obtained when acting according to the policy in a given state. The value function learns the policies to maximize the value. Q-learning uses a state-action value function to select the most valuable action in the current state. Off-policy has different target and behavior policies. Off-policy has data efficiency because samples experienced with past policies can be used to update the current policies. Q-learning stores the function values ( q ( s , a ) ) in tabular form (i.e., Q-table) and updates them when each state is visited. The rows of the Q-table express states, and the columns express actions. A limitation of the tabular form is the rapid increase in the dimensions of the Q-table when solving complex problems. Q-learning is suitable for relatively simple problems or problems with small state and action dimensions.
The proposed trustworthy transaction spreading defines the state as “the node identification (ID) that spreads the transaction in the current time step.” When spreading a transaction in a multi-hop manner, only one node attempts transaction spreading for each time step. It is suitable to set the node ID as a state of Q-learning. A simple state definition (i.e., node ID as the state) increases the learning efficiency of Q-learning by reducing the dimension of the state. This action is defined as the hop size for transaction spreading. Because the transaction spreading range of each node is determined by the hop size, the action is defined as selecting a hop size (for example, from one to four hops). The dimension of the action can be significantly reduced by selecting the spreading range (i.e., hop size) as an action, rather than selecting the next node as an action. The row in the Q-table is the node number ( N ) constituting the network, and the column is generally a limited number of hop sizes. The operation on the Q-table has a limited complexity of O ( n ) that increases in proportion to the number of nodes, even if the network is expanded.
Rewards and penalties are granted under the following three conditions: (1) When a transaction reaches the destination node successfully, a fixed reward K is received. (2) The greater the transaction spread, the higher the reward. z i represents the ratio of nodes in which a transaction spreads. For example, when a transaction spreads to 50 nodes over 100 network nodes, we calculate z i   as 50%. Note that i is the index of table updates. The reward increased significantly as the z i increased. The reward also increases in proportion to the number of duplicated transactions at each node. Duplicate transactions ( c i ( n )   , n: node index) have a positive effect on the transaction validation. (3) However, if the transaction spreading exceeds 50% of the total nodes, the degree of the positive reward for spreading is greatly reduced. When the spreading rate ( z i ) exceeds 50%, the advantage of transaction sharing is drastically reduced and only the communication burden increases. We reduce the reward in proportion to the number of nodes ( N ).
R i = { K   w h e n   t r a s a c t i o n   r e a c h   d e s t i n a t i o n   n o d e z i 2 + n = 1 N c i ( n )     w h e n   z i   i s   u n d e r   50 % ( z i 2 + n = 1 N c i ( n ) ) / N   w h e n   z i   r e a c h   50 %
The origin or border nodes select the action with the highest reward value. When a low-hop size (one or two hops) is selected as the action, the transaction spreading is late; in the opposite case, the transaction spreading speeds up.
Figure 4 illustrates the overall flowchart of the transaction traverse. Given an origin node and a destination node for each traverse, the agent selects the hop size sequentially from the origin node. Finally, a transaction is delivered to the destination node through border nodes. At each step, the rewards for hop size are calculated and the Q-table is updated. Table 1 shows an example of a Q-table as a result of Q-learning. Each row of the Q-table represents a node, and each column represents an action (hop size: 1–4). Each Q-value is a reward that can be obtained when a specific action is performed at each node.
Table 1a,b indicate the significant differences. (a) is more likely to select a low-hop size as an action, and (b) is the opposite. This difference occurs due to the node’s reliability. A policy is learned to select an action: decreasing the spreading hops in the less reliable nodes and increasing the spreading hops in the highly reliable nodes. The node reliability can be determined by applying Q-values to the message-passing structure of the GCN. Whenever one transaction traverse is completed, the proposed GCN classifies nodes based on their reliability levels using the Q-values of each node.

4.2. Finding Node Reliability and Reliable Area: GCN

To extract the node reliability, the Q-value of each node is input to the GCN message-passing layer. The GCN calculates node embeddings by reflecting the hidden states of each node. Table 2 illustrates an example of Q-value input and generated node embeddings. The GCN determines the reliable area by classifying the node reliability from the calculated node embedding.
A GCN is a machine-learning technique that uses a convolutional neural network (CNN) to implement a graph neural network (GNN) [41]. This method is suitable for clustering using the topology and characteristic values of a graph. The graph representation is used to extract the characteristics of the entire graph from the readout layer of the GCN (i.e., the output layer of the GCN). The proposed GCN not only has the advantage of determining the node reliability but also identifies the reliable area considering the reliability of the neighboring node and the entire graph structure. Figure 5 illustrates an example of reliable area identification. In this example, we identify five classes of reliable areas. The class of reliable areas can be specified using the output layer of the GCN.
Transactions should be spread through a highly reliable area classified by the GCN. Stable block validation is only possible when more reliable nodes share transactions. Figure 6 shows reliable area identification by the proposed GCN when arbitrary malicious nodes generate fake transactions. The node reliability fluctuation is observed by increasing the number of malicious nodes (from one malicious node to three malicious nodes). A matrix (i.e., Q-table) of (100,4) is input to the GCN model from a network with all 100 nodes, and node embeddings of (100,8) are obtained as the output of the first layer of the GCN. In the second layer of the GCN, node embedding is the input, and reliability classes are identified. Less reliable areas are marked in red in Figure 6a–c (gray indicates medium reliability, white indicates high reliability).
As the number of malicious nodes increases, the less reliable area expands. Under the influence of a malicious node, a bottleneck occurs around the neighboring node of malicious nodes. It is difficult to successfully deliver a transaction to the destination node. The proposed trustworthy spreading method routes transaction paths through a highly reliable area and spreads transactions. In the example shown in Figure 6, the ratio of the transaction paths passing through the lower reliable area increases to (a) 0%, (b) 6.5%, and (c) 12.3%, but the transaction spreading avoids the less reliable area as much as possible.

5. Experiments

5.1. Experiment Design

To demonstrate the superior performance of the proposed trustworthy transaction spreading method, we constructed a test blockchain network in an InterPlanetary File System (IPFS) testbed. IPFS is a protocol for storing data in a distributed file system and sharing it over the internet. IPFS libp2p (peer-to-peer library of the IPFS software suite) supports peer-to-peer networks over IPFS. The IPFS has a significant advantage in producing blockchain simulations. A blockchain network can be constructed based on an IPFS peer-to-peer network, and IoT nodes can easily store data such as blocks and smart contracts in the IPFS testbed [42,43]. We used IPFS libp2p FloodSub (flood subscription module of the peer-to-peer library of IPFS) to build an experimental environment for the proposed trustworthy transaction spreading. The Amazon Elastic Compute Cloud (AWS EC2) virtual server was used to create sufficient nodes. A private blockchain module is installed on the IPFS network. In our previous study [1,2], we customized the Hyperledger sawtooth [44] blockchain software for IoT devices. For small-scale IoT devices, we downsized the consensus engine, validator, database, and data-serialization functions. We used Docker [45] to install a blockchain software module for IoT devices. Docker is an open-source virtualization platform. Docker guarantees identical execution in various computing environments without complex deployment procedures [46]. The transferable Docker image of the developed blockchain software can facilitate distribution and maintenance. A Python simulator was developed in the IPFS test bed to implement the proposed trustworthy spreading. In the Python simulator, node features are defined as: node classification (i.e., source/target/border node for each transaction traverse), connected edges, number of stored transactions, number of created transactions, remaining battery power, computing power, network connection status (transmission speed, bandwidth), number of duplicate transactions, and number of border node executions. In addition, to measure the transaction-sharing rate, the number of duplicated transactions is added to the node features.

5.2. Performance Evaluations: Valid Transaction Sharing and Valid Block Sharing

To demonstrate the effectiveness of the proposed method, arbitrarily malicious nodes perform an eclipse attack or create a fake transaction. An eclipse attack refers to the act of a malicious node manipulating the routing table to isolate neighboring nodes. The attacked neighboring node cannot recognize the network situation, and a malicious node can fill in fake routing information into the routing table of the neighboring node [47]. The proposed trustworthy transaction spreading method selects a highly reliable border node and traverses the path by bypassing the lower reliable area in the transaction spreading process. The proposed method then allows the network to share valid transactions among trusted nodes. Random nodes were selected as malicious nodes, and neighbor nodes connected by one hop were set as attack targets. After 100 transaction traverses with arbitrary origins and destination nodes, we calculated the percentage of nodes sharing the transaction. For comparison, the results of the random spreading and gossip techniques are shown (see Figure 7).
The proposed trustworthy transaction spreading method significantly outperforms other techniques in terms of the transaction sharing rate. In addition, it can be confirmed that the performance is relatively robust, even with an increase in the number of malicious nodes. Figure 8 shows the duplicated transaction rates. We define the duplicated transaction rate as 100% when a single transaction of each traverse is stored in all the nodes. To calculate the duplicated transaction rate, the total number of transactions stored in all the nodes was counted and subsequently divided by the number of network nodes.
The proposed trustworthy transaction spreading method significantly outperforms other techniques in terms of duplicated transaction rates. It guarantees transaction verification capability through sufficient duplicate transactions. The random spreading method resulted in excessive duplications. It is a heavy burden to maintain transactions for small-scale IoT nodes. The gossip method had a minute number of duplications. Gossip has the advantage of rapidly reaching the destination node. However, insufficient duplications are disadvantageous in terms of blockchain stability. It is difficult to find a special correlation between the increase in malicious nodes and duplicated transaction rates for all three methods (trustworthy spreading, random spreading, and gossip). The energy usage is proportional to the number of transactions required to validate the blocks or transactions. We assume WiFi connectivity between nodes. A report from Gomez et al. [48] illustrated the energy consumption per WiFi message transmission. We assume that the transmission power of the network node is 10 dBm with 10 mW needed to publish a single transaction (we fix the transmission speed to 100 kbps, which is sufficient for sensing or actuating IoT nodes). The duplication transaction rate is the direct measure of the number of transaction transmissions between two devices. The average duplicate transaction rates are 93.1%, 236.5, and 28.7% for trustworthy transaction spreading, random spreading, and gossip, respectively. We can estimate the energy consumption for each device as 931 mW, 2365 mW, and 287 mW for 100 transactions traversed in the experiments.
In Figure 9, we compare the valid block sharing rate when a malicious node intervenes in the block validation process. Malicious nodes attempt to propagate fake blocks to the network in PBFT block validation consensus. After the final commit was completed in the PBFT consensus, we checked whether the block stored by each node in the network was valid (the number of malicious nodes was fixed at two).
Figure 10 indicates the rate at which a transaction passes through a less reliable area. As the number of malicious nodes increases, the rate of transactions passing through the less reliable area generally increases. However, the trustworthy spreading method shows a significantly lower rate than the other two techniques (the network size is fixed at 50 nodes).
The average time required to complete a single transaction traverse is proportional to the number of hops that the single transaction traverses. We have an action (hop size: 1–4). The hop size is applied to trustworthy transaction spreading, gossip, and random spreading. The average hops to destination nodes are 4.2 for trustworthy, 3.6 for gossip, and 5.1 for random spreading.

6. Discussion

The connection of various machines is an essential requirement for effective service. Smart sensors and actuators are connected to various types of infrastructure. Hundreds of billions of connected devices generate significant amounts of data. Advanced services must provide intelligence by effectively utilizing the generated data. Massively connected devices increase the attack surface and availability of communication networks. A blockchain must be built into the device components to ensure ultimate data security across multiple devices. Active blockchain applications guarantee high data integrity. A lightweight blockchain-software module can be an effective solution for various IoT devices. The modular design and lightweight operating mechanism of a lightweight blockchain ensure practical applications for IoT devices. We demonstrated a method to embed a lightweight blockchain middleware module directly into a small computing device. Broadly compatible blockchain-software solutions ensure end-to-end secure transactions and eliminate the oracle risks of common blockchain platforms. However, the development of blockchain-software modules alone is insufficient to lighten an actual network. The performance limitations of IoT devices also require improvements in the manner in which blockchain networks operate. The proposed trustworthy-spreading method calculates the Q-value for nodes using Q-learning and then determines the spreading path and hop size for transaction spreading. A reinforcement learning agent selects the border nodes for each transaction spread in an IoT network. The agent acts in real-time by identifying the node features and network connection status. The proposed GCN receives the overall state of the connected nodes as an input and calculates the reliability of the area. We can ensure that the actual transaction is spread over a highly reliable area. In addition, if a newly added node exists in the IoT blockchain network, it induces connectivity with a node in a highly reliable area. The proposed spreading method can be further enhanced by providing transaction traverse feedback to the agent. Identification of malicious nodes is another opportunity for further enhancement. The distribution of valid transactions can be a key determinant for identifying malicious nodes. In addition, we will attempt to develop a more sophisticated scheme to enhance the performance of reinforcement learning. Current advances in machine learning techniques provide an opportunity to increase practice efficiency.

Author Contributions

Conceptualization: J.-H.K.; methodology: J.K.; experiment: J.K.; validation: J.-H.K.; writing—original draft preparation: J.K.; writing—review and editing: J.-H.K. All authors have read and agreed to the published version of the manuscript.

Funding

This work was partially supported by a grant from the Institute for Information and Communications Technology Promotion (IITP) funded by the Korean Government (Ministry of Science and Information Technology) (Manufacturing S/W platform based on digital twin and robotic process automation) under grant 2021000292. This work was also supported by a National Research Foundation of Korea (NRF) grant from the Korean Government (Ministry of Science and Information Technology) under Grant 2020R1F1A1049553.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Lee, S.C.; Lee, J.; Hong, S.; Kim, J.H. Lightweight End-to-End Blockchain for IoT applications. KSII Trans. Internet Inf. Syst. 2020, 14, 3224–3242. [Google Scholar]
  2. Kim, J.H.; Lee, S.C.; Hong, S. Autonomous Operation Control of IoT Blockchain Networks. Electronics 2021, 10, 204. [Google Scholar] [CrossRef]
  3. Conoscenti, M.; Vetrò, A.; de Martin, J.C. Peer to Peer for Privacy and Decentralization in the Internet of Things. In Proceedings of the IEEE/ACM 39th International Conference on Software Engineering Companion, Buenos Aires, Argentina, 20–28 May 2017. [Google Scholar]
  4. Chen, J. Devify: Decentralized internet of things software framework for a peer-to-peer and interoperable IoT device. ACM SIGBED Rev. 2018, 15, 31–36. [Google Scholar] [CrossRef]
  5. Jiang, C.; Gao, L.; Duan, L.; Huang, J. Scalable Mobile Crowdsensing via Peer-to-Peer Data Sharing. IEEE Trans. Mob. Comput. 2018, 17, 898–912. [Google Scholar] [CrossRef]
  6. Conoscenti, M.; Vetrò, A.; de Martin, J.C. Blockchain for the Internet of Things: A systematic literature review. In Proceedings of the IEEE/ACS 13th International Conference of Computer Systems and Applications (AICCSA), Agadir, Morocco, 29 November–2 December 2016; pp. 1–6. [Google Scholar]
  7. Lei, A.; Cruickshank, H.; Cao, Y.; Asuquo, P.; Ogah, C.P.A.; Sun, Z. Blockchain-based dynamic key management for heterogeneous intelligent transportation systems. IEEE Internet Things J. 2017, 4, 1832–1843. [Google Scholar] [CrossRef]
  8. Han, D.; Kim, H.; Jang, J. Blockchain based smart door lock system. In Proceedings of the International Conference on Information and Communication Technology Convergence (ICTC), Jeju Island, Korea, 18–20 October 2017; pp. 1165–1167. [Google Scholar]
  9. Wilkinson, S.; Boshevski, T.; Brandoff, J.; Prestwich, J.; Hall, G.; Gerbes, P.; Hutchins, P.; Pollard, C. Storj a Peer-to-Peer Cloud Storage Network. Available online: https://storj.io/storj.pdf (accessed on 10 April 2018).
  10. Ateniese, G.; Goodrich, M.T.; Lekakis, V.; Papamanthou, C.; Paraskevas, E.; Tamassia, R. Accountable storage. In Proceedings of the International Conference on Applied Cryptography and Network Security, Kanazawa, Japan, 10–12 July 2017; pp. 623–644. [Google Scholar]
  11. Gipp, B.; Meuschke, N.; Gernandt, A. Decentralized trusted timestamping using the crypto currency Bitcoin. In Proceedings of the iConference 2015, Newport Beach, CA, USA, 24–27 March 2015; pp. 1–5. [Google Scholar]
  12. Wörner, D.; von Bomhard, T. When your sensor earns money: Exchanging data for cash with Bitcoin. In Proceedings of the 2014 ACM International Joint Conference on Pervasive and Ubiquitous Computing, Seattle, WA, USA, 13–17 September 2014; pp. 295–298. [Google Scholar]
  13. Zhang, Y.; Wen, J. An IoT electric business model based on the protocol of Bitcoin. In Proceedings of the 18th International Conference on Intelligence in Next Generation Networks, Paris, France, 17–19 February 2015; pp. 184–191. [Google Scholar]
  14. Wilson, D.; Ateniese, G. From pretty good to great: Enhancing PGP using Bitcoin and the blockchain. In Proceedings of the International Conference on Network and System Security, New York, NY, USA, 3–5 November 2015; pp. 368–375. [Google Scholar]
  15. Kshetri, N. Can blockchain strengthen the Internet of Things? IT Prof. 2017, 19, 68–72. [Google Scholar] [CrossRef]
  16. Tanas, C.; Delgado-Segura, S.; Herrera-Joancomartí, J. An integrated reward and reputation mechanism for MCS preserving users’ privacy. In Proceedings of the 10th International Workshop on Quantitative Aspects in Security Assurance; Springer: New York, NY, USA, 2016; Volume 9481, pp. 83–99. [Google Scholar]
  17. Siddiqi, M.; All, S.T.; Sivaraman, V. Secure lightweight context-driven data logging for bodyworn sensing devices. In Proceedings of the 5th International Symposium on Digital Forensic and Security (ISDFS), Tirgu Mures, Romania, 26–28 April 2017; pp. 1–6. [Google Scholar]
  18. Kshetri, N. Blockchain’s roles in strengthening cybersecurity and protecting privacy. Telecommun. Policy 2017, 41, 1027–1038. [Google Scholar] [CrossRef]
  19. Wright, A.; De Filippi, P. Decentralized Blockchain Technology and the Rise of Lex Cryptographia. 2015. Available online: https://ssrn.com/abstract=2580664 (accessed on 10 April 2018).
  20. Tian, F. An agri-food supply chain traceability system for China based on RFID & blockchain technology. In Proceedings of the 13th International Conference on Service Systems and Service Management (ICSSSM), Kunming, China, 24–26 June 2016. [Google Scholar]
  21. Huh, S.; Cho, S.; Kim, S. Managing IoT devices using blockchain platform. In Proceedings of the 19th International Conference on Advanced Communication Technology (ICACT), Bongpyeong, Korea, 19–22 February 2017; pp. 464–467. [Google Scholar]
  22. Khan, M.A.; Salah, K. IoT security: Review, blockchain solutions, and open challenges. Future Gener. Comput. Syst. 2018, 82, 395–411. [Google Scholar] [CrossRef]
  23. Ahmed, B.S.; Bures, M.; Frajtak, K.; Cerny, T. Aspects of quality in Internet of Things (IoT) solutions: A systematic mapping study. IEEE Access 2019, 7, 13758–13780. [Google Scholar] [CrossRef]
  24. Park, J.; Kim, K. TM-Coin: Trustworthy management of TCB measurements in IoT. In Proceedings of the IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), Kona, HI, USA, 13–17 March 2017; pp. 654–659. [Google Scholar]
  25. Li, C.; Zhang, L.-J. A blockchain based new secure multi-layer network model for Internet of Things. In Proceedings of the IEEE International Congress on Internet of Things (ICIOT), Honolulu, HI, USA, 25–30 June 2017; pp. 33–41. [Google Scholar]
  26. Samaniego, M.; Deters, R. Blockchain as a service for IoT. In Proceedings of the IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData), Chengdu, China, 15–18 December 2016; pp. 433–436. [Google Scholar]
  27. Corallo, M. Compact Blocks on the Wire as a Way to Save Bandwidth for Nodes on the P2P Network. Available online: https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki (accessed on 24 August 2022).
  28. Ozisik, A.P.; Andersen, G.; Bissias, G.; Houmansadr, A.; Levine, B. Graphene: A New Protocol for Block Propagation Using Set Reconciliation. In Data Privacy Management, Cryptocurrencies and Blockchain Technology; Springer: Cham, Switzerland, 2017. [Google Scholar]
  29. Dagur. Xthin vs. Compact Blocks. Available online: https://speakerdeck.com/dagurval/xthin-vs-compact-blocks (accessed on 24 August 2022).
  30. Basu, S.; Eyal, I.; Sirer, E.G. A Fast New Bitcoin Backbone Relay Network. Available online: https://www.falcon-net.org/ (accessed on 24 August 2022).
  31. Public highly-optimized FIBRE (Fast Internet Bitcoin Relay Engine) Network. Available online: http://bitcoinfibre.org/public-network.html (accessed on 24 August 2022).
  32. Panikkar, S.; Nair, S.; Brody, P.; Pureswaran, V. ADEPT: An IoT Practitioner Perspective; IBM Institute for Business Value: New York, NY, USA, 2015; pp. 1–18. [Google Scholar]
  33. Yaffe, L. Lightweight Contracts: The Ardor Answer to Smart Contracts. Available online: https://medium.com/coinmonks/lightweight-contracts-b738b6e29377 (accessed on 24 August 2022).
  34. IOST. Internet of Services Technical White Paper. Available online: https://github.com/iost-official/Documents/blob/master/Technical–White–Paper/EN/Tech–white–paper–EN.md#consensus-mechanism (accessed on 7 February 2021).
  35. Yang, H.; Choi, D.S. A Study on the Application of Block Chain to Ensure Data Integrity in MANET Environment. J. Converg. Secur. 2018, 18, 53–58. (In Korean) [Google Scholar]
  36. Velas. Velas Technologies: AIDPOS. Medium.com. Available online: https://velasblockchain.medium.com/velas-technologies-aidpos-70d0244467db (accessed on 12 May 2021).
  37. Kwon, H.; Shin, J.; Lee, B.; Choi, J.; Nam, S.; Lim, S. Technical Trends on Mobile Ad Hoc Networks. Electron. Telecommun. Trends 2003, 18, 11–14. (In Korean) [Google Scholar]
  38. Castro, M.; Liskov, B. Practical Byzantine fault tolerance. In Proceedings of the 3rd Symposium on Operating Systems Design and Implementation, New Orleans, LA, USA, 22–25 February 1999; pp. 1–14. [Google Scholar]
  39. Ongaro, D.; Ousterhout, J. In search of an understandable consensus algorithm. In Proceedings of the USENIX Annual Technical Conference, Philadelphia, PA, USA, 19–20 June 2014; pp. 305–320. [Google Scholar]
  40. Sawtooth: About Dynamic Consensus. Available online: https://sawtooth.hyperledger.org/docs/1.2/sysadmin_guide/about_dynamic_consensus.html (accessed on 24 August 2022).
  41. Kipf, T.N.; Welling, M. Semi-supervised classification with graph convolutional networks. In Proceedings of the International Conference on Learning Representations (ICLR), Toulon, France, 24–26 April 2017. [Google Scholar]
  42. IPFS Whitepaper. Concepts. Available online: https://docs.ipfs.io/concepts/ (accessed on 28 November 2021).
  43. KBLOCK. IPFS (Inter Planetary File System). Available online: https://steemit.com/kr/@kblock/8-ipfs-interplanetary-file-system-1-http-web-ipfs-web (accessed on 11 November 2021).
  44. Linux Foundation, Hyperledger Sawtooth Project. Available online: https://www.hyperledger.org/use/sawtooth (accessed on 24 August 2022).
  45. Boettiger, C. An introduction to Docker for reproducible research. ACM SIGOPS Oper. Syst. Rev. 2015, 49, 71–79. [Google Scholar] [CrossRef]
  46. Bernstein, D. Containers and cloud: From lxc to docker to kubernetes. IEEE Cloud Comput. 2014, 1, 81–84. [Google Scholar] [CrossRef]
  47. Heilman, E.; Kendler, A.; Zohar, A.; Goldberg, S. Eclipse attacks on bitcoin’s peer-to-peer network. In Proceedings of the USENIX Security Symposium, Washington, DC, USA, 12–14 August 2015; pp. 129–144. [Google Scholar]
  48. Gomez, K.; Riggio, R.; Rasheed, T.; Miorandi, D.; Chlamtac, I.; Granelli, F. Analysing the energy consumption behavior of WiFi networks. In Proceedings of the IEEE Online Conference on Green Communications, Piscataway, NJ, USA, 26–29 September 2011. [Google Scholar]
Figure 1. Transaction Spreading using Zone Routing.
Figure 1. Transaction Spreading using Zone Routing.
Applsci 12 08737 g001
Figure 2. Transaction Spreading over Reliable Area.
Figure 2. Transaction Spreading over Reliable Area.
Applsci 12 08737 g002
Figure 3. Concatenation of Q-Learning and GCN for finding Node Reliability.
Figure 3. Concatenation of Q-Learning and GCN for finding Node Reliability.
Applsci 12 08737 g003
Figure 4. Transaction traverse procedure.
Figure 4. Transaction traverse procedure.
Applsci 12 08737 g004
Figure 5. An example of reliable area identification.
Figure 5. An example of reliable area identification.
Applsci 12 08737 g005
Figure 6. Reliable area identification under the malicious node attacks. (a) Single malicious node: 17; (b) Double malicious nodes: 6 and 29; (c) triple malicious nodes: 14, 38, and 56.
Figure 6. Reliable area identification under the malicious node attacks. (a) Single malicious node: 17; (b) Double malicious nodes: 6 and 29; (c) triple malicious nodes: 14, 38, and 56.
Applsci 12 08737 g006
Figure 7. Transaction sharing rate. (a) Single malicious node; (b) Double malicious node; (c) Triple malicious nodes.
Figure 7. Transaction sharing rate. (a) Single malicious node; (b) Double malicious node; (c) Triple malicious nodes.
Applsci 12 08737 g007
Figure 8. Duplicated transaction rate. (a) Single malicious node; (b) Double malicious node; (c) Triple malicious nodes.
Figure 8. Duplicated transaction rate. (a) Single malicious node; (b) Double malicious node; (c) Triple malicious nodes.
Applsci 12 08737 g008
Figure 9. Valid block sharing rate.
Figure 9. Valid block sharing rate.
Applsci 12 08737 g009
Figure 10. Ratio of the transaction paths passing through the less reliable area.
Figure 10. Ratio of the transaction paths passing through the less reliable area.
Applsci 12 08737 g010
Table 1. An example of a Q-table.
Table 1. An example of a Q-table.
Action0123 Action0123
State State
3280−383−398 2382611510
4390−1460 3522423732191
92700−124 7664625971
312354−3760 793037198
(a) Lower reliable node set (b) Highly reliable node set
Table 2. An example of node embedding.
Table 2. An example of node embedding.
Q Table Node Embedding (After Applying GCN)
Action0123 ID01234567
State
0206−107−74−130 0−17.5−142.993.2−24.8−103.2115.8104−84.8
145000 152.5−10.739.7−18.619.4−1292422.1
27400−90 261.419.75.118−13.4−135.7−9.3−26.7
3280−384−398 343.6199.216.829.8−110−275.5−0.3−81.7
4390−1460 469.3−33.7101.1−72.8116.8−194.439.168.1
9531313120 95−29.816.5−2234.9−49.1−11.339.3−0.3
9628202930 9632−23.628.8−15.56.1−5922.928.5
9731242428 970.92.417.6−623.4−76.434.827.7
982820418 9824.2−133.8100.5−31.2−99.763.1110.2−22.1
9934382928 999.4−38.757−46.817.5−87.769.3104.8
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Kim, J.; Kim, J.-H. Trustworthy Transaction Spreading Using Node Reliability Estimation in IoT Blockchain Networks. Appl. Sci. 2022, 12, 8737. https://doi.org/10.3390/app12178737

AMA Style

Kim J, Kim J-H. Trustworthy Transaction Spreading Using Node Reliability Estimation in IoT Blockchain Networks. Applied Sciences. 2022; 12(17):8737. https://doi.org/10.3390/app12178737

Chicago/Turabian Style

Kim, Juyeon, and Jae-Hoon Kim. 2022. "Trustworthy Transaction Spreading Using Node Reliability Estimation in IoT Blockchain Networks" Applied Sciences 12, no. 17: 8737. https://doi.org/10.3390/app12178737

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop