# Leveraging Blockchain Technology for Secure 5G Offloading Processes +
## 4 Performance Evaluation
### SSI-Based Authentication of UEs
The Arduino SSI controller invokes the ACA-Py holder SSI agent (simulating the UE) to generate a proof response that match the received proof request from step 2 and sends it to the verifier SSI agent (simulating the secondary operator). 5. Verify the verifiable proof response (Verify VP). Arduino invokes the ACA-Py verifier SSI agent (simulating the secondary operator) and verifies the received proof response from step 4. The code implemented in the Arduino device uses 877.190 bytes, 66% of the program storage space. Timers are set to measure the time elapsed from the moment the method is invoked to that in which the corresponding response is received, thus including the computation done by the agent. The obtained performance evaluation results from these tests are shown as boxplot diagrams in Figure 9 for the different SSI methods:  
It is important to notice that the credential issuance (Issue VC) and the proof response verification (Verify VP), which are the most time-demanding methods will be executed in servers with improved capabilities and the performance will be much better. So, the important method to be considered is the proof response (Send VP) which will be executed in a potentially constrained UE. In this case, the additional time to the offloading process is of around 80 ms. Anyway, considering the complete flow is executed in constrained devices, the identity agreement credential issuance process would mean a maximum increment of around 425 ms (400 ms for Issue VC and 25 ms for Polling) to the already existing offloading execution times. This time is not an issue as it happens before the resources from the primary operator are released. In the case of the identity agreement credential verification process, which is executed after the primary operator releases his resources and before the secondary selected operator provides the new resources to the UE, the offloading execution time will be increased to  
Figure 9: Performance evaluation of the different SSI methods. a maximum of around 545 ms (40 ms from Send PR, 80 ms from Send VP, 350 ms for Verify VP and 75 ms of three different pollings). This maximum value will affect the service cut-off time during the offloading process. However, it could be acceptable and not significantly affect the user experience for some everyday applications such as web browsing weather sensors data sharing or even video camera transmissions which do not demand real time. However, it is better to consider more powerful devices for the operators to improve performance and allow more critical services. It is also necessary to consider that there are three polling cycles in the identity agreement credential verification process. Therefore, the speed of the process depends on the polling time. Reducing the polling time ensures that the response time is faster. However, it must be considered that a lower polling time implies a higher power consumption in the Arduino device. In case they are battery powered, this element would be critical, although rechargeable batteries are common in UEs, which are significantly more durable. However, we have estimated the energy cost of sending a polling message based on the tables of energy consumption and taking into account that a polling message and response take 25 ms in average, consuming 295 mA on every transmission. Thus, the consumption would be 1.88 uAh. Let's suppose that the three polling cycles last a maximum of 1.5 s. On a normal battery of 5200 mAh, that would imply that this battery would last around 16 days with no charging, which is more than acceptable in an environment such as the one considered. Therefore, an optimal solution is to use the authentication mechanism in a UE that is connected to power, but where the connection is not reliable it can be backed up by simple or rechargeable batteries.