# Leveraging Blockchain Technology for Secure 5G Offloading Processes +
## 4 Performance Evaluation
### SSI-Based Authentication of UEs  
Arduino boards are commonly used for simulating IoT devices when prototyping and testing solutions [112; 113; 114]. In this case, the device used for the performance evaluation of a constrained IoT device for its SSI controller is an Arduino SP32-C3-32S. It has a single  
\begin{table}
\begin{tabular}{c c c c} \hline
**Simultaneous Requests** & **Requirements** & **Registered Services** & **Search Time (s)** \\ \hline \multirow{8}{*}{1} & & 10 & 2.18 \\  & 2 & 50 & 2.25 \\  & & 100 & 2.21 \\  & & 1000 & 2.30 \\  & & 10 & 2.17 \\  & & 50 & 2.21 \\  & & 100 & 2.22 \\  & & 1000 & 2.21 \\  & & 1000 & 2.22 \\  & & 1000 & 2.57 \\ \hline \multirow{8}{*}{10} & & 10 & 0.44 \\  & 2 & 50 & 0.49 \\  & & 100 & 0.45 \\  & & 1000 & 0.41 \\  & & 10 & 0.44 \\  & & 50 & 0.47 \\  10 & & 100 & 0.48 \\  & & 1000 & 0.47 \\  & & 10 & 0.44 \\  & & 1000 & 0.47 \\  & & 10 & 0.44 \\  & & 1000 & 0.48 \\ \hline \multirow{8}{*}{100} & & 10 & 0.29 \\  & 2 & 50 & 0.18 \\  & & 100 & 0.15 \\  & & 1000 & 0.47 \\  & & 10 & 0.30 \\  & & 50 & 0.18 \\  & & 100 & 0.15 \\  & & 1000 & 0.41 \\  & & 10 & 0.31 \\  & & 50 & 0.19 \\  & & 100 & 0.15 \\  & & 1000 & 0.44 \\ \hline \multirow{8}{*}{1000} & & 10 & 0.35 \\  & 2 & 50 & 0.26 \\  & & 100 & 0.28 \\  & & 1000 & 0.89 \\  & & 10 & 0.41 \\  & & 50 & 0.39 \\  & & 100 & 0.46 \\  & & 1000 & 0.90 \\  & & 10 & 0.49 \\  & & 50 & 0.53 \\  & & 100 & 0.51 \\  & & 1000 & 1.00 \\core 32-bit RISC-V Microprocessor with clock frequency up to 160 MHz and 400 KB of SRAM. The testbed has been completed with a Dell Latitude 5580 equipped with an Intel(r) Core(tm) i7-7600U and 8 GM of RAM memory, where three Hyperledger Aries SSI agents (ACA-Py) have been installed in three docker containers: _issuer_ representing the primary operator, _holder_ representing the UE, and _verifier_ representing the secondary operator. To implement the _VDR_, an Hyperledger Indy network has been deployed in another machine, with four nodes in their respective docker containers. Finally, the ACA-Py controller has been programmed and deployed in the Arduino SP32-C3-32S. The same Arduino controls the three ACA-Py agents (_issuer_, _holder_, _verifier_) as their operation is not parallel and occurs at different (sequential) times. Taking this into consideration, Figure 8 shows the implemented testbed. This section evaluates all the relevant SSI methods, including credential issuance, proof request, proof response, and proof verification [115]. The relevant SSI methods refer to the basic methods defined by the W3C [84] that allow to complete a full verifiable credential lifecycle. It is important to take into account that some of the SSI methods are related to the primary operator (credential issuance) and secondary operator (proof request and proof verification), which are implemented in servers with no computing limitations, and their performance has already been analyzed in the literature [75; 108]. However, all the methods performances are evaluated in an Arduino board as a reference. In addition, the polling method introduced in the proposal is also evaluated. Each method has been launched 100 times and their performance results distributions have been measured. 1. Issue verifiable credential (Issue VC). The Arduino SSI controller invokes the ACA-Py issuer SSI agent (simulating the primary operator) to issue a credential to the holder SSI agent (simulating the UE). Figure 8: Performance evaluation testbed for the SSI-based authentication system. Send a proof request (Send PR). The Arduino SSI controller invokes the ACA-Py verifier SSI agent (simulating the secondary operator) to send a proof request to the holder SSI agent (simulating the UE), asking for the credential issued in the step 1. 3. Polling. The Arduino SSI controller pols the ACA-Py holder agent (simulating the UE) for an incoming proof request. This polling activity is the same in other points of the SSI operation flow from Section 3.2.2. 4. Send a verifiable proof response (Send VP).