复杂物联网联盟链系统通信机制研究

2022-08-01 01:43刘敖迪王清贤
自动化学报 2022年7期
关键词:子群结点限值

乔 蕊 刘敖迪 陈 迪 王清贤

物联网(Internet of things,IoT)是通过部署具有一定感知、计算、通信、控制、协同和自治特征的基础设施,获得物理世界的信息,通过网络实现信息的传输、协同和处理,从而实现人与物、物与物之间实时全面感知、动态可靠控制和智能信息服务的互联网络[1].根据麦肯锡全球研究院2018 年11月发布的报告预测,全球物联网市场规模将在2025 年达到11 万亿美元,约占全球经济的11%,其市场前景将远远超过计算机、互联网与移动通信等[2].物联网规模扩张后,多种物联网应用之间的交互合作更加密切,为促进行业智能应用服务水平的进一步提升,设备间的协作和交互呈现爆发式增长,用户对隐私、安全、定制消费等需求将进一步加剧[3−4],迫切需要为功能受限的设备提供可扩展的安全性和动态自主通信机制.围绕上述需求,研究者和物联网企业都做出很多努力.常见的物联网解决方案依赖于云服务器−客户端架构[5−7],然而不同利益主体间很难实现完全信任并进行基于机器数据的自主协作交互.另一种解决方案是将边缘计算作为云架构的补充[8−10],但边缘设备和云服务器之间的大量数据传输导致底层网络拥塞,且无法实现不同利益主体间智能设备的自主交互.联盟链具有公有链固有的安全性,其许可准入机制允许对网络结点及规模进行控制,恰好迎合了物联网向规模化、智能化发展的需要,成为近期物联网研究的热点[11−13].

建立在物联网联盟链数据及操作授权隐私保护、不可篡改和可追溯特性基础上的物联网自主协作,将大大提升物联网商业价值[14−15].典型的物联网联盟链链间协作场景如图1 所示,该场景中,医院、外部停车场、征信机构均采用联盟链存储和管理各自的数据.患者拟驾车去医院就诊,可提前使用智能手机等终端输入个人信息进行就诊预约,并授权医院从征信机构自主获取该患者的信用评估信息.医院根据该患者信用等级,授权该患者使用停车场及部分智能医疗监测设备.患者可在就诊当日自助完成车辆识别、常规检查、病史记录等,快速准确地建立就诊档案.

图1 物联网联盟链链间交互场景图Fig.1 Interaction between IoT consortium chains

目前,学术界和企业界已经在不同的物联网生态及价值体系下,构建了若干基于联盟链的物联网应用[16−19].然而由于联盟链的相互独立性,产生了多中心化的区块链生态体系,现存各联盟链之间的数据通信、价值转移等仍面临挑战,价值孤岛现象逐渐显现[20−22].此外,随着物联网系统规模的扩大,实际通信场景的复杂化势必造成系统性能和安全性的下降,对结点跨联盟链通信过程中访问控制机制的可扩展性也提出了新的挑战[23−24].

本文在基于联盟链验证结点列表VNL (Verification nodes list)共识和跨链通信机制研究基础上[25−27],进一步研究复杂场景下物联网联盟链系统自主交互理论模型及算法.从基于门限数字签名跨链共识TCCM (Threshold-digital-signature-based cross-chain consensus mechanism)的可选信任−验证机制、基于TCCM 自主路由的链间动态授权机制及防止异步授权的跨链原子通信机制三方面对现有物联网通信机制进行改进,给出一种能够抵御复杂跨联盟链通信系统失效蔓延攻击的异步授权状态同步通信机制,在优化系统性能的同时确保系统的安全性.

本文的主要贡献如下:

1) 给出结点跨链通信身份可信性路径证明PPTI (Path proof with trusted identity)构造规则及基于门限数字签名TDS (Threshold digital signature)的递归路径证明生成方法,将多个联盟链验证结点列表对跨链交易的共识过程建模为存在多个特权子群的TDS 过程.在此基础上,提出能够有效提高系统安全性和可扩展性的基于多级混合共识的可选信任−验证机制.

2) 采用物联网动态数据操作授权多维DAG(Direct acyclic graph)存储结构构造授权状态链,提出构造授权码并运行智能合约交易实现结点间细粒度跨链自主授权方法,利用存在特权子群的TDS共识和非对称密码学原理实现智能合约授权交易的自适应路由.

