优胜从选择开始,我们是您最好的选择!—— 中州期刊联盟(新乡市博翰文化传媒有限公司)
0373-5939925
2851259250@qq.com
我要检测 我要投稿 合法期刊查询
您的位置:网站首页 > 优秀论文 > 其他论文 > 正文

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

作者:乔蕊 刘敖迪 陈迪 王清贤来源:《自动化学报》日期:2022-08-31人气:947

物联网(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节总结全文.

将联盟链技术融合应用到物联网领域的挑战之一是系统可扩展性. 解决不同物联网联盟链实体跨链授权协作及资产交互等通信问题, 是提升物联网联盟链可扩展性的关键. 对于区块链链间通信, 目前已经出现了一些概念验证, 并取得了进展[28], 例如, 以闪电网络为代表的哈希锁定技术, 以BlockStream为代表的侧链技术, 以BTC-Relay为代表的中继技术, 以Interledger为代表的公证人机制, 以Fusion为代表的分布式私钥控制技术等. 跨链技术除了沿用早期类质押的思想外, 还提出了区块链结点角色分工、状态通道、信任传递等新的思想[2029-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]. 以太坊平台提供了图灵完备的智能合约运行环境, 目前已拥有超过5700万个账户[48]. ERC20为以太坊区块链上的资产交易建立了标准合约ABI (Application binary interface), 共享合约界面, 简化与外部合约的集成, 已成为多类数字资产交易的事实标准[49]. 在以太坊智能合约研究基础上[46], Warren等[50]提出了旨在作为开放标准和通用构建块的基于ERC20的简明点对点资产交易协议, 通过在开源以太坊智能合约之上开发用于资产交互的分布式应用程序(Decentralized application, DAPP)实现资产交易, 并对最终成交交易收取交易费用. 与上述研究不同, Aeternity[51]构建了高度可扩展的区块链架构及基于预言机(Oracle)验证模型的共识机制.

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

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

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

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

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

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

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

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

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

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


(1)
|Ci|=ni,ni>0
(2)

(3)

(4)

(5)

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

由联盟机构决定系统对公众的开放程度, 采用椭圆曲线密码算法为联盟机构及实体生成各自的公、私钥对(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)为从u0uk的路径签名. 若uk为中继响应结点, 从u0uk的路径证明称为当前路径证明; 若uk为最终响应结点, 从u0uk的路径证明称为全路径证明.

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

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

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

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

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

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

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


(6)

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

CBjCBCAiCACACB=CBj以明文方式构造对另一联盟链结点CAi的交互请求mBj, 根据路径证明构造规则2和生成式(6)依次构造CBjCBCBCACACAi的PPTI路径证明.

3.1.2   基于TCCM的合作共识

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

由秘钥颁发机构选取安全素数uv, 且满足v|(u1); 在有限域Zv上秘密选取4个多项式f(x),gA(x),gB(x),gD(x), 次数依次为(t1)(tA1),(tB1)(tD1). 选取有限域Zv的本原元α, 公开(u,v,α)xpyAiyBj,yDkRZv;p=1,2,,n; i=1,2,,nA; j=1,2,,nB; k=1,2,,nD. 由秘钥颁发机构按照式(7)随机产生群私钥, 按照式(8)计算群公钥, 群私钥采用基于Shamir的秘密共享算法进行分发.


(7)

(8)

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


(9)

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


(10)

(11)


(12)

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

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


(13)

若式(13)成立, 验证结点子群接受子群内该单个验证结点签名, 当|sXp|tX时, 由式(14)计算sX图2中, 由验证结点子群CBCD按照上述方法分别输出对交易的子群TDS (rB,sB)(rD,sD), 类似地, 由响应结点CAi(或CDk)所在联盟链验证结点子群CA(或CD)按照式(15)生成子群合成签名(rC,sC).


(14)

(15)

子群签名合成后, CA按照式(16)将对交易TXBj.request的群签名与mBj一起写入智能合约交易TXBj.request, 更新交易路径证明.


(16)
3.1.3   共识优化

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


(17)

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

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

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


(18)

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

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

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

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


(19)

(20)

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

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

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

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

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

通信模型中, 为得到CAiCDk授权, 除PPTI路径证明外, CBj还需要向系统提供联盟链链间合作共识证明. 由于响应结点对请求结点的授权过程具有相似性, 这里仅考虑CAiCBj的授权过程. CAi对式(16)中交易TXBj.request进行验证, 通过后, 构造包含身份证明CAi.Proof及对资产ξCAi授权类型的授权码.

图5给出了结点CAi构造授权码, 运行智能合约交易, 实现对结点CBj自主授权的过程(不包括所有权). CAi提供在授权状态链上拥有资产ξCAi所有权的最新证明, 置授权码中访问控制策略使能标志, 并调用随机函数产生随机数nonce, 用于计数及区分不同的授权; CAi用自己的私钥CAi.SK(为方便表述, 本文也记作SKCAi)对授权码及随机数加密, 得到密文m1, 用CBj的公钥CBj.PK对密文m1CAi的公钥CAi.PK加密, 得到密文m2, 用群公钥CPKm2加密得到m3, 然后将m3、机构子群验证证明CA.Proof等作为交易TXm3在物联网联盟链系统网络广播.

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

被授权结点CBj所在联盟链接收到交易TXm3(真实通信过程可能出现传输干扰、攻击等导致接收端信息异常, 因此为检测其与原始发送信号TXm3是否一致, 接收端用TXm3表示, 后面的情况类似), 由CBj所在机构子群使用本文3.1.2节中的方法生成群私钥CSKm3解密, 得到m2CBj使用其私钥CBj.SK对密文m2解密, 得到密文m1, 将密文m1CAi.PKCAi.Proof等作为交易TXm1(即CBj提供的被授权证明)在物联网联盟链系统网络广播.

建立合作关系的各联盟链内其他结点接收到TXm3, 将其发送给所在机构的子群验证结点, 生成群私钥CSKm3解密, 得到m2. 但被授权结点外的其他结点无法对密文m2解密, 仅能提取交易中除密文外的发送者公钥及机构证明信息, 到授权链上对其所有权进行验证, 若群中超过共识门限值以上结点通过验证, 本地保存CAi的公钥CAi.PK; 否则, 作为惩罚, 将交易发送者CAi加入系统黑名单, 验证结点将拒绝对黑名单中结点参与的交易进行验证(包括CAi作为授权操作的被授权方或授权方).

建立合作关系的各联盟链内其他结点接收到TXm1, 利用本地保存的CAi公钥 CAi.PK解密TXm1中的m1, 同时与利用TXm1中包含的CAi.PK解密TXm1m1. 若相等, 验证CBj对交易TXm1中授权码指定资产的操作类型和授权码中允许的操作类型是否一致, 若一致, 该结点本地验证通过. 若群中超过共识门限值以上结点通过验证, 打包授权交易, 更新授权状态链; 否则返回授权失败.

非合作联盟链内的结点接收到交易TXm3, 无法对密文部分解密, 忽略该交易; 若收到交易TXm1, 因本地没有CAi.PK仍无法对密文部分解密, 忽略该交易.

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

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

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

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

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

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

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


(21)

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


(22)

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

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

4.2.1   时延测试

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

1)低价值交易共识时延

