Wireless spectrum, as a scarce natural resource, is an essential foundation to support wireless communications . The exclusive spectrum is staticlly allocated to an operator (OP) in traditional spectrum management solutions. Based on the statistics in the Federal Communications Commission s investigation report , the utilization of the licensed spectrum ranges from 15% to 85% with traditional static spectrum allocation solutions. The communication traffic has exploded with the rise of high definition (HD) video transmission, virtual reality (VR), augmented reality (AR) and other high-bandwidth services in fifth-generation (5G) wireless communication networks . The multiple-input multiple-output (MIMO) technology  and the interference management mechanism  have been proposed to achieve high data transmission rate and delay-sensitive requirement . The traditional static spectrum allocation and management solutions would cause the spectrum underutilization and inefficiency, which have great limitations on meeting traffic needs of 5G wireless communication networks. Therefore, it is urgent to find new solutions to improve the spectrum utilization for the spectrum management and allocation in wireless communication networks.
Dynamic spectrum sharing in cognitive radio (CR) networks is a feasible solution to relieve the shortage and underutilization of spectrum resources ,. CR is defined as an intelligent wireless communication system which can sense and learn from the surrounding environment by the understanding-by-building method . Based on the cognitive and reconfigurable abilities of CR, primary users (PUs) can share its licensed spectrum with secondary users (SUs) to improve the spectrum utilization . The microeconomic theories were adopted to realize the dynamic spectrum sharing between PUs and SUs. The auction-based approach was designed in 
to solve the spectrum sharing between macro base stations (MBS) and femto access points (FAP), who acted as the bidder for the additional spectrum of MBSs. The many-to-one stable matching game theory and the stochastic geometrical approaches were used in to tackle the dynamic spectrum sharing among network OPs. Two main architectures have been proposed in previous studies of dynamic spectrum sharing among multi-operators (multi-OPs). In the centralized spectrum sharing architecture, a spectrum broker was introduced to be responsible for the spectrum allocation between participating PUs and SUs . In order to share the spectrum efficiently, both PUs and SUs needed to interact the private information with the trustless spectrum broker. In this case, the interaction suffered from a single-point failure and privacy disclosure. The distributed spectrum sharing architecture, where participating PUs and SUs needed to interact with each other, might face the challenge of huge communication cost and privacy leakage . Although both architectures could relieve the spectrum shortage and improved the spectrum utilization, security issues of interaction among mutual-trustless entities are severe and have not been considered in previous studies. Therefore, it is necessary to propose an efficient solution to guarantee the secure interaction in the dynamic spectrum sharing among multi-OPs.
Recently, the promising Ethereum blockchain  and smart contract  technologies have been widely used in many fields due to its decentralization and security. The smart contract consists of many predefined functions which can be triggered by transactions to realize specific functionalities. Transactions are recorded on the distributed ledger maintained by Ethereum consensus nodes. All blockchain nodes can send transactions, which are not only payment transferrings but also function calls in smart contracts. Each transaction sent by nodes costs gas to prevent malicious nodes from sending too many meaningless transactions on the blockchain. Gas is the basic unit to measure the amount of computing resources consumed by a transaction on the Ethereum . A healthcare information exchange blockchain platform was built in , which combined the off-chain storage and on-chain verification to ensure the privacy and authentication of healthcare data. An energy blockchain was proposed to provide secure charging services for electric vehicles . However, only a few studies have applied the blockchain to the scenario of spectrum sharing in wireless communication networks. A Spectrum Sensing as a Service (SPASS) architecture was proposed to realize the payment transferring of outsourced spectrum sensing services through the smart contract . The feasibility of applying the smart contract-enabled blockchain technology to the spectrum sharing was analyzed in  from five aspects, including the decentralization, the transparency, the irreversibility, the availability and the security. In , considering that some home or business users could receive a certain revenue by providing spectrum sensing services for nodes in SU networks, a smart contract was designed to implement Service Level Agreements (SLAs) between mobile OPs and community service providers. However, due to the high cost associated with the blockchain and the extra gas cost of calling functions in the smart contract, the efficient spectrum sharing cannot be achieved in existing blockchain studies.
To overcome these issues, in this paper, a consortium blockchain is constructed for the spectrum sharing in multi-OPs wireless communication networks. The consortium blockchain is a permissioned blockchain with the high throughput and short delay. The multi-OPs acted as authorized nodes are required to be authenticated the certificate by the government before joining in the constructed consortium blockchain. The Practical Byzantine Fault Tolerance (PBFT) consensus algorithm is adopted in the consortium blockchain, requiring only the modest cost and computation power. In this paper, the Multi-OPs Spectrum Sharing (MOSS) smart contract is designed in the consortium blockchain for spectrum sharing in wireless communication networks. Without a trustless spectrum broker, different OPs can autonomously trade the spectrum by calling functions defined in the MOSS smart contract.
The main contributions in this paper are described as follows.
Based on the constructed consortium blockchain, a decentralized and secure framework is proposed for the spectrum sharing in multi-OPs wireless communication networks. The double auction and free-trading market are introduced to design the MOSS smart contract, which enables multi-OPs to autonomously share the spectrum in wireless communication networks.
The MOSS smart contract is written in the solidity language and tested in the Remix integrated development environment (IDE). The gas cost of each function defined in the MOSS smart contract is estimated. The testing results demonstrate that the designed MOSS smart contract is feasible to the spectrum sharing among multi-OPs and requires the only modest gas cost for OPs to implement the spectrum sharing based on the consortium blockchain.
The security and reliability of the proposed spectrum sharing solution are analyzed. The performance analysis demonstrates that the privacy, openness and fairness of the proposed solution are better than traditional spectrum allocation solutions.
The rest of this paper is organized as follows. In Section II, a consortium blockchain trust framework is proposed for the spectrum sharing in multi-OPs wireless communication networks. In Section III, the MOSS smart contract is designed. In Section IV, experimental results are presented. The security and reliability analysis are also discussed. Finally, Section V concludes the paper.
Ii System Framework
The consortium blockchain for the spectrum sharing among multi-OPs is shown in Fig 1. The MBS and Small Cell Base Stations (SBS) of multi-OPs coexist in the specific region, where each OP includes a MBS covering a number of SBSs . The MBS and SBSs of each OP analyze the spectrum usage and user locations reported by user terminals in the specific region. The MBS and SBSs of each OP report analysis results to the corresponding servicer, i.e., the Operation Administration and Maintenance (OAM) servicer, which is responsible for the spectrum management among associated MBS and SBSs. Based on the analysis results collected from the MBS and SBSs, the OAM servicer of each OP can reasonably predict the spectrum demand during the period of . A spectrum trading market can be established to satisfy different spectrum demands of multi-OPs. The MOSS smart contract is designed to realize the spectrum trading and allocation among multi-OPs. The proposed consortium blockchain trust framework consists of three types of entities for the spectrum sharing in multi-OPs wireless communication networks: the government, buyer OPs group and seller OPs group.
Considering the fact that the deploy of smart contract needs to cost large gas and selfish OPs are unwilling to pay for it, the government is introduced to deploy the MOSS smart contract. Unlike the spectrum broker who is responsible for the spectrum allocation in previous studies, the government only deploys the MOSS smart contract and supervises the whole spectrum sharing process. In the proposed framework, the MOSS smart contract is deployed at time by the government. Simultaneously, the bidding time is initialized as and the free-trading time is initialized as when the MOSS smart contract is deployed. The free-trading market is triggered at time () by the government. The valid bidding duration is (), and the valid free-trading duration is ().
Ii-2 Seller OPs group
The seller OPs group is constituted by () OPs. The -th OP decides to sell bandwidth, where is the total bandwidth owned by the -th OP. In order to guarantee the quality of service (QoS) of service users associated with the -th OP during the period of , the -th OP retains bandwidth to serve associated users. meets the following requirement:
where is the bandwidth required by the -th OP to provide the specific QoS for associated users, is the price per unit bandwidth bid by the -th OP.
Ii-3 Buyer OPs group
The buyer OPs group is constituted by OPs. The -th OP decides to buy bandwidth based on the prediction of spectrum demand during the period of , and the bid price per unit bandwidth is set as .
Underloaded OPs who may have the idle spectrum during the period of can join the seller OPs group and share their idle spectrum with a certain price. As a consequence, the revenue and spectrum utilization of underloaded OPs can be improved. Overloaded Ops, whose licensed spectrum is unable to meet needs of all users during the period of , can join the buyer OPs group to purchase the spectrum from the seller OPs group. With the spectrum purchased from seller OPs, the QoS of users served by overloaded OPs can be improved.
Both the spectrum trading and payment transferring between seller OPs and buyer OPs are executed by calling specific functions defined in the MOSS smart contract. Each entity has a unique Ethereum address. Transactions are recorded in the constructed consortium blockchain. During the period of , seller OPs and buyer OPs independently register and set the bid through the MOSS smart contract. As the registration period ends, the government invokes the MOSS smart contract to perform the spectrum auction among registered seller and buyer OPs. If there exist unsuccessful matches between buyer OPs and seller OPs, the government invokes the MOSS smart contract to open the free-trading market. Unsuccessfully matched OPs can choose whether to enter the free-trading market during the period of , and adjust their bids based on matched results of the spectrum auction stage. Finally, all OPs can invoke the MOSS smart contract to take back the rest of their deposit. A round of spectrum sharing among multi-Ops during the period of is finished.
Iii Smart Contract Design
In this section, the flow of designed MOSS smart contract is introduced. The explanation of parameters are shown in Table 1.
|Time to deploy the MOSS|
|Time of bidding registration|
|Time of free-trading market|
|Time to begin the free-trading market|
|The bandwidth selled by the -th op|
|Price per unit bandwidth of the -th op|
|The bandwidth bought by the -th op|
|Price per unit bandwidth of the -th op|
|asks||The registration set of seller OPs|
|bids||The registration set of buyer OPs|
|deposit||The balance of OP in the Ethereum account|
|Ethereum address of the -th op|
|Ethereum address of the -th op|
|The sending address of transaction|
|addr||The address of OP in the free-trading market|
|price||The latest price of OP in the free-trading market|
|bandwidth||The latest bid bandwidth of OP in the free-trading market|
|role||The seller/buyer OP|
In the MOSS smart contract, the multi-OPs spectrum sharing process is divided into three stages: the registration of OPs, the spectrum trading and the payment clearing. Functions defined in the MOSS smart contract should be agreed by all OPs before the MOSS smart contract is deployed in the consortium blockchain. The government sends a transaction to deploy the MOSS smart contract at time . The Ethereum address of MOSS smart contract is known by all OPs once this transaction is packaged into the valid block. In Ethereum, the time control can be determined by the unix timestamp. The timestamp can be used in the MOSS smart contract to judge the timeliness of transactions. The function call that is invalid in the current period will not be packaged into the block by miners. The detailed flow of MOSS smart contract is shown in Fig 2 (the source code of MOSS smart contract can be seen in the github at https://github.com/cherry1124/MOSS_CONTRACT) and is described as follows.
Iii-a The registration of OPs
In the registration stage of OPs, the BidOrAskSubmit( ) function is designed to submit the bid of multi-OPs and the RegistrationEnd( ) function is designed to judge whether the registration process is ended. The specific functionalities of BidOrAskSubmit( ) and RegistrationEnd( ) are described as follows.
BidOrAskSubmit( ): During the period of , OPs call the BidOrAskSubmit( ) when they want to participate in the spectrum sharing and declare whether they are buyer OPs or seller OPs. The bandwidth and price per unit bandwidth they want to buy or sell also need to be given. The BidOrAskSubmit( ) function is set as payable, which represents that the BidOrAskSubmit( ) have the functionality of Ether transferring. The Ether is the common digital currency in the Ethereum. All OPs must deposit more than 1 eth into the address of MOSS smart contract when the BidOrAskSubmit( ) is called. Here eth refers to a unit of Ether. The requirement of deposit can protect the spectrum trading process against interferences from some malicious nodes and be used for the payment transferring of spectrum trading. The remaining deposit can be returned back to the Ethereum account of corresponding OP. The LogRegisterOp event is defined in the BidOrAskSubmit( ). If OPs successfully register in the MOSS smart contract and submit their bid, the LogRegisterOp event will be triggered. All blockchain nodes listening for this event will know the bid information of registered OPs, from which unregistered OPs can dynamically adjust their demands and bids. The bid information is sent as a transaction via the anonymous Ethereum address of each OP. Therefore, the real identity of OPs will not be revealed and the private information of OPs will be protected.
RegistrationEnd( ): Multi-OPs can call the RegistrationEnd( ) function at any time to determine whether the registration stage is ended. The timestamp of transactions sent by OPs is represented by now. If now , the registration stage is already ended. Therefore OPs cannot call the BidOrAskSubmit( ) function to submit the bid and cannot participate in this round of spectrum sharing.
Iii-B The spectrum trading
The process of spectrum trading is divided into two sub-stages. The first sub-stage is the spectrum auction among multi-OPs, which mainly includes three functions: the sortAskByIncrease( ), the sortBidByDecrease( ), the DoubleAuction( ). The second sub-stage is mainly designed for OPs who are fail to match in the stage of spectrum auction and provides a free-trading market for unsuccessfully matched OPs. The second sub-stage includes four functions: the freeTradeBegin( ), the orderResponse( ), the deleteOrder( ), and the MarketEnd( ). The specific functionalities of functions contained in two sub-stages are described as follows.
sortAskByIncrease( ): As the registration stage of OPs ended, the government calls the sortAskByIncrease( ) in the MOSS smart contract to sort M seller OPs by the price in ascending order.
sortBidByDecrease( ): The government also calls the sortBidByDecrease( ) to sort N buyer OPs by the price in descending order.
DoubleAuction( ): The government calls the DoubleAuction( ) to auction the spectrum for all registered OPs after the sorting is completed. The process of DoubleAuction( ) is shown in Algorithm 1. The miner who packages the specific transaction into the block performs the corresponding operations:
registered buyer OPs and seller OPs are matched based on the spectrum auction algorithm defined in the DoubleAuction( ). The successfully matched price per unit bandwidth is set as the average price of the matched buyer OP and seller OP.
Second, based on the matched price and bandwidth quantity, the expense of buyer OPs and the income of seller OPs are calculated.
Third, the spectrum auction is finished until the bidding queue have been fully matched or the lowest seller price is higher than the highest buyer price.
The variable doubleAuctionFinish defined in the MOSS smart contract represents the state of spectrum auction. When the value of doubleAuctionFinish changes from false to true, all OPs and the government who inquire the doubleAuctionFinish can know that the spectrum allocation has already completed. The LogDealRecord event is defined in the MOSS smart contract. When buyer OPs and seller OPs have a successful match, the LogDealRecord will be triggered. All nodes listening for the LogDealRecord will know the successful match information. The repeated auction of spectrum and the mutual interferences of spectrum usage are avoided based on the proposed spectrum allocation scheme. The openness of spectrum sharing can be guaranteed in the proposed solution.
freeTradeBegin( ): If there exist unsuccessful matched OPs in the DoubleAuction( ), the government will call the freeTradeBegin( ) at time to open the free-trading market. The valid period of free-trading market is .
orderResponse( ): During the period of , OPs who fail to match in the DoubleAuction( ) can choose whether to enter the free-trading market. Based on the matched information in the spectrum auction stage, seller OPs who decide to enter the free-trading market can call the orderResponse( ) to resubmit the adjusted price and the bandwidth demand. Once the latest bid information is submitted successfully, the LogFreeMarketOrder event is triggered to declare the newly updated price information of OPs. Buyer OPs can call the orderResponse( ) to purchase the desired spectrum based on the latest spectrum information and reach a successful match. All the updated bid information and successful match result will be recorded in the consortium blockchain by miners. The flow of orderResponse( ) is shown in Algorithm 2.
deleteOrder( ): If the OP fails to match in the DoubleAuction( ) and refuses to enter the free-trading market, the OP can call the deleteOrder( ) to clear the bid information and exit the spectrum sharing market.
MarketEnd( ): Multi-OPs and the government can call the MarketEnd( ) to determine whether the free-trading market is ended. If now , the OP cannot call the orderResponse( ) since the free-trading market has already ended. When the free-trading market is ended, the whole spectrum sharing process is finished. If there exist OPs who still want to join the spectrum sharing, they can only wait for the next new round of spectrum sharing.
Iii-C The payment clearing
In order to implement the punishment of malicious OPs and the payment transferring of registered OPs, three functions including the payORnot ( ), the increaseFunds( ) and the withdraw( ) are designed in the MOSS smart contract. The specific functionalities of payORnot ( ), increaseFunds( ) and withdraw( ) are described as follows.
payORnot( ): A function modifier ownerOnly is set in the payORnot ( ), which regulates that the payORnot ( ) can only be called by the government. Other blockchain nodes do not have the permission to call the payORnot ( ). During the period of , the government who is a regulatory authority needs to ensure that the exchange of spectrum usage right is executed correctly. The bool variable executeORnot is defined in the MOSS smart contract to represent whether the corresponding OP correctly exchanges the spectrum usage right. If the OP does not exchange the spectrum usage right based on matched results of the MOSS smart contract, the government can call the payORnot ( ) to set the executeORnot value of corresponding OP as false. Thus malicious OPs are prevented from withdrawing their remaining deposit. As for honest OPs, the government calls the payORnot ( ) to set the executeORnot of honest OPs as true and honest OPs can successfully withdraw their remaining deposit.
increaseFunds( ): The increaseFunds( ) is defined as payable for multi-OPs to increase their deposit in the MOSS smart contract. The increaseFunds( ) is called by OPs when the remaining deposit is not enough to be transferred to other OPs. Thus the payment transferring of spectrum trading can be executed smoothly.
withdraw( ): All OPs participating in the spectrum sharing will call the withdraw( ) to get back the remaining deposit at the end time of . When OPs whose value of the executeORnot are false call the withdraw( ) to get back the remaining deposit, the miner will not package this transaction. Honest Ops whose value of the executeORnot are true can smoothly take back the remaining deposit by calling the withdraw( ).
The proposed MOSS smart contract can resolve the problem with the existence of malicious OPs in the spectrum sharing. The government can punish malicious OPs through the MOSS smart contract, making them unable to take back the deposit. A fair and secure spectrum sharing market can be built by prompting all OPs honestly exchange the spectrum usage right.
Iv System Implementation and Analysis
In this senction, the consortium blockchain based on the Geth, which is an official Golang implementation of Ethereum protocol, is firstly constructed for the spectrum sharing among multi-OPs. Second, the designed MOSS smart contract is implemented and tested in the Remix IDE found at http://remix.ethereum.org. The Remix is a browser-based IDE for developing smart contracts without the need to install the Solidity environment, which is an object-oriented, high-level language for implementing smart contracts. Finally, the security and reliability analysis of the proposed solution are given in the following.
Iv-a Implementation of the Consortium Blockchain
A real consortium blockchain based on the Geth is implemented for the spectrum sharing among multi-OPs. Seven nodes on seven different computer terminals, which refer to six different OPs and the government, are created and connected to each other for building the consortium blockchain. The Ethereum accounts of seven nodes are preallocated 100 eth when the genesis block is created. The locally constructed consortium blockchain can be connected with the Remix IDE using the web3 provider. The deployment and test of the MOSS smart contract can be realized by the Remix. The accounts and balances of seven nodes are shown in Fig 3.
Iv-B Testing of the MOSS Smart Contract
The designed MOSS smart contract is compiled in the Remix IDE and tested in the constructed consortium blockchain. Nodes can send transactions to deploy the MOSS smart contract and call functions through their Ethereum addresses in the consortium blockchain.
Three seller OPs and three buyer OPs are considered to test the feasibility of the MOSS smart contract. The Ethereum addresses and spectrum demands of all entities are shown in Table 2. Based on Ethereum accounts provided by the constructed consortium blockchain, the MOSS smart contract is tested and the gas consumption of each function in the MOSS smart contract is estimated. The gas cost is related to the transaction fee paid by the transaction sender. The transaction fee, the unit of which is Ether, can be calculated as
where the value of gas price affects the speed at which the transaction is processed by miners. The higher the transaction fee is set by the transaction sender, the faster the transaction is packaged into the block by miners and the shorter the delay in execution of the transaction.
Based on the current recommended gas price found at https://ethgasstation.info/, the gas price is set as 4.3 Gwei, where wei is the minimum unit of ether and . Considering that the gas cost is related to different operations defined in the functions, all the gas cost of the specific functions called by the government are calculated and shown in Table 3. The corresponding Ether cost and the cost in Chinese Yuan (CNY) yuan are also calculated and given in Table 3. The current exchange rate between the Ether and CNY is 1 Ether=1041.95 CNY. From Table 3, the Ether cost of deploying the MOSS smart contract is 0.0204989 eth and almost 21.35 yuan. The gas consumption of DoubleAuction( ) function is 0.001583935 eth and 1.65 yuan. The Ether cost of remaining functions are modest and negligible.
|Function||Transaction Gas||Gas Fee in Ether||Cost in CNY|
|MOSS smart contract||4767204 gas||0.0204989||21.35|
|RegistrationEnd( )||28935 gas||0.0001244205||0.12|
|sortAskByIncrease( )||70696 gas||0.00030399||0.31|
|sortBidByDecrease( )||116557 gas||0.000501195||0.52|
|DoubleAuction( )||368357 gas||0.001583935||1.65|
|freeTradeBegin( )||42413 gas||0.000182375||0.19|
|MarketEnd( )||28957 gas||0.000124515||0.12|
|payORnot( )||29018 gas||0.000124777||0.13|
|changeOwner( )||28811 gas||0.000123887||0.13|
|selfDestruct( )||13495 gas||0.000058028||0.06|
The gas cost of all functions called by OPs and the cost of Ether are shown in Table 4, where the cost in CNY is also calculated and given. From Table 4, it is obvious that only the BidOrAskSubmit( ), the cost of which is 0.001 eth and 1.04 yuan, consumes the most gas among all functions called by OPs in the MOSS smart contract. And the overall cost of remaining functions called by OPs are modest.
|Function||Transaction Gas||Gas fee in ether||Cost in CNY|
|BidOrAskSubmit( )||216416 gas||0.00100362||1.04|
|deleteOrder( )||21229 gas||0.0000912847||0.09|
|orderResponse( )||35085 gas||0.00015086||0.15|
|withdraw( )||22188 gas||0.000095408||0.09|
|increaseFunds( )||26757 gas||0.000115055||0.11|
From Table 3 and Table 4, the gas cost and CNY cost of functions called by OPs are almost negligible compared to the cost of functions called by the government. The proposed MOSS smart contract does not require too much extra gas cost from OPs. OPs can trade the spectrum with the modest cost, which motivates OPs to participate in the proposed spectrum sharing market. Different from the spectrum broker that exists as a third party in previous studies, the government does not directly participate in the spectrum allocation among multi-OPs in our proposed solution. The spectrum allocation among multi-OPs is implemented based on predefined functions in the MOSS smart contract. The government only acts as a deployer and caller of functions in the MOSS smart contract, and supervises the entire spectrum sharing process.
The LogRegisterOp event is triggered when OPs call the BidOrAskSubmit( ). Fig 4(a) shows the transaction log when the seller calls the BidOrAskSubmit( ) to submit the bid information. From the log field shown in Fig 4(a), the Ethereum address of is 0x36d2 E1Fe, the amount bandwidth that the wants to sell is 20MHZ in the simulation and the price per unit bandwidth is set as 2000000 Gwei. All nodes in the blockchain that listen to the LogRegisterOp will receive the latest registration information of . Other OPs can reasonably adjust their own bids based on the bid information of
. Meanwhile, OPs can set their own price in the next round of spectrum sharing by learning the bid information of other OPs in each round. The probability of successful match in the spectrum auction process will increase. The account balance ofis almost 98.99 eth shown in Fig 4(b). The is required to deposit 1 eth in the MOSS smart contract when the BidOrAskSubmit( ) is called. The gap between the account balance of and 99 eth is the transaction fee when the transaction is sent to call the BidOrAskSubmit( ).
Fig 5 shows the transaction log when the government calls the DoubleAuction( ). The predefined spectrum auction algorithm in the DoubleAuction( ) is executed by miners. If there exist successfully matches among multi-OPs in the spectrum auction, the LogDealRecord is triggered. It can be seen from the log field in Fig 5 that the seller and the buyer have successfully traded 10 MHz of spectrum at a price of 2050000 Gwei. Also, the seller and the buyer have successfully traded 2 MHz of spectrum at a price of 2250000 Gwei. The remaining OPs fail to match in the DoubleAuction( ) stage.
After the spectrum auction, the freeTradeBegin( ) is called by the government to open the spectrum free-trading market among unsuccessfully matched OPs. In the simulation, the seller is assumed to enter the free-trading market and modify the bid price to 1800000 Gwei by calling the orderResponse( ). The remaining unsuccessfully matched buyer OPs can decide whether to participate in the free-trading market based on the latest bid information of . If the buyer decides to purchase the spectrum after listening to the modified bid information of , the buyer can call the orderResponse( ) to declare the desired spectrum information and reach a successful match. It can be seen from the transaction log field in Fig 6 that the buyer and the seller have successfully traded 8 MHz spectrum at a price of 1800000 Gwei.
When the free-trading market is ended, the entire spectrum sharing process is completed. Each OP can call the withdraw( ) to withdraw the remaining deposit in the MOSS smart contract. The seller is assumed to be a malicious OP in the simulation. After successfully matched with the buyer in the previous spectrum auction, the traded spectrum usage right of is not correctly delivered to the corresponding buyer within the period of . The government can call the payORnot( ) to set the executeORnot of as false and freeze the account balance of . If the withdraw( ) function is called to withdraw the deposit by the seller , the transaction is rolled back and declared as ”Invalid op” shown in Fig 7. Other honest OPs can successfully withdraw their deposits by calling the withdraw( ). It can be seen from Fig 8(a) that the transaction log field of honest is shown as ”successful to withdraw”. The account balance of is more than 100 eth shown in Fig 8(b), which indicates that the seller can withdraw its 1 eth deposit and earn the extra revenue from selling the spectrum usage right.
Iv-C Performance analysis
Iv-C1 Security Analysis
In traditional multi-OPs spectrum sharing solutions, the problem of privacy disclosure exists when multi-OPs interact with the spectrum broker. Besides, the data sent by multi-OPs to the trustless spectrum broker may be maliciously tampered with. In this paper, the blockchain technology is used to realize the spectrum sharing among multi-OPs. All transactions and spectrum usage status are recorded in a data structure of merkle tree in the blockchain. All transactions need to be signed with the private key of transaction sender and verified by the public key of transaction receiver. Each consensus node in the blockchain locally maintains a distributed ledger to record all transactions broadcasted in the blockchain. The openness of spectrum sharing among multi-OPs can be ensured. If there exist malicious OPs who want to tamper with the transaction information, honest OPs who account for a large proportion will not modify their own local ledger. The integrity and security of data can be ensured by the proposed solution. Besides, the consortium blockchain among multi-OPs is constructed in this paper. Different from the public blockchain, the private data of OPs is invisible to nodes outside the consortium blockchain. The privacy preserving of multi-OPs in the spectrum sharing process can be realized in the proposed solution.
Iv-C2 Reliability Analysis
Based on the decentralization characteristic of blockchain, each OP in the consortium blockchain maintains a local ledger in a distributed structure. When one of OPs fails, other OPs can still normally operate. The single point of failure is avoided in the proposed solution, which is more reliable than traditional centralized spectrum sharing solutions. Besides, the MOSS smart contract is designed to implement the spectrum allocation among multi-OPs, eliminating the existence of centralized spectrum broker in traditional methods. Before starting the spectrum sharing, multi-OPs jointly design the logic of spectrum allocation scheme in the MOSS smart contract. The entire spectrum sharing process is automatically executed based on the agreed functions in the MOSS smart contract, which ensures the fairness of spectrum sharing in multi-OPs wireless communication networks.
In this paper, a consortium blockchain trust framework is proposed for the spectrum sharing in multi-OPs wireless communication networks. The MOSS smart contract is designed to automatically perform the spectrum trading and payment transferring among multi-OPs. A fair spectrum sharing market among multi-OPs can be realized without the existence of third party. The gas cost of each function defined in the MOSS smart contract is tested based on the constructed consortium blockchain, indicating the feasibility of MOSS smart contract. The security and the reliability analysis of the proposed solution are evaluated. The simulation results and the performance analysis demonstrate that the privacy, openness and fairness of the proposed solution are better than traditional spectrum allocation solutions.
In the future work, designing an efficient auction algorithm will be considered to further reduce the gas cost of calling functions in the MOSS smart contract.
-  X. Ge, B. Yang, J. Ye, G. Mao, C.-X. Wang and T. Han, ”Spatial Spectrum and Energy Efficiency of Random Cellular Networks,” IEEE Transactions on Communications, vol. 63, no. 3, pp. 1019 - 1030, March 2015.
-  P. Kolodzy, I. Avoidance, ”Spectrum policy task force”, Federal Commun. Commission, 2002.
-  Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, 2017 C2022 White Paper, pp. 1-37, 2019.
-  X. Ge, K. Huang, C.-X. Wang, X. Hong, and X. Yang, ”Capacity analysis of a multi-cell multi-antenna cooperative cellular network with co-channel interference,” IEEE Transactions on Wireless Communications, vol. 10, no. 10, pp.3298-3309, Oct. 2011.
-  L. Xiang, X. Ge, C.-X. Wang, Frank Y. Li and Frank Reichert, ”Energy Efficiency Evaluation of Cellular Networks Based on Spatial Distributions of Traffic Load and Power Consumption,” IEEE Transactions on Wireless Communications, vol. 12, no. 3, pp.961-973, March. 2013.
-  Y. Zhong, T. Quek, X. Ge, ”Heterogeneous Cellular Networks with Spatio-Temporal Traffic: Delay Analysis and Scheduling,” IEEE Journal Selected Areas Communications,Vol.35, No.6, pp.1373-1386, June, 2017.
-  J. Mitola, G. Q. Maguire, ”Cognitive radio: making software radios more personal,” IEEE Personal Communications, vol. 6, no. 4, pp. 13-18, 1999.
-  S. Haykin, ”Cognitive radio: brain-empowered wireless communications,” IEEE Journal on Selected Areas in Communications, vol. 23, no. 2, pp. 201-220, 2005.
-  S. Pandit and G. Singh, ”An overview of spectrum sharing techniques in cognitive radio communication system,” Wireless Networks, vol. 23, no. 2, pp. 497-518, 2017/02/01 2017.
-  Q. Deng et al., ”Dynamic Spectrum Sharing for Hybrid Access in OFDMA-Based Cognitive Femtocell Networks,” IEEE Transactions on Vehicular Technology, vol. 67, no. 11, pp. 10830-10840, 2018.
-  T. Sanguanpuak, S. Guruacharya, N. Rajatheva, M. Bennis, and M. Latva-Aho, ”Multi-Operator Spectrum Sharing for Small Cell Networks: A Matching Game Perspective,” IEEE Transactions on Wireless Communications, vol. 16, no. 6, pp. 3761-3774, 2017.
-  C. Liu and H. Tsai, ”Traffic Management for Heterogeneous Networks With Opportunistic Unlicensed Spectrum Sharing,” IEEE Transactions on Wireless Communications, vol. 16, no. 9, pp. 5717-5731, 2017.
-  Z. Jiang and S. Mao, ”Interoperator Opportunistic Spectrum Sharing in LTE-Unlicensed,” IEEE Transactions on Vehicular Technology, vol. 66, no. 6, pp. 5217-5228, 2017.
-  G. Wood, ”Ethereum: A Secure Decentralised Generalised Transaction Ledger”, Ethereum Project Yellow Paper, [online] Available: http://www.cryptopapers.net/papers/ethereum-yellowpa-per.pdf.
-  D. Magazzeni, P. Mcburney, and W. Nash, ”Validation and Verification of Smart Contracts: A Research Agenda,” Computer, vol. 50, no. 9, pp. 50-57, 2017.
-  K. Christidis and M. Devetsikiotis, ”Blockchains and Smart Contracts for the Internet of Things,” IEEE Access, vol. 4, pp. 2292-2303, 2016.
-  S. Jiang, J. Cao, H. Wu, Y. Yang, M. Ma, and J. He, ”BlocHIE: A BLOCkchain-Based Platform for Healthcare Information Exchange,” 2018 IEEE International Conference on Smart Computing (SMARTCOMP), 2018, pp. 49-56.
-  Z. T. Li, J. W. Kang, R. Yu, D. D. Ye, Q. Y. Deng, and Y. Zhang, ”Consortium Blockchain for Secure Energy Trading in Industrial Internet of Things,” IEEE Transactions on Industrial Informatics, vol. 14, no. 8, pp. 3690-3700, Aug 2018.
-  S. Bayhan, A. Zubow, and A. Wolisz, ”Spass: Spectrum Sensing as a Service via Smart Contracts,” 2018 IEEE International Symposium on Dynamic Spectrum Access Networks, 2018, pp. 1-10.
-  M. B. H. Weiss, K. Werbach, D. C. Sicker, and C. E. C. Bastidas, ”On the Application of Blockchains to Spectrum Management,” IEEE Transactions on Cognitive Communications and Networking, vol. 5, no. 2, pp. 193-205, 2019.
-  E. Di Pascale, J. McMenamy, I. Macalusa, L. Doyle, ”Smart Contract SLAs for Dense Small-Cell-As-a-Service,” Aug. 2018, [online] Available: https://arxiv.org/pdf/1703.04502.pdf.
-  X. Ge, J. Ye, Y. Yang and Q. Li, ”User Mobility Evaluation for 5G Small Cell Networks Based on Individual Mobility Model,” IEEE Journal Selected Areas Communications,Vol. 34, No. 3, pp. 528-541, March 2016.