3)提出初始化−锁定−解锁三阶段物联网联盟链链间交易原子提交协议,用于原子地处理跨联盟链交易,以防止异步授权导致的双重支出攻击和未成功转移的价值被永久锁定,确保各联盟链之间交易状态的一致性.

本文其余部分安排如下.第1 节介绍跨链通信相关研究.第2 节分析物联网系统实体自主协作过程,抽象出复杂场景下物联网联盟链链间通信模型.第3 节从联盟链链间合作机制、跨链授权机制、跨链原子通信机制三个方面介绍实现物联网联盟链链间自主动态通信的主要算法改进.第4 节通过理论分析及实验部署验证本文机制实现物联网实体跨链通信的安全性和有效性.第5 节总结全文.

1 相关工作

将联盟链技术融合应用到物联网领域的挑战之一是系统可扩展性.解决不同物联网联盟链实体跨链授权协作及资产交互等通信问题,是提升物联网联盟链可扩展性的关键.对于区块链链间通信,目前已经出现了一些概念验证,并取得了进展[28],例如,以闪电网络为代表的哈希锁定技术,以Block-Stream 为代表的侧链技术,以BTC-Relay 为代表的中继技术,以Interledger 为代表的公证人机制,以Fusion 为代表的分布式私钥控制技术等.跨链技术除了沿用早期类质押的思想外,还提出了区块链结点角色分工、状态通道、信任传递等新的思想[20,29−33].

早期的跨链技术主要关注资产转移[34−40],比较著名的有哈希锁定和侧链技术.哈希锁定技术主要思路是,为实现用户间小额支付通道,用户需提前锁定自己的部分款项,涉及该部分款项的交易在链下进行,款项的最终分配方案确定后再上传至主链[34−35].侧链是以原生数字资产为基础,和其他账本资产在多个区块链间转移的链间通信技术,是为解决主链扩展问题而提出的扩容技术[36−37].比较著名的比特币侧链有BlockStream[36]和RootStock[38]的元素链,非比特币侧链有Lisk[39]和国内的Asch[40]等.

现有研究更多关注的是链状态的转移[41−45].以太坊通过建立在以太坊网络协议之上的多个分片来实现链间通信,通过一种称为超二次分片的方法指数级地提高网络吞吐量[41],然而现有分片技术需要几次甚至多次的硬分叉才能完成,这给现有应用和用户带来很多不便.Ripple 开发的 Interledger 协议[42]通过第三方“连接器”或“验证者”进行链间资产交互,该协议采用密码算法为参与的多条链和连接器创建资金托管,各链无需信任连接器,当所有参与方对交易资产量达成共识时,便可进行资产交互,只有参与资产交互的区块链系统才可以跟踪交易.Pointnity Network[43]为解决单一区块链在实际应用场景中无法解决复杂问题,以及在性能上相对于传统中心化系统所呈现的瓶颈,提出“恩特链”区块链跨链网络.Polkadot[44]采用多链融合的设计模式,将其他链都视为平行链,通过中继链(Relay-chain)将平行链上的代币转入具有多重签名控制的母链地址中,对其进行暂时锁定,在中继链上的交易结果将由签名人共同投票决定是否有效,从而实现跨链通信.Fusion[45]将各种加密资产通过分布式私钥生成与控制技术映射到公有链上,多种被映射加密资产可以在其公有链上进行自由交互.

随着资产上链以及链间通信需求的加剧,有研究开始探寻基于智能合约的去中心化跨链资产管理方法[46−47].以太坊平台提供了图灵完备的智能合约运行环境,目前已拥有超过5 700 万个账户[48].ERC20为以太坊区块链上的资产交易建立了标准合约ABI(Application binary interface),共享合约界面,简化与外部合约的集成,已成为多类数字资产交易的事实标准[49].在以太坊智能合约研究基础上[46],Warren 等[50]提出了旨在作为开放标准和通用构建块的基于ERC20 的简明点对点资产交易协议,通过在开源以太坊智能合约之上开发用于资产交互的分布式应用程序(Decentralized application,DAPP)实现资产交易,并对最终成交交易收取交易费用.与上述研究不同,Aeternity[51]构建了高度可扩展的区块链架构及基于预言机(Oracle)验证模型的共识机制.