单链环境下, 系统以Δ=10ms为时间间隔构造交易TX, 当门限值tA(tB/tC)以10为步长在区间[10,70]内取不同值, 单次共识的交易数量τ=1,20,30时, 单个低价值交易平均网络时延随门限值变化情况如图7 (a)所示. 可以看出, 当tA(40,70]时, 网络时延显著上升; 增加单次共识的交易数量有利于提高系统吞吐量, 却也将导致单个交易平均时延增加. 将上述实验中构造交易TX的时间间隔设置为Δ=5ms, 得到单个低价值交易平均网络时延随门限值变化情况如图7 (b)所示. 可以看出, 降低Δ值对于单次共识的交易数量τ=1时的共识时延影响较小, 但是显著降低了单次共识的交易数量较多时的共识时延.

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

2)高价值交易共识时延

测试用例高价值交易为非跨链交易, 采用混合共识方式: 由交易所在联盟链内验证结点构成第一级共识列表, 根据群签名门限值t随机生成来自群内各联盟链验证结点的第二级共识列表. 系统以Δ=10ms为时间间隔构造交易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)跨链交易共识时延

系统以Δ=10ms为时间间隔构造仅联盟链CACB结点参与的跨链交易TXnA=nB=100, 验证结点总数n=200tA,tB分别取(25,25),(50,50), (25,75). 由于跨链交易数目较链内交易少, 单次共识的交易数量取τ=1, 门限值t以5为步长在区间[100,140]内取不同值时, 单个跨链交易平均网络时延随门限值t变化情况如图9 (a)所示. 可以看出, 当链内共识门限值均取较小值时能够获得较低的交易时延; 参与共识验证的结点在各联盟链均匀分布时能够获得比非均匀分布时较低的交易时延.

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

Δ=10ms为时间间隔构造联盟链CACBCD中结点参与的跨链交易TX, 验证结点数nA=nB= nD=100, 验证结点总数n=300tA,tB,tD,分别取(25, 25, 25), (50, 50, 50), (60, 0, 60). tB0表示联盟链CB参与测试用例中由CA发送至CD交易TX的验证; tB=0表示CB仅作为CA结点与CD结点跨链通信的中继结点, 不参与交易验证. 单次共识的交易数量取τ=1, 门限值t以5为步长在区间[150,200]内取不同值时, 单个跨链交易平均网络时延随门限值t变化情况如图9 (b)所示. 可以看出, 链内共识门限值较低时, 随群共识门限值变化的单个跨链交易时延也较低; tB=0时单个跨链交易时延与链内共识门限值取50时有部分重叠且波动较大. 这是由于一方面增大链内共识门限值会引起交易时延增加; 另一方面为满足联盟链CACBCD群共识门限ttB=0时来自CB实际参与群共识的验证结点数目呈现随机性, 且变化幅度较大, 从而引起来自CACD实际参与群共识的验证结点数目的变化较大.

4.2.2   压力测试

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

1)低价值交易压力测试

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

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

测试结果表明, Δ=0ms时, 系统吞吐量受共识门限值影响较大; Δ=10ms时, 系统吞吐量对链内共识门限值的变化呈现一定程度的鲁棒性; 链内共识门限值较小时共识吞吐量受Δ影响较大.

2)高价值交易压力测试

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

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

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

3)跨链交易压力测试

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

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

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

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

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

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


关键字:优秀论文

网络客服QQ: 沈编辑

投诉建议:0373-5939925    投诉建议QQ:

招聘合作:2851259250@qq.com (如您是期刊主编、文章高手,可通过邮件合作)

地址:河南省新乡市金穗大道东段266号中州期刊联盟 ICP备案号:豫ICP备2020036848

【免责声明】:中州期刊联盟所提供的信息资源如有侵权、违规,请及时告知。

版权所有:中州期刊联盟(新乡市博翰文化传媒有限公司)

关注”中州期刊联盟”公众号
了解论文写作全系列课程

核心期刊为何难发?

论文发表总嫌贵?

职院单位发核心?

扫描关注公众号

论文发表不再有疑惑

论文写作全系列课程

扫码了解更多

轻松写核心期刊论文

在线留言