1、第41卷 第4期2023年7月应用科学学报JOURNAL OF APPLIED SCIENCESElectronics and Information EngineeringVol.41 No.4Jul.2023DOI:10.3969/j.issn.0255-8297.2023.04.004基于区块链智能合约的动态频谱共享潘亮1,2,陈彬1,2,代明军1,2,王滔滔1,2,张胜利1,21.深圳大学 电子与信息工程学院,广东 深圳 5180602.深圳大学 区块链技术研究中心,广东 深圳 518060摘摘摘要要要:针对集中式动态频谱共享存在的频谱资源数据安全威胁、管理成本高、扩展性低等问题,利用
2、区块链技术的去中心化、数据不可篡改等特性,提出了一个基于区块链智能合约的动态频谱共享方案。首先,利用区块链 ERC4907 协议设计了频谱券,保证频谱资源的唯一性标识并可租赁;其次,利用区块链预言机来实时更新空闲频谱资源数据,实现频谱数据的上链;再次,通过基于智能合约的拍卖算法以及 Vue 框架实现在前端页面对空闲频谱资源所对应的频谱券租赁期限的拍卖。实验结果表明,提出的基于区块链智能合约技术的动态频谱共享方案能够满足用户安全有效地进行动态频谱共享,具有可行性。关键词:区块链;智能合约;动态频谱共享;频谱券;预言机中图分类号:TP311.13文章编号:0255-8297(2023)04-059
3、0-11Dynamic Spectrum Sharing Based onBlockchain Smart ContractPAN Liang1,2,CHEN Bin1,2,DAI Mingjun1,2,WANG Taotao1,2,ZHANG Shengli1,21.College of Electronics and Information Engineering,Shenzhen University,Shenzhen 518060,Guangdong,China2.Blockchain Technology Research Center,Shenzhen University,She
4、nzhen 518060,Guangdong,ChinaAbstract:In this paper,a blockchain smart contract-based smart contract is proposed toaddress the problems of data security threats,high management costs,and low scalabilityin centralized dynamic spectrum sharing.First,spectrum coupons are designed using theblockchain ERC
5、4907 protocol to ensure the unique identification and leasing of spectrumresources.Second,the blockchain oracle machine was used to update the data of idlespectrum resources in real time to realize the upload of spectrum data.Finally,an auctionalgorithm based on smart contracts and Vue framework is
6、used to auction the spectrumcoupon lease term corresponding to the idle spectrum resources on the front-end page.收稿日期:2022-10-25基金项目:国家自然科学基金(No.62071304);教育部科技发展中心产学研创新基金(No.2022BL076,No.2019-J02002);深圳市科技计划(No.20220809155455002)资助通信作者:陈彬,副教授,研究方向为区块链共识机制、智能合约安全机制、深度强化学习在云计算网络优化中的应用。E-mail:第4期潘亮,等:
7、基于区块链智能合约的动态频谱共享591Experimental results indicate that the proposed dynamic spectrum sharing scheme basedon the blockchain smart contract ensures the users safe and effective dynamic spectrumsharing and is feasible.Keywords:blockchain,smart contract,dynamic spectrum sharing,spectrum voucher,oracle随着
8、6G 移动通信网络、物联网等新一代网络技术的飞速发展,频谱需求量呈爆发式增长。频谱资源作为一种稀缺的资源,因其在不同时域、频域、空域使用的效率差异较大,传统的静态频谱分配会导致授权频段的利用率很低1。认知无线电系统中的动态频谱共享系统允许次用户(secondary user,SU)通过频谱感知或者接入频谱地理位置数据库来使用主用户(primary user,PU)的授权频谱资源,以此来提高频谱利用率2。但传统的集中式动态频谱共享存在如下问题:1)通过集中式动态频谱共享系统来获得空闲频谱资源,以实现频谱交易及频谱资源数据存储,这种方式容易受到安全性攻击。攻击者根据其自身利益篡改频谱数据,从而对频
9、谱交易双方的数据安全产生极大的威胁3;2)集中式的动态频谱共享系统存在管理成本高、低扩展性等问题4。区块链是一个集加密技术、点对点网络、共识机制等技术于一体的分布式数据库5。区块链技术的去中心化特性降低了动态频谱共享受到安全性攻击的概率,其对加密算法以及共识机制的使用保证了频谱交易数据的不可篡改及可追溯性6-7。同时,在区块链中引入智能合约,通过提前设计好的应用程序,扩展了区块链的应用,保证了交易的有效性8。区块链智能合约推动了动态频谱共享与区块链技术的进一步融合9。但在传统区块链模式中,由于区块链具有特殊的底层共识协议,链上智能合约无法获得来自外部世界的频谱资源数据10-11。区块链预言机的
10、出现解决了以上问题12,它可以将链上智能合约连接至链下世界,通过预言机机制,预言机节点对授权频谱资源进行整合,用户可以通过对智能合约的调用来询问链下的空闲频谱资源13。同时,为使得频谱资源的有序使用,本系统引入基于区块链 ERC4709 协议的非同质化代币(non-fungible token,NFT),该 NFT 作为不可替代的代币标准,可用于跟踪一个独特事物的所有权,利用其唯一性来映射对应的频谱资源14,以此让用户有序地使用空闲频谱资源,降低频谱资源使用时用户之间的碰撞15。目前,已经有研究把区块链智能合约技术和动态频谱共享结合起来。文献 16 提出了频谱区块链的体系架构,分别介绍了频谱区
11、块链的系统架构、频谱可信账本的构建、频谱智能合约管理,以及频谱交易结算方法。但在其文章中未详细介绍利用智能合约来实现频谱资源拍卖的具体算法。文献 17 提出了基于区块链技术的频谱共享,同时设计了多运营商无线通信网络频谱共享交易(multi-ops spectrum sharing,MOSS)智能合约,指出所提系统的安全性和可信赖性相比于传统的频谱共享都有所提高。但文中并未考虑到频谱拍卖成功之后,频谱资源唯一标识性问题。文献 18 提出了基于区块链智能合约的频谱共享技术,通过对其设计的系统框架和智能合约算法的相关介绍,得出在实用性层面,该系统降低了汽油费的消耗,激励了用户主动共享其授权频谱,提高
12、了频谱共享的效率。但该文只介绍了主用户和次用户之间的频谱交易,并未讨论如何通过区块链获得链下的频谱资源。基于上述研究,本文提出了以区块链智能合约技术为基础,基于 NFT-频谱券、区块链预言机和频谱租赁期限竞拍的动态频谱共享。首先,基于 ERC4907 协议生成 NFT-频谱券,利用该频谱具有唯一 ID 和被租赁的特点映射对应的频谱资源;其次,设计预言机机制,用户可通过区块链预言机获得链下空闲频谱资源,实现频谱资源数据的上链;再次,设计频谱券租赁期限拍卖的智能合约,竞拍成功者可以在其租赁期内获得对该频谱的使用权;最后,利用 Vue592应用科学学报第41卷框架实现了用户可在前端页面参与到竞拍的功
13、能。实验结果表明,该方案利用区块链技术来实现动态频谱共享的数据存储,区块链技术以去中心化的方式,通过对加密算法的使用保证了频谱数据的不可篡改以及透明性,同时该方案具有低成本、高可扩展性的优势。1系统模型以及共享流程1.1动态频谱共享系统模型区块链智能合约技术提供了一个去中心化的框架,来保证在没有第三方参与的情况下实现动态频谱共享。同时,本文将基于 ERC4907 协议的频谱券、频谱预言机机制、频谱券租赁期限的拍卖应用于动态频谱共享中,系统模型如图 1 所示。该系统模型包括频谱管理者、频谱券生成模块、预言机模块、频谱券租赁期限拍卖模块、竞标者。1)频谱管理者。部署预言机节点、生成频谱券以及部署竞
14、拍智能合约。2)频谱券生成模块。频谱券基于 ERC4907 协议生成,较常用的基于 ERC721 协议的频谱券相比,本文使用的是频谱券新增加的租赁功能。该功能可实现在不用改变频谱券拥有者的情况下,通过租赁其使用期限的形式,让获得该频谱券使用权的用户在租赁时间段内使用对应的频谱资源。3)预言机模块。当竞标者通过预言机智能合约询问空闲频谱资源时,预言机节点将所需的当前空闲频谱资源数据上传至区块链上,同时返回与频谱资源对应的频谱券 ID。4)频谱券租赁期限拍卖模块。用户根据频谱券 ID 参与到频谱管理者所设置的与之对应的频谱券租赁期限的拍卖中,完成该频谱券的链上拍卖。5)竞标者是对频谱资源有需求的用
15、户。竞标者既可以是对频谱资源有需求的 PU,其模型为 PuBuyer=PuBuyer1,PuBuyer2,PuBuyerS;也可以是对频谱资源有需求的 SU,其模型为 SU=SU1,SU2,SUj。竞标者通过竞拍智能合约参与竞拍,成功竞标者获得频谱资源租赁期限内的使用权。?图 1 频谱共享系统模型Figure 1 Spectrum sharing system model第4期潘亮,等:基于区块链智能合约的动态频谱共享5931.2动态频谱共享流程首先,系统根据地理位置和频谱带宽等参数,依据 ERC4907 协议制作频谱券,并设置竞拍智能合约。当用户需要频谱时,系统的流程如下:1)竞标者向区块链
16、预言机询问可用的频谱资源;2)预言机返回频谱资源,同时触发频谱券模块向竞标者返回对应的频谱券 ID;3)预言机调用拍卖智能合约,根据频谱券 ID 设置与之对应的频谱券租赁期限的拍卖;4)竞标者根据频谱券 ID 参与拍卖;5)拍卖时间终止,拍卖模块将频谱券租用期转让给成功竞标者;6)租赁期限结束,频谱券租赁者地址返回初始值。频谱共享流程如图 2 所示。1.?3.?2.?ID?4.?ID?5.?6.?图 2 频谱共享流程Figure 2 Spectrum sharing process2基于 ERC4907 协议的频谱券2.1频谱券生成针对集中式的动态频谱共享所存在的各用户之间使用频谱资源产生碰撞
17、以及频谱干扰等问题,将基于 ERC4907 协议的 NFT频谱券应用于本文所设计的动态频谱共享方案中。该频谱券的生成由函数 1 给出,在频谱券生成函数中,以频谱带宽、频谱资源地理位置作为输入参数,得到具有不同 ID 的频谱券,其 ID 具有唯一性。其生成结果如图 3 所示,可看到其频谱券 ID 为“1”,其拥有者地址为“0 x5c6B0f7Bf3E7ce046039Bd8FABdfD3f9F5021678”。函数 1频谱券生成函数输入_name,_channel,_location,_time输出SpectrumTokenfunction createSpectrum onlyOwnerSpe
18、ctrum memory spectrum=Spectrum(/频谱券 IDid:_id/频谱券名字name:_name/频谱券拥有者地址addressOwner:msg.sender/频谱带宽594应用科学学报第41卷channel:_channel/频谱所在位置location:_location)mint(spectrum)emit LogMintend function图 3 频谱券生成Figure 3 Spectrum voucher generation2.2频谱券租赁期限设置基于 ERC4907 协议的频谱券具有可租赁的特点。根据竞标成功者的地址、频谱券 ID、租赁时间等参数,设
19、置其频谱券的租用权。其租赁期限的设置功能由函数 2 给出。函数 2租赁期限的设置输入频谱券 ID,租赁者地址,租赁期限输出频谱券租用权function setUser(uint256 tokenIdaddress useruint64 expires)public virtual returns(bool)UserInfo storage info=_userstokenIdinfo.user=userinfo.expires=expiresemit UpdateUser(tokenId,user,expires)return trueend function3频谱预言机竞标者通过区块链智能合
20、约不能直接询问到链下的频谱资源数据,为解决此问题,本系统引入了预言机机制。通过搭建预言机节点、部署区块链智能合约,实现竞标者通过区块链预言机询问链下空闲频谱资源数据的功能。预言机的模型如图 4 所示。1)频谱数据。频谱管理者将感知的空闲频谱资源存储在数据库中,同时设置网页 API接口。2)预言机。在图 4 预言机模型中指的是预言机节点,预言机节点是由频谱管理者进行搭建,将获得空闲频谱资源上传至区块链上。其节点信息如图 5 所示,从图中可以看到预言机节点地址等信息。3)区块链。该部分包括:预言机客户端智能合约,竞标者调用该智能合约的函数来得到所需的频谱资源,其功能的具体实现由函数 3 给出;预言
21、机智能合约,该智能合约由预言机节点调用,当预言机节点接收到链下的频谱资源数据之后,调用该智能合约将数据上传至区块链上,该功能的具体实现由函数 4 给出。第4期潘亮,等:基于区块链智能合约的动态频谱共享595?Block1Blockn.?图 4 频谱预言机Figure 4 Spectrum oracle函数 3客户端询问频谱资源函数输入预言机地址、工作 ID输出频谱资源数据function requestSpectrumResourceChainlink.Request=buildChainlinkRequest(jobId,address(this),this.fulfill.selector
22、)/设置所要请求的 API 地址request.add(“get”,“Web API”)/API 返回结果的解析路径request.add(“path”,“bandwidth”)/为去除小数点将结果乘以的倍数request.addInt(“times”,1)/发送请求return sendChainlinkRequestTo(oracle,request,fee)end function函数 4预言机返还频谱数据函数输入预言机节点地址输出频谱资源数据function setFulfillmentPermission(address _nodebool _allowed)onlyOwneraut
23、horizedNodes_node=_allowedfunction fulfillOracleRequest(bytes32 _requestIduint256 _paymentaddress _callbackAddressbytes4 _callbackFunctionIduint256 _expirationbytes32 _data596应用科学学报第41卷)external onlyAuthorizedNodebytes32 paramsHash=keccak256(abi.encodePacked(_payment_callbackAddress_callbackFunction
24、Id_expiration);require(commitments_requestId=paramsHash)withdrawableTokens=withdrawableTokens.add(_payment)delete commitments_requestIdreturn _callbackAddress.call(_callbackFunctionId,_requestId,_data)end functionend function图 5 频谱预言机节点信息Figure 5 Spectrum oracle node information4频谱券租赁期限竞拍以及 Web3 前端实
25、现本节针对所提出的通过预言机获得空闲频谱资源和根据频谱资源生成频谱券,描述了频谱券租赁期限竞拍智能合约相关函数的设计,如何在前端页面实现对智能合约的调用,以及对实验结果的展示。4.1竞拍智能合约设计4.1.1频谱券竞拍资格设置频谱管理者根据频谱券 ID 设置与之对应的竞拍。当用户获得可用频谱资源对应的频谱券 ID 之后,根据频谱管理者所设置的 ID 参加频谱租赁期限的拍卖。其功能的具体实现由函数 5 给出,该函数只能频谱管理者调用。函数 5设置拍卖资格function setPermission(uint256 tokenIdbool permission)public ownerOnly m
26、odifier ownerOnly第4期潘亮,等:基于区块链智能合约的动态频谱共享597require(msg.sender=_owner)bool tokenIdPermissiontokenIdPermissiontokenId=permissionend function4.1.2频谱券租赁期限竞拍本文采用的是英式拍卖,其竞拍价格总和要大于当前的最高价(highestBid),竞拍方为有效。其功能的具体实现由函数 6 给出。函数 6频谱竞拍函数function bid(uint256 tokenId)public payable require(tokenIdPermissiontoke
27、nId=true)require(block.timestamp highestBidtokenId)if(auctionEnd1tokenId=0)auctionEnd1tokenId=block.timestamp+biddingbiddersmsg.sendertokenId+=msg.valuehighestBiddertokenId=msg.senderhighestBidtokenId=biddersmsg.sendertokenIdemit HighestBid(msg.sender,highestBidtokenId)end function4.2Web3前端实现及实验结果展示
28、Web3 前端的实现使用的是 Vue+element,通过 web3.js 和智能合约进行交互,其界面的展示如图 6 所示。频谱管理者设置本轮竞拍时间、收益人地址,以及根据频谱券 ID 设置对应的频谱券租赁期限的拍卖。用户根据所设置的频谱券 ID 参与到此次竞拍。本文频谱券租赁期限竞拍方案选取 6 位拍卖者,其中 3 位 SU,3 位 PuBuyer,实验数据如表 1 所示,竞拍金额单位为 ether。具体实现流程如下:1)用户通过预言机机制获得可用频谱资源,同时得到一个与频谱资源所对应的频谱券 ID。2)频谱管理者根据频谱券 ID 设置与之对应的频谱券租赁期限的拍卖,同时会触发智能合约事件。
29、用户在获得频谱券 ID 之后,根据其接收到的事件内容,在网页前端输入与之对应的频谱券 ID 参与到此次的竞拍中。图 6 频谱共享界面Figure 6 Spectrum sharing interface598应用科学学报第41卷3)在竞拍时间范围内,竞标者可以通过 Beneficiary 按钮来获取共享空闲频谱资源的拍卖者的地址,验证其地址和监听事件中的拍卖者地址是否一致。竞标者通过 HighestBid 按钮来获取当前的最高竞拍金额,来决定是否继续参与竞拍。竞标者在 Value 输入框填入竞拍金额,然后,点击 SetBid 按钮,调用智能合约函数 3 中的 bid 函数参与竞拍,竞拍金额以
30、ether 为单位。4)拍卖结束,竞标者竞拍结果如图 7 所示,出价最高者的账户地址为 0 x17F6AD8Ef982-297579C203069C1DbfFE4348c372,其竞拍金额 10 ether,其余额的小数部分是汽油费消耗所造成的。未成功竞拍频谱资源的竞标者,可以点击 withdraw 按钮来撤回之前参与竞拍所支付的竞拍金额。5)在拍卖结束之后,该系统自动触发 AuctionEnd 函数来获取最高价竞拍者所付的竞拍金额 10 ether。同时,频谱管理者设置其频谱资源所对应的频谱券租赁期限、租赁者,其结果如图 8 所示。表 1 竞标者地址和竞拍金额Table 1 Bidder a
31、ddress and auction amount竞标者地址金额/etherSU10 x5B38Da56beddC42SU20 xAb848315835cb23SU30 x4B2099e22C02db5PuBuyer10 x78731D495cabaB6PuBuyer20 x617F2E1465E7f28PuBuyer30 x17F6AD4348c37210图 7 频谱竞拍结果Figure 7 Spectrum auction results第4期潘亮,等:基于区块链智能合约的动态频谱共享599图 8 频谱券租用者Figure 8 Spectrum voucher renter5结语本文通过对
32、区块链智能合约相关函数的设计实现了动态频谱共享。利用区块链技术去中心化、交易数据不可篡改、低成本等特点,为传统动态频谱共享中存在的集中式系统管理成本较高、频谱数据易篡改,以及低扩展性等问题提供了新的解决方案。本文引入基于 ERC4907协议的非同质化代币-频谱券,以该频谱券作为频谱资源的唯一标识,拍卖成功的拍卖者可以凭借频谱券来使用竞拍的频谱资源。通过 Vue 框架,在网页前端实现了对智能合约的调用,实现了用户在前端页面进行频谱券租赁期限的竞拍等一系列功能。参参参考考考文文文献献献:1 赛图德,赫金.认知无线电基础 M.王莹,译.北京:机械工业出版社,2019:5-19.2 Kotobi K,
33、Bilen S G.Secure blockchains for dynamic spectrum access:a decentralizeddatabase in moving cognitive radio networks enhances security and user access J.IEEE Vehic-ular Technology Magazine,2018,18(1):32-39.3 Liang C,Lu C,Zhao Y P,et al.Interference-based consensus and transaction validationmechanisms
34、 for blockchain-based spectrum management J.IEEE Access,2021,9(7):90757-90766.4 Maksymyuk T,Gazda J,Volosin M,et al.Blockchain-empowered framework for decentral-ized network management in 6G J.IEEE Communications Magazine,2020,58(9):86-92.5 Kotobi K,Mainwaring P B,Bilen S G.Puzzle-based auction mech
35、anism for spectrumsharing in cognitive radio networks C/2016 IEEE 12th International Conference on Wirelessand Mobile Computing,Networking and Communications.Piscataway:IEEE,2016:1-6.6 Ariyarathna T,Harankahadeniya P,Isthikar S,et al.Dynamic spectrum access via smartcontracts on blockchain C/2019 IE
36、EE Wireless Communications and Networking Conference(WCNC).Piscataway:IEEE,2019:1-6.7 Yrjola S.Analysis of blockchain use cases in the citizens broadband radio service spectrumsharing concept C/IEEE International Conference on Cognitive Radio Oriented Wireless Net-works.Cham:Springer,2017:128-139.8
37、Zhou Z,Chen X,Zhang Y,et al.Blockchain-empowered secure spectrum sharing for 5Gheterogeneous networks J.IEEE Network,2020,34(1):24-31.9 王宗慧,张胜利,金石,等.区块链数据隐私保护研究 J.物联网学报,2018,2(3):71-81.Wang Z H,Zhang S L,Jin S,et al.Research on data privacy protection in blockchain J.Journal of the Internet of Thing
38、s,2018,2(3):71-81.(in Chinese)10 张胜利,王滔滔,杨晴,等.高性能许可公链 J.深圳大学学报(理工版),2020,37(3):227-233.Zhang S L,Wang T T,Yang Q,et al.High-performance permissioned public chain J.Journal of Shenzhen University(Science and Technology Edition),2020,37(3):227-233.(inChinese)11 Breiki H A,Alqassem L,Salah K,et al.Dece
39、ntralized access control for IoT data usingblockchain and trusted oracles C/IEEE International Conference on Industrial Internet(IEEEICII).Piscataway:IEEE,2019:248-257.12 Albreiki H,Rehman M,Salah K,et al.Trustworthy blockchain oracles:review,comparison,and open research challenges J.IEEE Access,202
40、0,8(99):85675-85685.600应用科学学报第41卷13 Adler J,Berryhill R,Veneris A,et al.Astraea:a decentralized blockchain oracle C/2018IEEE International Conference on Internet of Things(iThings)and IEEE Green Computing andCommunications(GreenCom)and IEEE Cyber,Physical and Social Computing(CPSCom)andIEEE Smart Da
41、ta(SmartData).Piscataway:IEEE,2018:1145-1152.14 Nelaturu K,Adler J,Merlini M,et al.On public crowdsource-based mechanisms fora decentralized blockchain oracle J.IEEE Transactions on Engineering Management,2020,67(4):1444-1458.15 Bhattarai S,Park J,Gao B,et al.An overview of dynamic spectrum sharing:
42、ongoinginitiatives,challenges,and a roadmap for future research J.IEEE Transactions on CognitiveCommunications&Networking,2017,2(2):110-128.16 王威,李祖广,吴启辉.基于区块链的动态频谱共享技术 J.物联网学报,2020,4(2):26-34.Wang W,Li Z G,Wu Q H.Dynamic spectrum sharing technology based on blockchain J.Journal of the Internet of T
43、hings,2020,4(2):26-34.(in Chinese)17 Zheng S,Han T,Jiang Y,et al.Smart contract-based spectrum sharing transactions formulti-operators wireless communication Networks J.IEEE Access,2020,8(8):88547-88557.18 Alhosani H,Rehman M H U,Salah K,et al.Blockchain-based solution for multiple operatorspectrum sharing(MOSS)in 5G networks C/2020 IEEE Globecom Workshops GC Wkshps.Piscataway:IEEE,2020:1-6.(编辑:王雪)