基于区块链智能合约的动态频谱共享

2023-12-11 10:08代明军王滔滔张胜利
应用科学学报 2023年4期
关键词:期限合约频谱

潘 亮,陈 彬,代明军,王滔滔,张胜利

1.深圳大学电子与信息工程学院,广东深圳518060 2.深圳大学区块链技术研究中心,广东深圳518060

随着6G 移动通信网络、物联网等新一代网络技术的飞速发展,频谱需求量呈爆发式增长。频谱资源作为一种稀缺的资源,因其在不同时域、频域、空域使用的效率差异较大,传统的静态频谱分配会导致授权频段的利用率很低[1]。认知无线电系统中的动态频谱共享系统允许次用户(secondary user,SU)通过频谱感知或者接入频谱地理位置数据库来使用主用户(primary user,PU)的授权频谱资源,以此来提高频谱利用率[2]。但传统的集中式动态频谱共享存在如下问题:1)通过集中式动态频谱共享系统来获得空闲频谱资源,以实现频谱交易及频谱资源数据存储,这种方式容易受到安全性攻击。攻击者根据其自身利益篡改频谱数据,从而对频谱交易双方的数据安全产生极大的威胁[3];2)集中式的动态频谱共享系统存在管理成本高、低扩展性等问题[4]。

区块链是一个集加密技术、点对点网络、共识机制等技术于一体的分布式数据库[5]。区块链技术的去中心化特性降低了动态频谱共享受到安全性攻击的概率,其对加密算法以及共识机制的使用保证了频谱交易数据的不可篡改及可追溯性[6-7]。同时,在区块链中引入智能合约,通过提前设计好的应用程序,扩展了区块链的应用,保证了交易的有效性[8]。区块链智能合约推动了动态频谱共享与区块链技术的进一步融合[9]。但在传统区块链模式中,由于区块链具有特殊的底层共识协议,链上智能合约无法获得来自外部世界的频谱资源数据[10-11]。区块链预言机的出现解决了以上问题[12],它可以将链上智能合约连接至链下世界,通过预言机机制,预言机节点对授权频谱资源进行整合,用户可以通过对智能合约的调用来询问链下的空闲频谱资源[13]。同时,为使得频谱资源的有序使用,本系统引入基于区块链ERC4709 协议的非同质化代币(non-fungible token,NFT),该NFT 作为不可替代的代币标准,可用于跟踪一个独特事物的所有权,利用其唯一性来映射对应的频谱资源[14],以此让用户有序地使用空闲频谱资源,降低频谱资源使用时用户之间的碰撞[15]。

目前,已经有研究把区块链智能合约技术和动态频谱共享结合起来。文献[16] 提出了频谱区块链的体系架构,分别介绍了频谱区块链的系统架构、频谱可信账本的构建、频谱智能合约管理,以及频谱交易结算方法。但在其文章中未详细介绍利用智能合约来实现频谱资源拍卖的具体算法。文献[17] 提出了基于区块链技术的频谱共享,同时设计了多运营商无线通信网络频谱共享交易(multi-ops spectrum sharing,MOSS)智能合约,指出所提系统的安全性和可信赖性相比于传统的频谱共享都有所提高。但文中并未考虑到频谱拍卖成功之后,频谱资源唯一标识性问题。文献[18] 提出了基于区块链智能合约的频谱共享技术,通过对其设计的系统框架和智能合约算法的相关介绍,得出在实用性层面,该系统降低了汽油费的消耗,激励了用户主动共享其授权频谱,提高了频谱共享的效率。但该文只介绍了主用户和次用户之间的频谱交易,并未讨论如何通过区块链获得链下的频谱资源。

基于上述研究,本文提出了以区块链智能合约技术为基础,基于NFT-频谱券、区块链预言机和频谱租赁期限竞拍的动态频谱共享。首先,基于ERC4907 协议生成NFT-频谱券,利用该频谱具有唯一ID 和被租赁的特点映射对应的频谱资源;其次,设计预言机机制,用户可通过区块链预言机获得链下空闲频谱资源,实现频谱资源数据的上链;再次,设计频谱券租赁期限拍卖的智能合约,竞拍成功者可以在其租赁期内获得对该频谱的使用权;最后,利用Vue框架实现了用户可在前端页面参与到竞拍的功能。实验结果表明,该方案利用区块链技术来实现动态频谱共享的数据存储,区块链技术以去中心化的方式,通过对加密算法的使用保证了频谱数据的不可篡改以及透明性,同时该方案具有低成本、高可扩展性的优势。

1 系统模型以及共享流程

1.1 动态频谱共享系统模型

