# Blockchain-Enabled NextGen Service Architecture for Mobile Internet Offload
## 3 Blockchain-Based Subscriber Offloading Framework  
The proposed offloading framework enables subscribers to temporarily offload their data usage from low to high-bandwidth channels without changing their cellular network operator. Figure 1 represents the block diagram of our framework and consists of four primary entities, namely the Mobile Nodes (MNs), a Broker (BK), the MNOs and the WiFi Providers (WPs). The MNs in the system are required to download the NEMO app and configure it with their subscriber information (e.g., IMSI - International Mobile Subscriber Number) and MNO identifier (e.g., HNI - Home Network Identifier) [20]. The BK, as the name suggests, coordinates activities between the entities in the network. We believe that a GSMA [21]-like entity aptly fits the role of the BK in our system, and all MNOs must register with it. The BK maintains a blockchain node and offers a registration service. The MNO registration process includes setting up a blockchain node for storing smart contracts and transactional data. Organizations that wish to allow their high-speed wireless infrastructure to be used by MNO subscribers must also register with the BK, along with setting up their corresponding blockchain nodes. The BK has oversight during the settlement phase and also acts as a mediator in the case of any disputes. The third set of entities in the system is the MNOs that allow their subscribers to opt for offloading to a higher-speed network. Reasons for offloading can include low-quality signal coverage, high-speed requirements, roaming to non-serviced areas, or even accessing services provided by particular Data Service providers. This entity includes various functionalities, such as a blockchain interface, authentication module, smart contract module, and billing module. The blockchain interface allows various other blockchain nodes to interact with each other, and to update the ledger periodically, including adding or executing new smart contracts or transactions. The MNO authentication module helps to identify and authenticate a subscriber from the MNO's subscriber database. Because there are many MNOs registered with the BK, and the subscriber should be an active user of that particular MNO, this module identifies a subscriber from an open smart contract and authenticates its status to verify that the user is a valid subscriber and is authorized to offload. The smart contract module interacts with open smart contracts to identify users and sets the values of the parameters in the contracts based on the authentication status, such as success or failure. This module can access the smart contract's data based on the authorization allowed and helps in executing it. The billing module can access the transactions stored in the blockchain and create a bill based on the executed smart contract involving a particular MNO. This module then matches the billing amount from the invoice received from the WP and authorizes the payment. The fourth set of entities is the WPs, which open up their infrastructure in a controlled manner to the subscribers of MNOs. To expedite the offloading process, a WP maintains a blockchain node on its premises. This entity also operates on four modules: the blockchain interface, authentication module, smart contract module and billing module. The blockchain interface is responsible for maintaining an up-to-date smart contract and transaction data, along with the full blockchain. The local authentication module ensures the mobile number ownership of the subscriber by validating a one-time password (OTP). This local authentication of the mobile number also avoids the spamming of mobile users or blockchain data. For example, if the local authentication of a mobile number is not concluded successfully, spammers may create millions of offload requests using random mobile numbers, which in turn would create a corresponding number of open smart contracts, and force denial of service attacks against legitimate users.