综上所述,现有区块链跨链通信方面的研究,引入了资产映射和资产交易概念模型重构区块链价值交换网络.尽管经过近几年的快速发展,仍存在一些不足:1)主要通过抵押方式保证资产交互的原子性,处理一般数字资产上链及资产交互事务的实现逻辑较为复杂,应用场景受限;2)抵押方式下,通过智能合约实现的跨链协同操作,为保证区块链上一般资产交互事务的原子性,需在等待一条链返回处理结果的过程中,将智能合约的状态封存,从而导致在等待的过程中,该智能合约无法执行其他请求,由此带来效率低下、功能缺失等问题,无法满足物联网商业应用.

2 通信模型

系统中存在资产所有者、发布者、访问者和交易验证者4 类角色.本文对通信模型做如下假设:

1)连接至不同系统的感知设备始终在线;为了达到一定程度的对等通信,将感知数据发送至网关,由网关作为发布者发布感知数据;实体和资产间关系采用一对多范式,拥有资产所有权的实体可随时监控系统设备及数据,对其进行操作并对其他实体进行除所有权外的自治授权;被授权实体可以访问者身份进行特定操作.

2)通过联盟链机构审核机制为验证者建立的身份足以抵御Sybil 攻击.

3)验证者之间的通信通道是同步的,即如果某验证者广播了一条消息,则所有验证者都会在已知的最大通信时延Δ 内接收到该消息.

复杂跨联盟链系统链间通信模型如图2 所示.通信模型中,有n个来自各联盟链的验证者参与交易处理并确保系统状态的一致性,机构为各联盟链CX中的每个验证者i都生成一个公、私钥对),通过唯一标识验证者i.复杂通信情况下,系统中的一次请求需要由若干个交易协作完成,如该模型联盟机构B 中某结点需获得另两联盟机构A 和D 中结点协作才能继续执行当前任务.图2 (a)中,圆形结点为各联盟机构内部参与系统运行的活动实体,其中,灰色结点为普通结点,仅参与交易的生成和中继;条纹结点为机构预选的验证结点,除了具备普通结点功能,还可以对交易进行验证;黑色结点为某次链间协作涉及到的结点;有向箭头尾部结点为交易发起结点,箭头指向结点为交易响应结点.联盟机构A,B,D验证结点总数分别为nA,nB,nD,由机构设定联盟链验证结点门限值分别为tA,tB,tD,各联盟链验证结点集中实际通过当前验证的结点(图2 (b)中环形结点)数目分别为当实际通过验证结点数目满足群签名机制门限要求时,响应来自的请求.

图2 联盟链链间通信模型Fig.2 Consortium cross-chain communication model

本文通过构建基于群门限数字签名的跨链合作机制,降低异构物联网联盟链数字资产跨链交互的复杂度;利用存在特权子群的门限数字签名共识算法和非对称密码学原理,实现对智能合约授权交易的自适应路由,进而实现结点间跨链无偿−主动授权,简化验证流程,提高验证效率;给出跨链原子通信协议,以原子方式提交或终止由若干个交易协作完成的跨链请求,确保跨链通信期间单个联盟链正确、连续处理交易的鲁棒性,有效抵御失效蔓延攻击.

3 算法设计

复杂情况下跨联盟链通信机制主要包括跨链合作、授权机制、跨链原子通信三部分.若交易处理的某阶段未通过,则忽略该交易,本节仅分析交易处理各阶段均通过的情况.

定义1.建立合作关系的m个联盟链C1,C2,···,Cm验证结点列表集合记为群C,各联盟链验证结点列表记为群C中m个互不相交的特权子群C1,C2,···,Cm,存在多个特权子群的门限数字签名共识表示为:

上述定义中,子群Ci为联盟链Ci中验证结点集合,ni表示子群Ci验证结点列表中的结点个数,ti表示子群Ci的ni个验证结点通过某次验证的最少结点数目,表示ni个验证结点中实际通过某次验证的结点数目,t表示群C的n个验证结点通过某次验证的最少结点数目.式(1)限定联盟链间合作关系,式(2)、式(3)表示联盟链验证结点集规模,式(4)验证联盟链内部基于验证结点列表的TDS共识,式(5)验证基于验证结点列表的TCCM 共识.

3.1 链间合作机制

由联盟机构决定系统对公众的开放程度,采用椭圆曲线密码算法为联盟机构及实体生成各自的公、私钥对 (PK,SK),对实体身份进行分类和标识,构造实体身份证明.下面介绍为实现不同联盟链实体间自主协作,构造跨链结点通信路径证明和联盟链链间合作共识证明的方法.

