# Leveraging Blockchain Technology for Secure 5G Offloading Processes +
## 4 Performance Evaluation
### Blockchain-Based Operators Marketplace  
The central component of the marketplace testbed is a Blockchain network based on Hyperledger Fabric 2.4.8 [110], known for its robust, modular architecture, and strong security features. The test environment is built on a hardware platform featuring 16 x Intel(r) Xeon(r) Platinum 8268 CPU @ 2.90 GHz (CPU), 16 GB of RAM, and a 400 GB HDD for storage, ensuring sufficient resources to handle the computational demands and persist the required data of the marketplace. The test Blockchain network is organized into three organizations, each one hosting a single peer and a Certificate Authority (CA) to manage digital identities and secure access. Additionally, three orderers have been deployed to coordinate transaction ordering and commit operations across the network, ensuring high availability and fault tolerance. This is an example setup to carry out reference performance evaluations. However, in a real scenario, there should be a dedicated Blockchain network composed of as many organizations as operators participate. The particular number of peers and orderers can be adaptable for each one. This section evaluates the additional time required in an offloading process because of the consideration of the proposed marketplace. This additional time could mean a degradation on the service quality because it could be perceived as a noticeable cut in service. For this purpose, a script simulating the interactions of an operator with the marketplace deployed in the example Hyperledger Fabric Blockchain network has been developed as shown in Figure 7. As Google Remote Procedure Call (GRPC) [111] procedures are commonly used in Blockchain networks to enable nodes to request and execute procedures or functions on remote servers, the required GRPC procedures for the different operations have been implemented to interact with the different Blockchain endpoints from simulated operators. In this context, the following operations have been evaluated:* Prior to the offloading process:
* An operator registration process. The _Create_ operation from the Operator endpoints is executed by an operator administrator. This process execution time is negligible in comparison with the time required for one block to be aggregated to the Blockchain network, which is variable according to some configuration parameters. In the considered example Blockchain network, this time is around 2 s. It is an example value that could be optimized in a real deployment. Anyway, the impact of this time is not relevant as it will happen only once, when the operator decides to participate in the marketplace, prior to any offloading process. * A service registration process. The _Create_ operation from the Service endpoints is executed for each available service by an operator administrator. As in the previous case, this process execution time is also negligible in comparison with the time required for the block aggregation in the Blockchain, which takes also around 2 s. This process will also happen only once per service, when the operator decides to participate in the marketplace, prior to any offloading process. Different services could be registered in the same Blockchain block, reducing and optimizing the services required registration time. * Periodically and for each offloading process:
* Each operator inside the marketplace must periodically update the percentage of available resources as well as the availability status of its services. The _Update_ operation from the Operator and Service endpoints is executed, respectively. As in previous cases, this process takes also around 2 s due to the block aggregation time to the example Blockchain network as the operation time is negligible. This process will happen periodically and in parallel to other activities of the operator, so the offloading process quality is not degraded as the cut-off time is not increased. * For each offloading process:
* The primary operator in the offloading process makes a search request to the marketplace of the most suitable secondary operator.