# Trustworthy Transaction Spreading Using Node Reliability Estimation in IoT Blockchain Networks
## 4 Trustworthy Transaction Spreading
### 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.  
\begin{table}
\begin{tabular}{|c|c|c|c|c|} \hline
**StateAction** & **0** & **1** & **2** & **3** \\ \hline
3 & 28 & 0 & \(-\)383 & \(-\)398 \\ \hline
4 & 39 & 0 & \(-\)146 & 0 \\ \hline
9 & 27 & 0 & 0 & \(-\)124 \\ \hline
31 & 23 & 54 & \(-\)376 & 0 \\ \hline \multicolumn{4}{|c|}{(a) Lower reliable node set} \\ \hline \end{tabular}
\begin{tabular}{|c|c|c|c|c|} \hline
**StateAction** & **0** & **1** & **2** & **3** \\ \hline
23 & 82 & 61 & 151 & 0 \\ \hline
35 & 224 & 237 & 321 & 91 \\ \hline
76 & 64 & 62 & 59 & 71 \\ \hline
79 & 30 & 37 & 19 & 8 \\ \hline \multicolumn{4}{|c|}{(b) Highly reliable node set} \\ \hline \end{tabular}
\end{table}
Table 1: An example of a Q-table.  
Figure 4: Transaction traverse procedure.  
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, whit  
\begin{table}
\begin{tabular}{|c|c|c|c|c|c|c|c|c|} \hline \multicolumn{8}{|c|}{**Q Table**} \\ \hline \multirow{2}{*}{**StateAction**} & \multirow{2}{*}{**0**} & \multirow{2}{*}{**1**} & \multirow{2}{*}{**2**} & \multirow{2}{*}{**3**} \\ \cline{1-1} \cline{5-10} \cline{7-10} \cline{7-10}  
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.