3.1.1 路径证明构造规则

定义2.sig(m,X)表示X的私钥对消息m(m/∅)的签名,三元组 (m,P,σ) 表示交易路径证明,P(TX){u0,···,uk}为交易TX从请求发起结点u0到最近响应结点uk的有向连通路径,σsig(···sig(m,u0),···,uk)为从u0到uk的路径签名.若uk为中继响应结点,从u0到uk的路径证明称为当前路径证明;若uk为最终响应结点,从u0到uk的路径证明称为全路径证明.

对P2P 通信方式下可信传播路径进行简化,得到路径证明构造规则如下:

规则1 (聚合规则).在PPTI 路径证明拓扑链路上,将验证结点子群抽象为有向路径证明中的一个结点,相应地将合法的门限子群签名作为路径签名中的一个签名;

规则2 (等价规则).将联盟链内部结点经链内其他结点中继至验证结点子群的PPTI 路径证明简化为由该结点至验证结点子群的单跳路径证明;

规则3 (中继规则).不同联盟链结点间跨链通信PPTI 路径证明仅包含验证结点子群作为中继结点;

规则4 (响应规则).PPTI 路径证明中普通结点间的单跳路径表示基于请求发起结点价值转移密钥s的盲响应.

由聚合规则,将验证结点子群CX抽象为有向PPTI 路径证明中的一个结点;由等价规则,将结点CAk经链内其他结点中继至验证结点子群CA的PPTI 路径证明简化为由结点至CA的单跳路径证明;由中继规则,∈CB,∈CA,CA∩CB∅,至的跨链路径证明仅包含通信链路上验证结点子群 {CB,···,CX,···,CA} 作为中继结点;由响应规则,路径证明链路存在回路,且任意两普通结点间的PPTI 路径证明为经过若干验证结点子群中继的多跳路径证明,两普通结点间的单跳路径为响应结点基于请求结点和响应结点间PPTI路径证明对请求结点发出价值转移密钥s的单跳响应.

由定义2,得到基于TDS 的递归路径证明生成公式:

其中,参数ti,ni为可选项,用于门限签名.

,∈CA,CA ∩CB∅,以明文方式构造对另一联盟链结点的交互请求,根据路径证明构造规则2 和生成式(6)依次构造至CB、CB至CA、CA至的PPTI 路径证明.

3.1.2 基于TCCM 的合作共识

通信模型中,群C内存在三个特权子群,链间路径证明群签名协议标记为(tA,nA;tB,nB;tD,nD;t,n).为得到授权,除PPTI 路径证明外,还需要向系统提供联盟链链间合作共识路径证明.基于特权子群的联盟链链间合作共识路径证明构造具体包括群秘钥生成与共享、门限子群签名生成及路径证明更新三部分,最后由响应结点所在联盟链验证结点子群对路径证明中各门限子群签名进行合成.

由秘钥颁发机构选取安全素数u、v,且满足v|(u −1);在有限域Zv上秘密选取4 个多项式f(x),gA(x),gB(x),gD(x),次数依次为 (t −1),(tA −1),(tB −1),(tD −1).选取有限域Zv的本原元α,公开(u,v,α)和xp,yAi,yBj,yDk∈RZv;p1,2,···,n;i1,2,···,nA;j1,2,···,nB;k1,2,···,nD.由秘钥颁发机构按照式(7) 随机产生群私钥,按照式(8)计算群公钥,群私钥采用基于Shamir 的秘密共享算法进行分发.

基于秘密共享算法为特权结点Cq秘密分配群私钥片段f(xq),gA(yAi),gB(yBj),gD(yDk),按照式(9)计算其公钥并公开.

由式(2),子群CX验证结点个数为|CX|nX,(nX >0,X ∈{A,B,D}),子群CX的nX个验证结点中通过某次验证的门限结点数目为tX.被签署的交易为TX.对于每个ti ∈{tX},秘密随机选取由式(10)计算公钥片段子群Ci内各验证结点由式(11)计算子群公钥rX,由式(12)计算单个验证结点私钥片段

其中,λp、µp是Shamir 秘密共享算法中公开可计算的拉格朗日系数,h(x) 是安全的哈希函数.

群C内结点由式(13)验证子群内单个验证结点签名的合法性.

