
复杂物联网联盟链系统通信机制研究
物联网(Internet of things, IoT)是通过部署具有一定感知、计算、通信、控制、协同和自治特征的基础设施, 获得物理世界的信息, 通过网络实现信息的传输、协同和处理, 从而实现人与物、物与物之间实时全面感知、动态可靠控制和智能信息服务的互联网络[1]. 根据麦肯锡全球研究院2018年11月发布的报告预测, 全球物联网市场规模将在2025年达到11万亿美元, 约占全球经济的11%, 其市场前景将远远超过计算机、互联网与移动通信等[2]. 物联网规模扩张后, 多种物联网应用之间的交互合作更加密切, 为促进行业智能应用服务水平的进一步提升, 设备间的协作和交互呈现爆发式增长, 用户对隐私、安全、定制消费等需求将进一步加剧[3-4], 迫切需要为功能受限的设备提供可扩展的安全性和动态自主通信机制. 围绕上述需求, 研究者和物联网企业都做出很多努力. 常见的物联网解决方案依赖于云服务器−客户端架构[5-7], 然而不同利益主体间很难实现完全信任并进行基于机器数据的自主协作交互. 另一种解决方案是将边缘计算作为云架构的补充[8-10], 但边缘设备和云服务器之间的大量数据传输导致底层网络拥塞, 且无法实现不同利益主体间智能设备的自主交互. 联盟链具有公有链固有的安全性, 其许可准入机制允许对网络结点及规模进行控制, 恰好迎合了物联网向规模化、智能化发展的需要, 成为近期物联网研究的热点[11-13].
建立在物联网联盟链数据及操作授权隐私保护、不可篡改和可追溯特性基础上的物联网自主协作, 将大大提升物联网商业价值[14-15]. 典型的物联网联盟链链间协作场景如图1所示, 该场景中, 医院、外部停车场、征信机构均采用联盟链存储和管理各自的数据. 患者拟驾车去医院就诊, 可提前使用智能手机等终端输入个人信息进行就诊预约, 并授权医院从征信机构自主获取该患者的信用评估信息. 医院根据该患者信用等级, 授权该患者使用停车场及部分智能医疗监测设备. 患者可在就诊当日自助完成车辆识别、常规检查、病史记录等, 快速准确地建立就诊档案.
目前, 学术界和企业界已经在不同的物联网生态及价值体系下, 构建了若干基于联盟链的物联网应用[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], 例如, 以闪电网络为代表的哈希锁定技术, 以BlockStream为代表的侧链技术, 以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]. 以太坊平台提供了图灵完备的智能合约运行环境, 目前已拥有超过5700万个账户[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所示. 通信模型中, 有
本文通过构建基于群门限数字签名的跨链合作机制, 降低异构物联网联盟链数字资产跨链交互的复杂度; 利用存在特权子群的门限数字签名共识算法和非对称密码学原理, 实现对智能合约授权交易的自适应路由, 进而实现结点间跨链无偿−主动授权, 简化验证流程, 提高验证效率; 给出跨链原子通信协议, 以原子方式提交或终止由若干个交易协作完成的跨链请求, 确保跨链通信期间单个联盟链正确、连续处理交易的鲁棒性, 有效抵御失效蔓延攻击.
3. 算法设计
复杂情况下跨联盟链通信机制主要包括跨链合作、授权机制、跨链原子通信三部分. 若交易处理的某阶段未通过, 则忽略该交易, 本节仅分析交易处理各阶段均通过的情况.
定义1. 建立合作关系的
(1) |
(2) |
(3) |
(4) |
(5) |
上述定义中, 子群
3.1 链间合作机制
由联盟机构决定系统对公众的开放程度, 采用椭圆曲线密码算法为联盟机构及实体生成各自的公、私钥对
3.1.1 路径证明构造规则
定义2.
对P2P通信方式下可信传播路径进行简化, 得到路径证明构造规则如下:
规则1 (聚合规则). 在PPTI路径证明拓扑链路上, 将验证结点子群抽象为有向路径证明中的一个结点, 相应地将合法的门限子群签名作为路径签名中的一个签名;
规则2 (等价规则). 将联盟链内部结点经链内其他结点中继至验证结点子群的PPTI路径证明简化为由该结点至验证结点子群的单跳路径证明;
规则3 (中继规则). 不同联盟链结点间跨链通信PPTI路径证明仅包含验证结点子群作为中继结点;
规则4 (响应规则). PPTI路径证明中普通结点间的单跳路径表示基于请求发起结点价值转移密钥
由聚合规则, 将验证结点子群
由定义2, 得到基于TDS的递归路径证明生成公式:
(6) |
其中, 参数
3.1.2 基于TCCM的合作共识
通信模型中, 群
由秘钥颁发机构选取安全素数
(7) |
(8) |
基于秘密共享算法为特权结点
(9) |
由式(2), 子群
(10) |
(11) |
(12) |
其中,
群
(13) |
若式(13)成立, 验证结点子群接受子群内该单个验证结点签名, 当
(14) |
(15) |
子群签名合成后,
(16) |
3.1.3 共识优化
为提高系统安全性, 通常将系统划分为数量少、规模大的联盟链, 而大规模的联盟链又带来交易共识延迟较长的问题. 为解决此问题, 本文根据交易涉及的实体范围, 将交易划分为不同的类型, 采取不同的TDS共识方式, 下面给出交易类型的判别式.
(17) |
若式(17)成立, 该交易为非跨链交易, 否则, 为跨链交易. 系统根据该判别式自动识别跨链与非跨链交易. 基于多级混合共识的信任−验证机制对交易进行验证, 共识架构如图3所示.
对于非跨链低价值交易, 由链内验证结点按照式(18)对其进行快速共识(第一级共识).
(18) |
用户可以选择接受快速共识结果并获得实时的处理效率, 然而, 这并不意味着对系统低价值交易处理完毕. 为保证系统长期运行的安全性, 系统在用户接受快速共识结果后仍需要对低价值交易数据区块进行第二级共识, 当第二级验证结点共识结果与第一级不一致时, 机构将对第一级共识列表中签署了非法区块的验证结点进行识别并追究责任. 一方面, 第二级共识完成时间距离用户接受第一级快速共识的时间并不会太久, 可以较快甄别虚假共识并尽可能挽回损失; 另一方面, 理性参与结点的目标是最大化自己的收益函数, 对于低价值交易, 机构通过引入惩罚机制, 对恶意验证结点采取剔除出VNL或其他形式惩罚, 降低结点作恶的可能性. 详细的惩罚机制本文不做讨论.
对于非跨链交易中的高价值交易, 采用多级混合共识中的两级验证机制, 由交易发送者所在联盟链内VNL构成第一级共识列表, 根据群签名门限值随机生成来自不同联盟链VNL的第二级共识列表, 按照式(19)对其进行共识.
对于跨链交易, 采用上述基于存在特权子群TDS机制的多级混合共识方式, 根据机构为各结点所在联盟链设定的共识门限值对接收或发出的交易进行链内共识, 由交易的最终响应结点所在联盟链验证结点子群使用群密钥对路径证明中各子群TDS进行合成, 按照式(20)对其进行共识.
本文提出的多级混合可选信任−验证共识机制通过将交易区分处理, 充分利用链内共识速度较快, 有利于提高系统吞吐量, 第二阶段共识(跨链)过程较慢, 但可获得更高安全性的处理特性, 可在不牺牲系统吞吐量和安全性的情况下, 实现低价值交易的实时确认, 同时保障跨链交易和高价值交易的安全性. 因此, 上述机制在微观上最大程度地提高了系统验证资源利用率, 宏观上提升了链内验证和二次验证并发执行的程度, 从而提升了系统共识效率.
(19) |
(20) |
3.2 基于TCCM的无偿−主动授权机制
通过对物联网系统运行逻辑进行分析, 本文对物联网结点间授权协作行为进行细粒度划分, 如图4所示, 物联网结点间协作除了存在有偿−请求(跨链)授权情况, 在复杂场景下, 还存在无偿−主动(跨链)授权情况.
有偿−请求授权是指请求者通过提供授权请求、可信身份证明等, 并在智能合约中托管一定数额承诺转移的资产, 获得目标响应者授权的方式, 如图4 (a) 所示. 文献[27]通过部署基于VTM (Value transfer mechanism)机制的智能合约实现了结点间有偿−请求授权. 无偿−主动授权是指由于结点间协作需要, 拥有某项权限的结点需要主动授权给目标结点的情况, 如图4 (b) 所示, 例如, 联盟链
为了使不存在依赖关系的交易在异构联盟链中并发处理, 采用文献[25]提出的物联网动态数据操作授权多维DAG存储结构构造授权状态链, 以维护所有公开授权记录、投票表决表及由实体构成的成员表. 一般情况下, 两个相邻的授权状态区块的DAG结构的大部分应该是相同的, 因此, 可以利用指针(即子树哈希)方便地实现对已经获得授权的引用, 利用授权码插入和删除结点更新授权链, 授权码定义如下.
定义3. 授权码(Authorization code, Acode)由授权交易的授权方生成, 包括授权方机构公钥、使能标志、授权类型及授权方公钥4个部分, 用于提供授权证明、进行授权验证.
通信模型中, 为得到
图5给出了结点
被授权结点
建立合作关系的各联盟链内其他结点接收到
建立合作关系的各联盟链内其他结点接收到
非合作联盟链内的结点接收到交易
3.3 跨链原子通信
复杂跨联盟链交易机制下, 需要将一次交互过程涉及的多个交易发送给多个联盟链进行处理. 然而, 在跨链形成的链联网结构中, 如果部分联盟链共识失败或遭受51%攻击, 则可能出现部分联盟链接受交易而其他联盟链中止交易的情况, 链联网中错综复杂的跨链通信则会因为部分死链导致连锁式的交互失败. 如果不添加可利用的竞争条件, 将无法直接撤销已提交交易, 造成资产损失等严重后果. 为解决上述问题, 本节给出跨联盟链通信交易原子提交协议, 如图6所示, 包括交易初始化、锁定和解锁三个阶段, 用于原子地处理跨联盟链交易, 以防止双重支出攻击和未成功转移的价值被永久锁定, 确保各联盟链之间交易状态的一致性.
图6中, 由用户(实体用户或智能合约用户)账户创建并向网络广播跨联盟链交易
根据交易执行结果, 将对交易的解锁分为交易提交解锁和交易终止解锁. 若系统中所有联盟链都广播了交易验收通过证明, 则可以提交相应的交易, 用户账户创建并广播解锁该交易的交易, 包括与该交易对应的锁定交易和用户账户身份证明. 然后, 各联盟链验证解锁交易, 并将原交易输出包含在输出联盟链账本的下一个块中(图6 (c)).
若某输入联盟链发出验证未通过证明, 则所有联盟链终止该交易. 此外, 若存在多个输入联盟链, 为了回收在其他联盟链锁定的资产, 用户账户必须向其他输入联盟链发送包含另一输入联盟链验证未通过证明的、解锁并终止该交易的请求. 其他输入联盟链收到并验证解锁请求后, 将资产标记为可再次使用(图6 (c')).
上述跨链原子通信协议中, 由于解锁交易要包含其他输入联盟链验证未通过证明, 因此通常比常规交易大. 在群签名共识机制下, 当超出门限值数目的联盟链验证结点在包含已提交交易的区块上达成共识时, 系统将为该交易生成群签名, 其大小与验证结点数量无关, 因此可以获得较小的解锁交易, 有助于降低存储成本并实现快速处理.
4. 分析与验证
4.1 安全性分析
假设群
(21) |
因此有验证方程式(22)成立.
(22) |
由式(21)、(22)可以看出, 不在群
4.2 实验部署
当前, 成熟区块链比特币每秒完成7笔交易, 以太坊每秒完成15笔交易[52]. 为对本文提出的基于可选信任−验证门限共识的动态授权机制的性能进行对比测试, 我们在7台服务器上构建了由300个虚拟验证结点组成的Ethereum仿真测试环境. 实验平台如下: CPU为Xeon-E5, 内存大小为64 GB, 操作系统为Ubuntu-64bit. 构造联盟链
4.2.1 时延测试
基于存在特权子群TDS的共识过程主要包括结点密钥生成、密钥重构计算、共识签名以及共识签名验证4个部分. 预先计算结点密钥, 无需计入网络时延, 实际的网络时延主要受密钥重构计算, 共识签名以及共识签名验证计算的影响. 因此, 基于存在特权子群TDS的一次完整共识的实际网络时延开销计算方法为将这三者的时间开销求和处理. 此外, 我们使用Python设计了一个脚本, 以产生具有随机地址和足够数量的交易, 使用网络仿真模块NetEm手动向网络添加链路传播延迟, 用于模拟现实世界的交易发生频率.
1)低价值交易共识时延
单链环境下, 系统以
2)高价值交易共识时延
测试用例高价值交易为非跨链交易, 采用混合共识方式: 由交易所在联盟链内验证结点构成第一级共识列表, 根据群签名门限值
3)跨链交易共识时延
系统以
以
4.2.2 压力测试
通过修改环境参数, 对低价值、高价值、跨链三类交易在不同构造交易时间间隔
1)低价值交易压力测试
单链环境下,
测试结果表明,
2)高价值交易压力测试
测试用例高价值交易为非跨链交易, 采用混合共识方式: 由交易所在联盟链内验证结点构成第一级共识列表, 根据群签名门限值
测试结果表明, 跨链共识门限值
3)跨链交易压力测试
实验结果表明,
联盟链
综上, 在测试环境下, 本文方案处理低价值交易的系统吞吐量明显高于比特币、以太坊的吞吐量, 可以满足大部分物联网轻量级、低价值交易的效率需求. 相比处理低价值交易的系统吞吐量, 处理高价值交易和跨链交易的系统吞吐量有所降低, 但大大提升了系统安全性. 此外, 上述性能是在较强的安全约束条件下得到的, 在实际物联网应用环境中, 通过设置合理的共识门限值、单次共识交易数量等参数, 本文方案将可以获得更好的性能.
5. 结论
本文通过对物联网联盟链链间交互场景进行分析, 构建了复杂情况下物联网联盟链链间通信模型, 从基于TCCM的链间动态授权、可选信任−验证门限共识、跨链原子通信三方面进行改进, 给出一种新型的解决复杂跨联盟链实体细粒度动态自主授权问题、由跨链操作的异步性带来的交易阻塞和失效蔓延攻击问题的通信机制. 分析及实验表明, 本文提出的跨联盟链动态通信机制能够在不牺牲安全性和吞吐量的情况下, 实现低价值交易的实时确认, 同时保障跨链交易和高价值交易的安全性.
- 2025年中科院分区表已公布!Scientific Reports降至三区
- 2023JCR影响因子正式公布!
- 国内核心期刊分级情况概览及说明!本篇适用人群:需要发南核、北核、CSCD、科核、AMI、SCD、RCCSE期刊的学者
- 我用了一个很复杂的图,帮你们解释下“23版最新北大核心目录有效期问题”。
- CSSCI官方早就公布了最新南核目录,有心的人已经拿到并且投入使用!附南核目录新增期刊!
- 北大核心期刊目录换届,我们应该熟知的10个知识点。
- 注意,最新期刊论文格式标准已发布,论文写作规则发生重大变化!文字版GB/T 7713.2—2022 学术论文编写规则
- 盘点那些评职称超管用的资源,1,3和5已经“绝种”了
- 职称话题| 为什么党校更认可省市级党报?是否有什么说据?还有哪些机构认可党报?
- 《农业经济》论文投稿解析,难度指数四颗星,附好发选题!