区块链智能合约技术提供了一个去中心化的框架,来保证在没有第三方参与的情况下实现动态频谱共享。同时,本文将基于ERC4907 协议的频谱券、频谱预言机机制、频谱券租赁期限的拍卖应用于动态频谱共享中,系统模型如图1 所示。该系统模型包括频谱管理者、频谱券生成模块、预言机模块、频谱券租赁期限拍卖模块、竞标者。

图1 频谱共享系统模型Figure 1 Spectrum sharing system model

1)频谱管理者。部署预言机节点、生成频谱券以及部署竞拍智能合约。

2)频谱券生成模块。频谱券基于ERC4907 协议生成,较常用的基于ERC721 协议的频谱券相比,本文使用的是频谱券新增加的租赁功能。该功能可实现在不用改变频谱券拥有者的情况下,通过租赁其使用期限的形式,让获得该频谱券使用权的用户在租赁时间段内使用对应的频谱资源。

3)预言机模块。当竞标者通过预言机智能合约询问空闲频谱资源时,预言机节点将所需的当前空闲频谱资源数据上传至区块链上,同时返回与频谱资源对应的频谱券ID。

4)频谱券租赁期限拍卖模块。用户根据频谱券ID 参与到频谱管理者所设置的与之对应的频谱券租赁期限的拍卖中,完成该频谱券的链上拍卖。

5)竞标者是对频谱资源有需求的用户。竞标者既可以是对频谱资源有需求的PU,其模型为PuBuyer={PuBuyer1,PuBuyer2,···,PuBuyerS};也可以是对频谱资源有需求的SU,其模型为SU={SU1,SU2,···,SUj}。竞标者通过竞拍智能合约参与竞拍,成功竞标者获得频谱资源租赁期限内的使用权。

1.2 动态频谱共享流程

首先,系统根据地理位置和频谱带宽等参数,依据ERC4907 协议制作频谱券,并设置竞拍智能合约。当用户需要频谱时,系统的流程如下:1)竞标者向区块链预言机询问可用的频谱资源;2)预言机返回频谱资源,同时触发频谱券模块向竞标者返回对应的频谱券ID;3)预言机调用拍卖智能合约,根据频谱券ID 设置与之对应的频谱券租赁期限的拍卖;4)竞标者根据频谱券ID 参与拍卖;5)拍卖时间终止,拍卖模块将频谱券租用期转让给成功竞标者;6)租赁期限结束,频谱券租赁者地址返回初始值。频谱共享流程如图2 所示。

图2 频谱共享流程Figure 2 Spectrum sharing process

2 基于ERC4907 协议的频谱券

2.1 频谱券生成

针对集中式的动态频谱共享所存在的各用户之间使用频谱资源产生碰撞以及频谱干扰等问题,将基于ERC4907 协议的NFT——频谱券应用于本文所设计的动态频谱共享方案中。该频谱券的生成由函数1 给出,在频谱券生成函数中,以频谱带宽、频谱资源地理位置作为输入参数,得到具有不同ID 的频谱券,其ID 具有唯一性。其生成结果如图3 所示,可看到其频谱券ID 为“1”,其拥有者地址为“0x5c6B0f7Bf3E7ce046039Bd8FABdfD3f9F5021678”。

图3 频谱券生成Figure 3 Spectrum voucher generation

函数1频谱券生成函数

2.2 频谱券租赁期限设置

基于ERC4907 协议的频谱券具有可租赁的特点。根据竞标成功者的地址、频谱券ID、租赁时间等参数,设置其频谱券的租用权。其租赁期限的设置功能由函数2 给出。

函数2租赁期限的设置

3 频谱预言机

竞标者通过区块链智能合约不能直接询问到链下的频谱资源数据,为解决此问题,本系统引入了预言机机制。通过搭建预言机节点、部署区块链智能合约,实现竞标者通过区块链预言机询问链下空闲频谱资源数据的功能。预言机的模型如图4 所示。

图4 频谱预言机Figure 4 Spectrum oracle

1)频谱数据。频谱管理者将感知的空闲频谱资源存储在数据库中,同时设置网页API接口。

2)预言机。在图4 预言机模型中指的是预言机节点,预言机节点是由频谱管理者进行搭建,将获得空闲频谱资源上传至区块链上。其节点信息如图5 所示,从图中可以看到预言机节点地址等信息。

图5 频谱预言机节点信息Figure 5 Spectrum oracle node information

3)区块链。该部分包括:预言机客户端智能合约,竞标者调用该智能合约的函数来得到所需的频谱资源,其功能的具体实现由函数3 给出;预言机智能合约,该智能合约由预言机节点调用,当预言机节点接收到链下的频谱资源数据之后,调用该智能合约将数据上传至区块链上,该功能的具体实现由函数4 给出。