3.1.3 共识优化

为提高系统安全性,通常将系统划分为数量少、规模大的联盟链,而大规模的联盟链又带来交易共识延迟较长的问题.为解决此问题,本文根据交易涉及的实体范围,将交易划分为不同的类型,采取不同的TDS 共识方式,下面给出交易类型的判别式.

若式(17) 成立,该交易为非跨链交易,否则,为跨链交易.系统根据该判别式自动识别跨链与非跨链交易.基于多级混合共识的信任−验证机制对交易进行验证,共识架构如图3 所示.

图3 基于多级混合共识的信任−验证机制Fig.3 Multi-consensus based trust-verification mechanism

对于非跨链低价值交易,由链内验证结点按照式(18)对其进行快速共识(第一级共识).

用户可以选择接受快速共识结果并获得实时的处理效率,然而,这并不意味着对系统低价值交易处理完毕.为保证系统长期运行的安全性,系统在用户接受快速共识结果后仍需要对低价值交易数据区块进行第二级共识,当第二级验证结点共识结果与第一级不一致时,机构将对第一级共识列表中签署了非法区块的验证结点进行识别并追究责任.一方面,第二级共识完成时间距离用户接受第一级快速共识的时间并不会太久,可以较快甄别虚假共识并尽可能挽回损失;另一方面,理性参与结点的目标是最大化自己的收益函数,对于低价值交易,机构通过引入惩罚机制,对恶意验证结点采取剔除出VNL 或其他形式惩罚,降低结点作恶的可能性.详细的惩罚机制本文不做讨论.

对于非跨链交易中的高价值交易,采用多级混合共识中的两级验证机制,由交易发送者所在联盟链内VNL 构成第一级共识列表,根据群签名门限值随机生成来自不同联盟链VNL 的第二级共识列表,按照式(19)对其进行共识.

对于跨链交易,采用上述基于存在特权子群TDS机制的多级混合共识方式,根据机构为各结点所在联盟链设定的共识门限值对接收或发出的交易进行链内共识,由交易的最终响应结点所在联盟链验证结点子群使用群密钥对路径证明中各子群TDS 进行合成,按照式(20)对其进行共识.

本文提出的多级混合可选信任−验证共识机制通过将交易区分处理,充分利用链内共识速度较快,有利于提高系统吞吐量,第二阶段共识(跨链)过程较慢,但可获得更高安全性的处理特性,可在不牺牲系统吞吐量和安全性的情况下,实现低价值交易的实时确认,同时保障跨链交易和高价值交易的安全性.因此,上述机制在微观上最大程度地提高了系统验证资源利用率,宏观上提升了链内验证和二次验证并发执行的程度,从而提升了系统共识效率.

3.2 基于TCCM 的无偿−主动授权机制

通过对物联网系统运行逻辑进行分析,本文对物联网结点间授权协作行为进行细粒度划分,如图4所示,物联网结点间协作除了存在有偿−请求(跨链)授权情况,在复杂场景下,还存在无偿−主动(跨链)授权情况.

图4 授权协作的细粒度划分Fig.4 Fine-grained division for authorization collaboration

有偿−请求授权是指请求者通过提供授权请求、可信身份证明等,并在智能合约中托管一定数额承诺转移的资产,获得目标响应者授权的方式,如图4 (a)所示.文献[27]通过部署基于VTM (Value transfer mechanism)机制的智能合约实现了结点间有偿−请求授权.无偿−主动授权是指由于结点间协作需要,拥有某项权限的结点需要主动授权给目标结点的情况,如图4 (b) 所示,例如,联盟链CA中结点需要向联盟链CB中结点授权,并与一起完成某项任务.在上述无偿−主动授权过程中,结点需向结点自主提供可信身份证明(图4 (b)中灰色箭头),验证通过后,才会对进行授权(图4 (b)中黑色箭头).显然,无偿−主动授权过程由于缺乏价值激励无法通过VTM 机制实现.本节介绍利用存在特权子群的TDS 共识算法和非对称密码学原理实现对智能合约授权交易自适应路由,进而实现结点间跨链无偿−主动授权的方法.

为了使不存在依赖关系的交易在异构联盟链中并发处理,采用文献[25]提出的物联网动态数据操作授权多维DAG 存储结构构造授权状态链,以维护所有公开授权记录、投票表决表及由实体构成的成员表.一般情况下,两个相邻的授权状态区块的DAG 结构的大部分应该是相同的,因此,可以利用指针(即子树哈希)方便地实现对已经获得授权的引用,利用授权码插入和删除结点更新授权链,授权码定义如下.

