Sep, 2019
Phase 1: Inception
Literature Review
- 5G network
- Telecom infrastructure sharing
- Blockchain smart contract
- Blockchain sharding
- Development platform selection
Phase 1 Deliverables
- Detailed project plan
- Project website
This is the final year project by HKU CS Dept, FYP 19037. A blockchain based solution to network infrastructure sharing in 5G era.
The emergence of 5G network has been expected to lead the forthcoming revolution of mobile technology. Targeting to reach high speed and low latency, 5G technology has shown its potential to change the meaning of mobile usability with a huge array of new applications. At the same time, the growth of infrastructure cost will inevitably bring serious challenges for mobile operators. To deal with this issue, network sharing is considered as a potential cost-saving strategy to solve the practical roadblocks of 5G deployment.
This project proposes a blockchain-based system that empowers network sharing in a global scope. With the ability to form consensus among distributed nodes on verifiable records, blockchain is a potential platform for achieving necessary functionality required by network sharing. For this project, our work will be carried out on two layers. On the application layer, a smart contract will be implemented to contain the operation logic and needed functions that facilitate the cooperation of operators across regions. On the protocol layer, a consensus protocol using sharding technique will be designed to guarantee the high efficiency of the system.
As a public ledger where all digital events execute, blockchain is bloated with huge total traffic and a large number of independent participants involved, since it requires the whole record to be acquired by all nodes. Sharding is one of the ways to solve this problem. By the sharding technique, the mining network is uniformly and securely partitioned into multiple committees, each group of nodes handled in parallel.
In our project, the base stations built by telecom operators will be regarded as nodes in the blockchain system. Nodes representing base stations in the same region will be placed in the same shard. A shard functions as a group. Every group chooses a group leader randomly after formation, which takes the responsibility to gather all data consumption information. Within each shard, all honest nodes run internal group consensus to decide whether to accept or reject a record. A final block in each shard is generated and broadcast to the whole network on its level during a certain time period. The data consumption record will be aborted if not all shards are willing to commit it. In addition, the sharding system is hierarchical. In a larger geographic area, a shard will be set at a relatively higher level, which will take charge of some shards in a smaller scope. When a user connects to the network, the consensus will be done among the lowest-level data centers first, and settlement of different regions is sharded and managed by higher-level data centers. Settlements of shards on different levels are done with different time intervals, and the main chain will be updated at the slowest rate. If a user connects to the base station in areas controlled by another blockchain shard, the record will affect the ledger states held by two or more distinct shards. This is when cross-shard recording occurs.
Sharding benefits the distributed ledgers in terms of scalability. We aim to design such a system without the tradeoff of transparency, auditability or security. It will offer a competitive alternative to the prevailing blockchain system with high overhead.
To develop an end-to-end application, a smart contract is used to implement business logic. The business logic includes but not limited to the creation of a service plan through operators and the subsequent use of them in agreement by their counterparties. To be more specific, the user information is shared among all telecom operators and will be stored in a cloud server. When data is recorded, the user’s ID, as well as the data cost will be saved in the blockchain. Each telecom operator behaves in a similar way, extracting information from the blockchain periodically and calculating the data cost by each person. It will treat the cases differently for users selecting distinct service plans and for users connecting different base stations. The database will be updated after the user paying his bill or changing the service plan. We will apply the global decentralized platform, Ethereum, as the smart-contract system, on which the sharding program mentioned in 4.1 is based. The contract-oriented language Solidity will be used as enactment, as it is high-level, kind of similar to Javascript, and can be compiled into EVM bytecode. As for the frontend part, we will import the software library Web3.js to connect the user-accessible GUI to its backend blockchain. Web3.js is a Javascript library that can interact with Ethereum. It allows developers to read and write data to the blockchain network by making requests to a node via JSON Remote Procedure Call (RPC). Hence, telecom operators will be able to ‘talk’ to the Ethereum Blockchain and set the service plan and data calculation schema on their own.
Phase 1: Inception
Literature Review
Phase 1 Deliverables
Research and Development
Related Work Review
Application Level Design
Protocol Level Design
Preliminary Implementation
Complete the Blockchain System Design
Start the Implementation on Ethereum
Phase 2: Elaboration
Completion and Testing of Implementation
Phase 2 Deliverables
Review and Refinement
Refinement to the Implementation
Phase 3: Construction
Phase 3 Deliverables
Exhibition
Project Exhibition and Competition
Team Member
Team Member
Team Member
This is bold and this is strong. This is italic and this is emphasized.
This is superscript text and this is subscript text.
This is underlined and this is code: for (;;) { ... }
. Finally, this is a link.
Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.
i = 0;
while (!deck.isInOrder()) {
print 'Iteration ' + i;
deck.shuffle();
i++;
}
print 'It took ' + i + ' iterations to sort the deck.';
Name | Description | Price |
---|---|---|
Item One | Ante turpis integer aliquet porttitor. | 29.99 |
Item Two | Vis ac commodo adipiscing arcu aliquet. | 19.99 |
Item Three | Morbi faucibus arcu accumsan lorem. | 29.99 |
Item Four | Vitae integer tempus condimentum. | 19.99 |
Item Five | Ante turpis integer aliquet porttitor. | 29.99 |
100.00 |
Name | Description | Price |
---|---|---|
Item One | Ante turpis integer aliquet porttitor. | 29.99 |
Item Two | Vis ac commodo adipiscing arcu aliquet. | 19.99 |
Item Three | Morbi faucibus arcu accumsan lorem. | 29.99 |
Item Four | Vitae integer tempus condimentum. | 19.99 |
Item Five | Ante turpis integer aliquet porttitor. | 29.99 |
100.00 |