函数3客户端询问频谱资源函数

函数4预言机返还频谱数据函数

4 频谱券租赁期限竞拍以及Web3 前端实现

本节针对所提出的通过预言机获得空闲频谱资源和根据频谱资源生成频谱券,描述了频谱券租赁期限竞拍智能合约相关函数的设计,如何在前端页面实现对智能合约的调用,以及对实验结果的展示。

4.1 竞拍智能合约设计

4.1.1 频谱券竞拍资格设置

频谱管理者根据频谱券ID 设置与之对应的竞拍。当用户获得可用频谱资源对应的频谱券ID 之后,根据频谱管理者所设置的ID 参加频谱租赁期限的拍卖。其功能的具体实现由函数5 给出,该函数只能频谱管理者调用。

函数5设置拍卖资格

4.1.2 频谱券租赁期限竞拍

本文采用的是英式拍卖,其竞拍价格总和要大于当前的最高价(highestBid),竞拍方为有效。其功能的具体实现由函数6 给出。

函数6频谱竞拍函数

4.2 Web3 前端实现及实验结果展示

Web3 前端的实现使用的是Vue+element,通过web3.js 和智能合约进行交互,其界面的展示如图6 所示。频谱管理者设置本轮竞拍时间、收益人地址,以及根据频谱券ID 设置对应的频谱券租赁期限的拍卖。用户根据所设置的频谱券ID 参与到此次竞拍。本文频谱券租赁期限竞拍方案选取6 位拍卖者,其中3 位SU,3 位PuBuyer,实验数据如表1 所示,竞拍金额单位为ether。具体实现流程如下:

表1 竞标者地址和竞拍金额Table 1 Bidder address and auction amount

图6 频谱共享界面Figure 6 Spectrum sharing interface

1)用户通过预言机机制获得可用频谱资源,同时得到一个与频谱资源所对应的频谱券ID。

2)频谱管理者根据频谱券ID 设置与之对应的频谱券租赁期限的拍卖,同时会触发智能合约事件。用户在获得频谱券ID 之后,根据其接收到的事件内容,在网页前端输入与之对应的频谱券ID 参与到此次的竞拍中。

3)在竞拍时间范围内,竞标者可以通过Beneficiary 按钮来获取共享空闲频谱资源的拍卖者的地址,验证其地址和监听事件中的拍卖者地址是否一致。竞标者通过HighestBid 按钮来获取当前的最高竞拍金额,来决定是否继续参与竞拍。竞标者在Value 输入框填入竞拍金额,然后,点击SetBid 按钮,调用智能合约函数3 中的bid 函数参与竞拍,竞拍金额以ether 为单位。

4)拍卖结束,竞标者竞拍结果如图7 所示,出价最高者的账户地址为0x17F6AD8Ef982-297579C203069C1DbfFE4348c372,其竞拍金额10 ether,其余额的小数部分是汽油费消耗所造成的。未成功竞拍频谱资源的竞标者,可以点击withdraw 按钮来撤回之前参与竞拍所支付的竞拍金额。

图7 频谱竞拍结果Figure 7 Spectrum auction results

5)在拍卖结束之后,该系统自动触发AuctionEnd 函数来获取最高价竞拍者所付的竞拍金额10 ether。同时,频谱管理者设置其频谱资源所对应的频谱券租赁期限、租赁者,其结果如图8 所示。

图8 频谱券租用者Figure 8 Spectrum voucher renter

5 结语

本文通过对区块链智能合约相关函数的设计实现了动态频谱共享。利用区块链技术去中心化、交易数据不可篡改、低成本等特点,为传统动态频谱共享中存在的集中式系统管理成本较高、频谱数据易篡改,以及低扩展性等问题提供了新的解决方案。本文引入基于ERC4907协议的非同质化代币-频谱券,以该频谱券作为频谱资源的唯一标识,拍卖成功的拍卖者可以凭借频谱券来使用竞拍的频谱资源。通过Vue 框架,在网页前端实现了对智能合约的调用,实现了用户在前端页面进行频谱券租赁期限的竞拍等一系列功能。

猜你喜欢
期限合约频谱
一种用于深空探测的Chirp变换频谱分析仪设计与实现
一种基于稀疏度估计的自适应压缩频谱感知算法
婚姻期限
企业会计档案保管期限延长之我见
我们的约定没有期限
劳动合同期限有几种?
一种基于功率限制下的认知无线电的频谱感知模型
基于Labview的虚拟频谱分析仪的设计
合约必守,谁能例外!——对“情势变更”制度不可寄于过高期望