定义3.授权码(Authorization code,Acode)由授权交易的授权方生成,包括授权方机构公钥、使能标志、授权类型及授权方公钥4 个部分,用于提供授权证明、进行授权验证.

图5 授权过程示意图Fig.5 Authorization diagram

3.3 跨链原子通信

复杂跨联盟链交易机制下,需要将一次交互过程涉及的多个交易发送给多个联盟链进行处理.然而,在跨链形成的链联网结构中,如果部分联盟链共识失败或遭受51%攻击,则可能出现部分联盟链接受交易而其他联盟链中止交易的情况,链联网中错综复杂的跨链通信则会因为部分死链导致连锁式的交互失败.如果不添加可利用的竞争条件,将无法直接撤销已提交交易,造成资产损失等严重后果.为解决上述问题,本节给出跨联盟链通信交易原子提交协议,如图6 所示,包括交易初始化、锁定和解锁三个阶段,用于原子地处理跨联盟链交易,以防止双重支出攻击和未成功转移的价值被永久锁定,确保各联盟链之间交易状态的一致性.

图6 跨链原子通信示意图Fig.6 Cross-chain atomic communication

图6 中,由用户(实体用户或智能合约用户)账户创建并向网络广播跨联盟链交易TXcross,假设其输入为来自两个不同联盟链的最新授权证明和交易执行逻辑,输出为对另一联盟链的实体−资产授权关系或新生成资产的权属分配.与交易TXcross相关的输入联盟链运行方式如下:在输入联盟链内部验证交易中身份证明的有效性,若有效,将交易锁定在该联盟链的账本中,并广播对该交易的锁定,允许结点访问输入联盟链账本进行交易锁定验证(图6 (b));反之,在联盟链内创建验证未通过证明(图6 (b')).

根据交易执行结果,将对交易的解锁分为交易提交解锁和交易终止解锁.若系统中所有联盟链都广播了交易验收通过证明,则可以提交相应的交易,用户账户创建并广播解锁该交易的交易,包括与该交易对应的锁定交易和用户账户身份证明.然后,各联盟链验证解锁交易,并将原交易输出包含在输出联盟链账本的下一个块中(图6 (c)).

若某输入联盟链发出验证未通过证明,则所有联盟链终止该交易.此外,若存在多个输入联盟链,为了回收在其他联盟链锁定的资产,用户账户必须向其他输入联盟链发送包含另一输入联盟链验证未通过证明的、解锁并终止该交易的请求.其他输入联盟链收到并验证解锁请求后,将资产标记为可再次使用(图6 (c')).

上述跨链原子通信协议中,由于解锁交易要包含其他输入联盟链验证未通过证明,因此通常比常规交易大.在群签名共识机制下,当超出门限值数目的联盟链验证结点在包含已提交交易的区块上达成共识时,系统将为该交易生成群签名,其大小与验证结点数量无关,因此可以获得较小的解锁交易,有助于降低存储成本并实现快速处理.

4 分析与验证

4.1 安全性分析

假设群C中实际有t个结点对交易TX进行了签名,其中至少tA个结点来自子群CA,至少tB个结点来自子群CB,至少tD个结点来自子群CD,则式(21)成立.

因此有验证方程式(22)成立.

由式(21)、(22)可以看出,不在群C中的结点无法参与或干扰上述验证过程,非合作关系的伪造跨链通信路径证明将无法得到验证,系统忽略相应交易.若群C中参与签名的结点数量少于t,有可能恢复分量gX(0),X ∈{A,B,D},但无法恢复分量f(0),从而无法获得群私钥并通过验证;若群C中参与签名的结点数量大于等于t,子群CX中参与验证结点数量小于tX,可以恢复分量f(0),但无法恢复分量gX(0),仍无法获得群私钥并通过验证.因此,基于特权子群的门限群签名机制实现联盟链间交易跨链共识和结点间动态自适应授权机制,在物联网联盟链结点身份具有确定性和可信性前提下,能够获得较高的系统安全性.

4.2 实验部署

当前,成熟区块链比特币每秒完成7 笔交易,以太坊每秒完成15 笔交易[52].为对本文提出的基于可选信任−验证门限共识的动态授权机制的性能进行对比测试,我们在7 台服务器上构建了由300 个虚拟验证结点组成的Ethereum 仿真测试环境.实验平台如下:CPU 为Xeon-E5,内存大小为64 GB,操作系统为Ubuntu-64bit.构造联盟链CA,CB,CD,验证结点数nAnBnD100,验证结点总数n300,链内共识门限值记为tA,tB,tD,跨链共识门限值记为t.

4.2.1 时延测试

基于存在特权子群TDS 的共识过程主要包括结点密钥生成、密钥重构计算、共识签名以及共识签名验证4 个部分.预先计算结点密钥,无需计入网络时延,实际的网络时延主要受密钥重构计算,共识签名以及共识签名验证计算的影响.因此,基于存在特权子群TDS 的一次完整共识的实际网络时延开销计算方法为将这三者的时间开销求和处理.此外,我们使用Python 设计了一个脚本,以产生具有随机地址和足够数量的交易,使用网络仿真模块NetEm 手动向网络添加链路传播延迟,用于模拟现实世界的交易发生频率.

1)低价值交易共识时延

图7 低价值交易共识时延Fig.7 Low-value transaction consensus delay

2)高价值交易共识时延

测试用例高价值交易为非跨链交易,采用混合共识方式:由交易所在联盟链内验证结点构成第一级共识列表,根据群签名门限值t随机生成来自群内各联盟链验证结点的第二级共识列表.系统以Δ10 ms为时间间隔构造交易TX,取第一级共识门限值tA(tB/tC)10,当第二级共识门限值t以10 为步长在区间 [80,200] 内取不同值,单次共识的交易数量τ1,20,30 时,单个高价值交易平均网络时延随门限值t变化情况如图8 (a)所示.可以看出,单个高价值交易平均网络时延随着二次共识门限值的增大线性增加;单次共识的交易数量越多,单个交易的共识时延越大,因此对于处理实时性要求比较高的交易可通过减少单次共识交易数量的方法降低共识时延.将上述实验中第一级共识门限值设置为tA(tB/tC)70 时,得到单个高价值交易平均网络时延随门限值t变化情况如图8 (b)所示.可以看出,单个高价值交易平均网络时延有所增加,且对单次共识的交易数量较少时影响较大.

图8 高价值交易共识时延Fig.8 High-value transaction consensus delay

3)跨链交易共识时延

图9 跨链交易共识时延Fig.9 Cross-chain transaction consensus delay

4.2.2 压力测试

通过修改环境参数,对低价值、高价值、跨链三类交易在不同构造交易时间间隔 Δ、共识门限取值下进行压力测试,也称为系统共识吞吐量测试.

1)低价值交易压力测试

