# DTN Trustworthiness for Permafrost Telemetry IoT Network
## 5 Simulation Tests
Following the model in [67], we can assume the impact of aging as following a linear form, as defined in Equation (6):  
\[Pb(t)=Pb_{0}+kt, \tag{6}\]  
where \(Pb_{0}\) is the probability of a node having a Byzantine fault at time \(t=0\), and \(k\) is the aging factor. This probability \(Pb\) increases hour by hour until its battery has practically run out at \(t=t_{d}\), when it experiences a crash fault and \(Pb(t_{d})=1\). In the simulations, we tested nine different values of \(Pb_{0}\) to emulate the use of different corrective methods (see Table 2). As we are in a simulation environment and we can keep track of all collected, sent, and received values by all nodes, we can compute \(FSV\) and \(ST\) by comparing the values that the sensor should have collected with the values that the sensor actually sends and the values that the control center receives, respectively. In a testbed environment with real devices, this would only be possible if previously known ground truth values were sent, in order to compare them with the values received by other nodes. To model the implementation of the social trustworthiness layer, we used a simplified version of the objective reputational model from [59]. Our use case simplification assumes that all transactions will have the same weight, all nodes have the same computational capability, and the relationship factors between them are equal. Finally, a consensus protocol can be modeled by knowing the background traffic (bps) introduced to the network and the number of Byzantine nodes supported (\(Nb\)). In our use case, each group of redundant GTN-P stations will run the PBFT algorithm [68]. The background traffic grows exponentially as the number of nodes participating in the consensus (\(Nt\)) group increases. Moreover, the number of tolerated Byzantine nodes \(Nb\) is calculated as in Equation (7):  
\[Nb=\left\lfloor\frac{Nt-1}{3}\right\rfloor. \tag{7}\]  
Our scenario has five NVIS gateways, each providing an independent LoRa coverage area (access network) with its own sensors. For each gateway, there are clusters of sensors measuring the same data. In our test on the field during the campaign, we will deploy eight clusters per gateway. However, in the simulations, we also tested larger numbers of clusters (as seen in Table 2) to assess the goodness of our model and the system's scalability. Each cluster will have a specific number of redundant sensors measuring the same data. From our previous tests, we defined that we would set seven redundant sensors (GTN-P stations) in each cluster in the field deployment, so two Byzantine nodes could be tolerated. Despite this, in the simulation tests, we varied this number from 1 to 10 in order to compare \begin{table}
\begin{tabular}{c c} \hline \hline
**Parameter** & **Value** \\ \hline Number of runs per test & 30 \\ Simulation duration & 120 h (5 days) \\ \(Pb_{0}\) & [\(1\times 10^{-3},2\times 10^{-3},4\times 10^{-3},8\times 10^{-3},1\times 10^{-2},2\times 10^{-2},4 \times 10^{-2},8\times 10^{-2},1\times 10^{-1}\)] \\ \(k\) & \(5.7\times 10^{-5}\) \\ Transport protocol & [BBR, Copa, CUBIC, EAATP, Indigo, Verus] \\ Redundancy Mode & [None, Social, Consensus (PBFT)] \\ Number of NVIS gateways & 5 \\ GTN-P clusters per gateway & [8,16,32,64,128,256,512,1024,2048,4096] \\ GTN-P redundant stations per cluster & [1,2,3,4,5,6,7,8,9,10] \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Simulation parameters. the results with different Byzantine node tolerances (from 0 to 4, following Equation (7)) and assess the system's scalability. The simulations consider three different operational modes: the standard mode (no redundancy), the redundancy mode with social trustworthiness, and the redundancy mode with consensus. In the standard mode, all the values gathered by every sensor are pushed through the backbone network to the remote control center. On the contrary, in redundancy modes, only one value is forwarded to the control center by each cluster. This value is agreed by cluster members with the social or the consensus mechanism.