Here is a diagram illustrating the network and its components:
In this netowrk, we have two Organization representing Mobile Network Operators(MNO) and Mobile Virtual Network Operators(MVNO).
Each organization has one peer in this network. Peers are responsible for executing and validating smart contract transactions based on established policies, simulating the process, and sending confirmations back to the calling program. Additionally, each peer maintains a copy of the ledger and adds validated transaction blocks to it. See link.
A channel is created based on mutually agreed policies between organizations. Organizations that wish to engage in transactions must authenticate within this channel. In this context, the MNO and MVNO have joined a channel called myChannel.
Chaincode, the smart contract implementation in Hyperledger Fabric, is a program that runs on the blockchain to define transaction rules. Each peer in this network hosts and executes an instance of this chaincode, which is created based on the built file of my chaincode project.
In this channel, there is a single orderer responsible for organizing transactions prior to their recording on the ledger.
Each organization in this network has a CA, The authority responsible for issuing and managing digital certificates for nodes and users in the network ensures that each node and user holds the necessary credentials for validation.
(This is the interesting part:))
One of the challenges in this context is maintaining the privacy of data belonging to UEs and MVNOs. If this information is disclosed, other MVNOs could misuse it to submit fraudulent requests, ultimately affecting resource allocation outcomes. In Hyperledger Fabric, clients interact with the blockchain through smart contracts and do not have direct access to the ledger data. However, all nodes within a channel possess a copy of the ledger and can access all its data. Therefore, it is crucial to control the access levels of nodes within a channel, which may belong to different organizations in real scenarios.
To address this, I utilize a feature of this blockchain called Private Data Collections (PDC), allowing us to configure a PDC in the network so that only a limited number of nodes can access its data. The original data is stored securely while a hash of it is recorded on the public ledger accessible to all nodes, ensuring that only the MNO and MVNO involved in the contract can access the original data.
- MNO Admin
- MVNO Admin
- A group of UEs that serve as service consumers for the MVNO