单链环境下,nA(nB/nC)100,系统分别以Δ10 ms,Δ0 ms (本文将系统中存在足够多待处理交易的情况看做 Δ0 ms) 为时间间隔构造交易TX,链内共识门限值取tA(tB/tC)10,tA(tB/tC)70,低价值交易共识吞吐量随单次共识的交易数量τ变化情况如图10 所示.可以看出,图中4 种参数取值下交易吞吐量均随着单次共识的交易数量τ的增加而增加.τ1,tA(tB/tC)70,Δ0 ms时,系统吞吐量仅为8 tps,略高于比特币;τ1,tA(tB/tC)10,Δ0 ms 时,系统吞吐量达到37 tps,是比特币吞吐量的约5 倍;τ30,tA(tB/tC)70,Δ0 ms 时,系统吞吐量达到241 tps,是比特币吞吐量的约34 倍,是以太坊吞吐量的约16 倍;τ30,tA(tB/tC)10,Δ0 ms 时,系统吞吐量达到1 108 tps,是比特币吞吐量的约158 倍,是以太坊吞吐量的约74 倍.

图10 低价值交易压力测试Fig.10 Low-value transaction pressure test

2)高价值交易压力测试

测试用例高价值交易为非跨链交易,采用混合共识方式:由交易所在联盟链内验证结点构成第一级共识列表,根据群签名门限值t随机生成来自群内各联盟链验证结点的第二级共识列表.取第一级共识门限值tA(tB/tC)70,系统分别以 Δ10 ms,Δ0 ms为时间间隔构造交易TX,第二级共识门限值分别取t100,t200,高价值交易共识吞吐量随单次共识的交易数量τ变化情况如图11 所示.可以看出,图中4 种参数取值下交易吞吐量均随着单次共识的交易数量τ的增加而增加.t200,τ30,Δ0 ms时,系统吞吐量达到24 tps,略高于比特币和以太坊的吞吐量;t100,τ30,Δ0 ms时,系统吞吐量达到69 tps,是比特币吞吐量的约10 倍,是以太坊吞吐量的约5 倍.

图11 高价值交易压力测试Fig.11 High-value transaction pressure test

测试结果表明,跨链共识门限值t较小时,系统获得较高吞吐量;t较大时,系统吞吐量对 Δ 值的变化呈现一定程度的鲁棒性.

3)跨链交易压力测试

nAnB100,验证结点总数n200,系统以Δ10 ms,Δ0 ms为时间间隔构造仅联盟链CA,CB结点参与的跨链交易TX,tA,tB分别取(25,25),(50,50),单次共识的交易数量取τ1,群共识门限值t以10 为步长在区间 [100,140] 内取不同值时,上述 Δ 和tA,tB的4 种取值下系统共识吞吐量随群共识门限值t变化情况如图12 (a)所示.可以看出,图中4 种情况下交易吞吐量均随群共识门限值t的增加而减少. Δ0 ms,tAtB25,t100时,系统吞吐量最高达到50 tps,是比特币吞吐量的约7 倍,是以太坊吞吐量的约3 倍.

图12 跨链交易压力测试Fig.12 Cross-chain transaction pressure test

实验结果表明,Δ 的取值对跨链交易吞吐量影响较大.这说明当前机器计算水平下执行密码算法占交易总周转时间比重较少,Δ 取较大值时,系统吞吐量显著减少,且系统吞吐量对链内共识门限值的变化呈现一定的鲁棒性.

联盟链CA,CB,CD,群共识门限值取t200,链内共识门限值tA,tB,tD分别取(25,25,25),(50,50,50),(60,0,60),单次共识的交易数量取τ1,构造跨联盟链CA,CB,CD交易TX的时间间隔 Δ 以2 ms 为步长在区间 [0,10] 内取不同值时,系统吞吐量随 Δ 变化的情况如图12 (b)所示.可以看出,设定的三种不同链内共识门限取值下,吞吐量均随着 Δ 的增大而减小,特别是当 Δ10+,系统吞吐量显著减少. Δ0 ms,t200,tAtBtD∈[25,50]时,系统吞吐量约为18 tps,略高于比特币和以太坊吞吐量.实验表明,群共识门限值取较大值t200时,链内共识门限值的变化对系统吞吐量呈现一定程度的鲁棒性.

综上,在测试环境下,本文方案处理低价值交易的系统吞吐量明显高于比特币、以太坊的吞吐量,可以满足大部分物联网轻量级、低价值交易的效率需求.相比处理低价值交易的系统吞吐量,处理高价值交易和跨链交易的系统吞吐量有所降低,但大大提升了系统安全性.此外,上述性能是在较强的安全约束条件下得到的,在实际物联网应用环境中,通过设置合理的共识门限值、单次共识交易数量等参数,本文方案将可以获得更好的性能.

5 结论

本文通过对物联网联盟链链间交互场景进行分析,构建了复杂情况下物联网联盟链链间通信模型,从基于TCCM 的链间动态授权、可选信任−验证门限共识、跨链原子通信三方面进行改进,给出一种新型的解决复杂跨联盟链实体细粒度动态自主授权问题、由跨链操作的异步性带来的交易阻塞和失效蔓延攻击问题的通信机制.分析及实验表明,本文提出的跨联盟链动态通信机制能够在不牺牲安全性和吞吐量的情况下,实现低价值交易的实时确认,同时保障跨链交易和高价值交易的安全性.

猜你喜欢
子群结点限值
Schmidt子群为Hall S-拟正规嵌入群的有限群①
有限群的局部化HC-子群①
有限群的弱τσ-嵌入子群
LEACH 算法应用于矿井无线通信的路由算法研究
基于八数码问题的搜索算法的研究
ITU和FCC对NGSO卫星的功率通量密度限值研究
关于ss-拟正规子群和c-正规子群
链接:新GB1589出台后 货车尺寸限值有这些变化
2017年北京将实施“世界最严”锅炉排放标准
《轻型商用车辆燃料消耗量限值》强制性国家标准发布