APP下载

基于树形结构构造的联盟链主从多链共识算法

2022-04-18张文芳孙海锋张晏端唐荣骏王小敏黄路非

电子学报 2022年2期
关键词:主链主从背书

张文芳,孙海锋,张晏端,唐荣骏,王小敏,马 征,李 暄,黄路非

(1. 西南交通大学信息科学与技术学院,四川成都 610031;2. 成都市第三人民医院,四川成都 610014)

1 引言

区块链技术作为去信任化的分布式账本系统,在不依赖于第三方可信机构的前提下,实现点对点的可信价值传递[1]. 当前,区块链技术已经从作为比特币等数字货币底层技术的1.0 时代过渡到智能合约和去中心化应用相结合的2.0 时代,并将开启价值互联的3.0时代[2]. 区块链3.0 将解决1.0 时代应用范围受限,以及2.0 时代性能受限而无法规模化应用等问题,促使越来越多的产业和区块链无缝衔接,其链上承载的资产交易也将从单一的加密货币交易上升到更加复杂和多样化的数字资产交易,多样化的数字资产交易对共识性能提出新的挑战.

以比特币[3]为代表的区块链开创了去中心账本先河,但以比特币为代表的区块链采用单层链式结构,将所有数字资产交易混合在一条链上处理,虽易于维持账本的一致性,但难以平行扩展复杂化和多样化的数字资产交易,也不便于分类管理;采用PoW 类单一链上的共识机制,不涉及多链间资产一致性共识,无法满足社会生产多场景协作的应用需求,并且存在效率低下、耗能严重等问题. 因此,单层链式结构下的区块链存在性能、隐私、扩展性方面的技术瓶颈[4]. 为了扩展区块链性能,2015年,Poon 等[5]提出闪电网络(Lightning Network),交易双方通过建立线下支付的微支付渠道,将主网承载的交易进行分流处理,大大降低了主网负荷,但链下交易内容未存储到区块链中,使得交易的追溯性受到损害.2016年,Eyal等[6]通过引入关键区块和微区块提出一种可扩展的区块链协议Bitcoin-NG. 其中,关键区块选举记账人,微区块打包交易,通过选举的记账人在时间片段内创建多个微区块,扩展了区块链的交易处理容量,但Bitcoin-NG 在比特币基础上改进,受限于单链结构,难以得到更多的商业应用. 另外,一些学者利用实用拜占庭容错共识算法(Practical Byazntine Fault Tolerant,PBFT)运行效率高、非概率性共识的优点,将PBFT算法与公有链共识算法相结合,构造出高效的混合共识算法(Hybrid Consensus)[7~10],如Tendermint[7]、ByzCoin[9]等,核心思想是先通过PoW、PoS[11]等公有链共识算法选举一定数量的节点作为委员会,委员会内部再依托高效的PBFT算法生产区块,从而扩大公有链交易规模,但不同程度继承了PBFT算法扩展性差以及公链共识算法效率低下、耗能严重等缺点. 2018 年,Feng 等[12]针对联盟链提出SDMA-PBFT 共识算法,引入等级划分和代理人将全网节点分成数个子域,提案区块通过各子域代理人进行共识,减轻了主节点负担,提高了并行处理效率,然而当拜占庭节点成为代理人时,系统安全性将大幅降低. 2019 年,Gao 等[13]基于信用模型提出T-PBFT 共识算法,由信用值高的节点构成共识群组,提升了拜占庭算法的容错率,但通信复杂度高达O(n2).2020年,Du等[14]针对联盟链提出MBFT共识算法,利用分层技术将节点划分为两层共识群组,底层群组验证交易,上层群组打包区块,同时将共识群组分片,减少单个群组的负载,提高系统的吞吐量,但分片使得群组规模变小,共识更加趋于中心化. 同年,包振山等[15]针对PBFT 算法的扩展性,采用树形拓扑结构对网络进行划分并引入信誉模型以提高安全性,底层子网运行PBFT 算法,上层子网运行简化PBFT 算法,通信复杂度降至O(nk)(k为底层子网节点数),然而当子网中节点数较大时,通信复杂度仍然较高.

多层链式结构下的区块链不仅能对多样化的数字资产进行分类处理,还能提升系统并发处理能力,提高交易吞吐量.2016年,Tsai等[16]将传统单层链式结构一分为二,提出账户区块链(ABC)和交易区块链(TBC)相结合的区块链架构. ABC 负责查询、存储账户,TBC 负责建块、执行交易,利用上述方法可实现负载均衡,但并未实现多样化数字资产的分类处理. 文献[17,18]通过楔入式侧链技术实现了链与链之间的资产交互,但侧链技术只是一种双向锚定协议,并非独立的区块链架构,并且该技术通常用于基于PoW 共识的区块链,需要在交易速度与安全性之间做权衡.2017 年,IBM 提出许可的商业区块链超级账本(Hyperledger Fabric)[19],采用多通道技术实现多链架构,每个通道各自维护一条链,不同通道间相互独立与隔离,然而通道间难以实现资产的转移和一致性.2018年,闵新平等[20]提出许可链多中心架构,该架构中各中心主体维护交易区块链,所有中心主体维护全局区块链,全局区块链与交易区块链通过哈希值锚定保证数字资产交易的全局一致性,但该架构不能防止双花问题,并且其采用的PBFT 共识算法会随着链的增多,性能急剧下降.

针对现有区块链性能低下,难以支持多种场景下数字资产的分类并发处理,难以实现多链共识等问题,本文首先面向联盟链设计一种树形主从多链架构,该架构基于树形结构对群组进行切分,使得树中的每一个父节点和其子节点组成一个通道,达到数据隔离的隐私需求;通过每个通道维护一条从链,所有通道共同维护一条主链,实现不同数字资产的分类处理;通过从链存储多样化交易内容,主链存储交易摘要,主从链通过哈希锁定的方式达到不可篡改和便于审计的目的;利用多个通道并行处理交易,解决现有区块链吞吐量低下和交易延迟过高等问题. 然后,针对树形结构的主从多链架构,设计基于门限签名的拜占庭容错共识算法来解决多样化数字资产分类并发处理带来的一致性问题,以及设计视图转换协议将失效或作恶的父节点向底层叶子节点位置调动,并将底层叶子节点替换到父节点位置,以获得强有力的系统活性保障. 分析表明,本文提出的主从多链结构突破了单链的功能和性能束缚,具有良好的高并发交易性能,同时兼顾隐私数据的隔离保护,满足企业多样化业务需求.

2 联盟链主从多链系统架构

联盟链是指由多个利益相关的机构共同参与和维护的区块链,其网络中的节点来自不同组织,互相缺乏信任且可能是拜占庭节点. 为了使系统能够容忍拜占庭错误,本方案采取树形结构来构造主从多链架构,树中每一个父节点i对应的子节点数量Ti≥3fi,fi为父节点i及其子节点构成的通道中所能容忍的拜占庭节点数量. 主从多链架构按照Ti叉树对联盟链共识群组进行划分,得到树中每个父节点(除根节点)和其副本节点组成的下层通道,以及根节点和其副本节点组成的上层通道,并且其数量之和满足构成拜占庭容错系统要求,即每个通道内副本总数量n≥3fi+1;父节点(除根节点)为各自下层通道的主节点,维护各自通道内的从链和主链,根节点为上层通道的主节点,负责构建主链;通道之间相互隔离,实现对不同数字资产的隐私保护,并以多通道并发处理数字资产交易的方式解决现有区块链技术吞吐量低和交易延迟高等问题.

考虑到实际的业务需求以及树过深会导致系统性能的下降,本方案采用深度为2的Ti叉树. 如图1所示,基于深度为2的Ti叉树对共识群组进行划分,形成相互独立、相互隔离的主从多链;树中每个父节点和其子节点都构成拜占庭容错系统,即ABCD、BEFG、CHIJKLM和DNOPQ 组成的4 个拜占庭容错系统. 其中ABCD 构成上层拜占庭容错系统,负责构建主链;BEFG、CHIJKLM 和DNOPQ 构成下层拜占庭容错系统,负责维护主链以及各自通道内的从链.

图1 主从多链系统架构

为实现主从多链之间的价值互联,在本文所构造的联盟链主从多链架构中,数字资产不仅可以在通道内部交易,还可以跨通道进行交易,实现链与链之间的互操作性,例如用户可以用某项资产交换不同机构的理财产品,不同的资产就需要在多条链上做转移、交换操作. 当进行链与链之间的互操作时,若将同一数字资产分别与不同的通道主体进行交易,同一资产将完成两次或者多次支付,则此类交易不满足全局一致性,故在联盟链主从多链架构中,不仅要保证通道内部交易的一致性,还要保证数字资产在跨通道交易时的一致性. 为了保证主从链的一致性,本文采用基于门限签名改进的拜占庭容错共识算法进行全网共识,由树中父节点收集其副本节点的投票信息(投票基于门限签名),当收集到的合法签名数量达到门限值ti(ti=2fi+1)时,父节点对投票信息进行聚合,然后向上层节点递归提交每个通道的门限签名状态,上层节点通过验证门限签名的合法性确认各通道交易的有效性以及状态是否达成一致,继而构建主链并广播给各下层通道,下层通道收到合法的主链区块后,将主链区块持久化写入到主链,同时更新本地的从链;主从链通过哈希相互锁定,保证交易的一致性和不可篡改性. 由此,针对联盟链主从多链架构下难以维护全局资产一致性问题,构建了高可信度的数字资产交易共识算法,保证数字资产的全局一致性,提高了区块链性能.

联盟链多链模型相关定义如下.

定义1数字资产(Digital Assets,DA). 数字资产是指企业拥有或控制的,以电子数据的形式存在,或可被数字化的资产,比如:付费音乐、虚拟积分、房产等.不同数字资产可被不同通道分类处理,数字资产通过全网唯一标识的数字身份进行转让、质押、租赁等各种交易操作.

定义2通道(Channel). 类似发布-订阅模式消息传递通道,树中每一个父节点和其子节点都构成一个通道,通道之间数据隔离. 如图1所示,ABCD 构成上层通道,负责构建主链,其中A 是根节点,可为政府部门部署的监管节点,通过维护主链达到监管审计的目的.BEFG、CHIJKLM 和DNOPQ 构成下层通道,负责维护主链以及各通道内的从链.

定义3节点(Node). 按照节点的职责,可以分为普通副本和主节点. 普通副本负责对提案进行投票;主节点可以进一步分为上层通道主节点和下层通道主节点,下层通道主节点一方面负责将所属通道的投票结果反馈给上层通道,另一方面负责从上层通道主节点获取最新的主链区块并在通道内部广播与同步. 上层通道主节点负责收集下层通道投票结果并构建主链区块.

定义4背书群组(Endorsement Group,EG). 当涉及链之间的互操作时,为保证数字资产交易在各个通道中的状态保持一致,需要为相应的数字资产交易生成动态背书群组,由背书群组负责对其数字资产交易进行背书.

定义5交易(Transaction,TX). 交易是指双方对数字资产进行价值的交换,一般包括两种交易方式:通道内数字资产交易和通道间数字资产交易. 通道内数字资产交易属于通道内部资产交易,由通道内交易发起人对其进行签名(如椭圆曲线签名算法)后在通道内部进行广播,然后由通道内成员对其进行基于门限签名的投票,父节点收集投票结果,将其提交到上层通道以写入到主区块链. 通道间数字资产交易涉及链之间的互操作,需由相应的背书群组对其背书,并将背书结果提交到上层通道以写入到主区块链.

定义6主从多链(Master-slave Multiple Chain,MSMC). 如图2 所示,相对“一链治所有”的单层链式结构,主从多链包括一条主链和多条从链,主从链均是按照时间戳顺序将数据区块以首尾相连的方式构成的独立区块链. 从链存储通道内相关的数字资产交易内容,保证通道内局部一致性,由各自通道成员维护;主链存储所有通道内不存在双花交易的哈希值,保证数字资产全局一致且不可篡改,由全体成员共同维护. 只有当从链交易的哈希值被写进主链,该从链交易才生效. 主链的数据区块称为主链区块(Master Block,MB),也叫作全局区块,主链区块格式为

图2 主从多链模型

其中,MB_PBHash 为前一区块哈希值,MB_Hight 为区块高度,MB_MerkleTree 为交易的哈希值按照Merkle 树方式组织的一种数据结构,SB_Hight 为数字资产交易对应的从链标识,用于快速定位到相应的从链所在的区块高度. 从链的数据区块称为从链区块(Slave Block,SB),从链区块格式为

其中,SB_PBhash 为前一区块哈希,SB_Hight 为区块高度,SB_MerkleTree 为交易的哈希值按照Merkle 树方式组织的一种数据结构,MB_Hight 为数字资产交易对应的主链标识,用于快速定位到相应的主链所在的区块高度.

3 门限签名

(t,n)门限签名[21]是指群体的签名密钥被n个成员以门限方式共享,任意大于等于t个成员的子集可以代表这个群体产生签名,而任意少于t个成员的子集则不能. 在基于门限签名的拜占庭容错的共识算法中,将群体的签名权利以门限方式分散给各副本,各个副本采用门限的方式进行投票,投票达到门限值t时,才能生成决议的有效签名. 这样的方法既保证了共识结果得到大多数副本的许可,又可在最小连通性的网络环境中实现低延迟、高鲁棒性的拜占庭容错共识算法. 根据子密钥分发方式的不同,门限签名可分为两种类型:由可信任中心分发子密钥的门限签名方案和分布式分发子密钥的门限签名方案. 本文采用分布式分发子密钥的门限签名方案,适合联盟成员互不信任的网络环境.门限签名的一般模型如下:

密钥生成Gen:输入安全参数k,输出系统公钥PK以及每个成员的私钥SKi.

签名Sign:输入安全参数k、消息m以及成员私钥SKi,产生部分签名σi,然后再由指定成员将达到门限值t的部分签名σi合成门限签名σ.

验证Verify:输入安全参数k、消息m、系统公钥PK和门限签名σ后,输出判断值“接受”或者“拒绝”.

4 基于树形结构的联盟链主从多链共识算法

本文基于Ti叉树提出一种联盟链主从多链架构,该架构中每一个父节点和其子节点都构成一个通道,利用多通道并发处理数字资产交易,解决单链架构下数字资产交易混合处理导致的性能低下问题. 但多通道并发处理可能导致数字资产不一致,并且现有以PoW、PBFT为主的共识算法均是以单链架构为背景,在多链架构下难以处理多样化数字资产并发交易. 因此,本节针对树形结构的联盟链主从多链提出一种基于门限签名的改进拜占庭容错共识算法,通过上层通道与下层通道协作共识完成数字资产的验证与记链操作,主要包括通道内数字资产交易一致性共识算法和通道间数字资产交易一致性共识算法.

假设每个通道及背书群组已经预分发门限签名的秘密份额,每个成员拥有各自通道的群签名私钥,群公钥全网公开,设门限签名的门限值ti=2fi+1,设一般签名表示为Sig、门限签名表示为ThresholdSig 以及门限签名中的部分签名表示为PartSig.

4.1 主从多链架构下通道内数字资产交易一致性共识算法

假设每个通道至多存在f个拜占庭节点,即满足f≤,并且假设拜占庭节点的行为可以是任意的,可以通过合谋方式欺骗诚实节点,破坏系统一致性,但是拜占庭节点计算能力有限,无法在多项式时间内突破密码机制,如签名算法. 以图1 主从多链架构为例,图中存在ABCD、BEFG、CHIJKLM 和DNOPQ 这4 个最小拜占庭容错系统. 其中ABCD 属于上层拜占庭容错系统,BEFG、CHIJKLM 和DNOPQ 属于下层拜占庭容错系统,A、B、C和D 为相应拜占庭容错系统的主节点. 则在主从多链架构下的通道内数字资产交易一致性共识算法中,整体流程如图3所示,具体过程描述如下.

图3 基于门限签名的主从多链共识算法

(1)下层通道的主节点(如B、C、D)收集本通道一段时间内发生的数字资产交易,统一检查并打包进区块,签名后向各自通道内的副本广播提案消息,其消息格式为,其中Sigip是通道i的主节点p签名,vi是通道i的视图编号,hi是通道i的提案区块高度,Hash(Blocki)是对通道i提案区块Blocki的消息摘要.

(2)各通道内的副本收到各自主节点发来的提案消息后,检查消息签名是否正确、视图编号是否一致.如果通过验证,则向各自主节点发送基于门限签名的投票消息,具体消息格式为. 其中vi是通道i的视图编号,hi是通道i的区块高度,Hash(Blocki)是对区块Blocki的消息摘要,skij是通道i所属副本Pj的门限签名子密钥.

(3)当下层通道的主节点收到大于等于ti-1(门限值ti=2fi+1)个来自所在通道不同副本发来的对同一个区块Blocki的部分签名投票消息后,首先验证部分签名是否正确、视图编号是否一致. 如果验证通过,则连同自己的一条投票消息,对区块Blocki的投票数达到预期门限值ti. 此时,下层通道主节点合成门限签名ThresholdSigi=ThresholdSig(PartSigi1,PartSigi2,…,PartSigit),向上层通道主节点(如A)发送投票结果并在本通道内广播,具体消息格式为. 其中vi是通道i的视图编号,hi是通道i的区块高度,ThresholdSigi是对区块哈希值Hash(Blocki)的门限签名.

(4)上层通道的主节点收集到各通道的投票结果后,首先验证门限签名是否正确、视图编号是否一致,如果验证通过,对下层通道主节点发来的交易(区块哈希值Hash(Blocki))按照一定规则进行排序,构造主链区块MB,之后将主链区块MB 广播给与其通信的下层通道主节点,消息格式为. 其中Sigm是上层通道主节点的签名,h为主链区块高度,MB 为主链区块,包含下层通道所提交区块哈希值的集合,ThresholdSigl(l=1,2,…,d)是下层通道对Hash(Blockl)的门限签名,d为下层通道提交的门限签名个数.

(5)下层通道主节点收到上层通道的主节点发来的主链区块消息后,在通道内部进行广播与同步. 当各通道副本收到主链区块消息后,首先验证上层通道的主节点的签名是否正确,以及主链区块中所包含的每一个通道区块哈希值对应的门限签名是否正确. 如果验证通过,将主链区块持久化写入到全局区块链,同时更新本地的从链区块链.

4.2 主从多链架构下通道间数字资产交易一致性共识算法

在基于树形构造的联盟链多链架构中,数字资产不仅可以在通道内部进行交易,还可以在通道间进行交易. 由于通道间交易的数字资产涉及多个通道,当同一数字资产在不同通道同时进行交易时,易造成双花问题. 为保证跨通道间资产交易在各个通道中的状态保持一致,首先从交易相关通道中选取背书群组,由背书群组负责对跨通道交易进行背书,并将背书结果反馈到上层通道进行全局共识.

假设通道间交易的数字资产涉及k个通道,为保证背书群组中至少存在三分之二的诚实背书节点,需要从k个通道中选取3fi+1 个背书节点,且每个通道至少选择3fi名节点作为背书节点. 背书群组内部选择一名背书节点作为背书群组主节点.

(1)各通道主节点收集本通道一段时间内发生的跨通道交易,统一检查并打包进区块,签名后发送至背书群组,其消息格式为. 其中Sigip是通道i的主节点p的签名,vi是通道i的视图编号,hi是通道i的提案区块高度,Hash(Blocki)是对通道i提案区块Blocki的消息摘要.

(2)背书群组接收到通道间交易后,验证区块中的每一笔交易是否满足全局一致性,即同一时刻对同一数字资产的交易只允许出现一次. 如果通过验证,则背书群组成员进行基于门限签名的背书签名,并向背书群组主节点发送背书签名消息,其消息格式为. 其中vi是通道i的视图编号,hi是通道i的区块高度,Hash(Blocki)是对区块Blocki的消息摘要,skj是背书群组所属成员Pj的门限签名子密钥.

(3)当背书群组主节点收到大于等于ti-1(门限值2fi+1)个背书群组成员发来的对同一个区块Blocki的背书签名消息后,首先验证部分签名是否正确、视图编号是否一致. 如果验证通过,则连同自己的一条背书签名消息,对区块Blocki的投票数达到预期门限值ti,此时背书群组主节点合成门限签名ThresholdSigi=ThresholdSig(PartSigi1,PartSigi2,…,PartSigit)作为背书结果,将背书结果附在提案消息后转发至上层通道主节点并在背书群组内广播,具体消息格式为. 其中vi是通道i的视图编号,hi是通道i的区块高度,Hash(Blocki)是对区块Blocki的消息摘要,ThresholdSigi是对提案区块Blocki的背书签名.

(4)上层通道主节点收到附有背书签名的提案消息后,首先验证背书签名是否正确、视图编号是否一致. 如果验证通过,构造主链区块MB,并将主链区块MB 广播给与其通信的下层通道主节点,具体消息格式为. 其中h为全局区块高度,MB 为主链区块,包含了下层通道提交的区块哈希值,ThresholdSigl(l=1,2,…,d)是背书群组对Hash(Blockl)提交的门限签名,d为背书群组提交的门限签名个数.

(5)下层通道主节点收到上层通道的主节点发来的主链区块消息后,在通道内部进行广播与同步. 当各通道副本收到全局区块消息后,首先验证上层通道的主节点的签名是否正确,以及全局区块中所包含的门限签名是否正确. 如果验证通过,将全局区块持久化写入到主区块链,同时更新本地的从区块链.

4.3 视图转换

设delay(t)表示副本发送基于门限签名的投票消息到副本最终接受到主链区块的时间间隔. 因为只有交易的哈希值被写进主链,该交易才会生效,所以当某通道副本等待时间超过预设值delay(t)时仍然没有收到主链区块,启动视图转换协议,更换通道主节点,以避免陷入无限等待. 视图转换流程如下.

(1)当通道i的副本Pj进入视图转换协议后,令视图编号vnew=v+1,其中v是通道i的当前视图编号,向其他副本广播View-Change 消息,其消息格式为. 其中h为区块高度,Hash(Blocki)为通道i的主节点在高度h提交的从链区块哈希值. 如果副本Pj在高度h没有收到提案区块则为null.

(2)其他副本Pu在收到View-Change消息后,同样令视图编号vnew=v+1,广播View-Change 消息,其消息格式为. 其中,Hash(Blocki)为通道i的主节点在高度h提交的从链区块哈希值,Hash(MB)为全局主链区块的哈希值,PartSigu为副本Pu对Hash(Blocki)进行投票的部分签名,ThresholdSigl(l=1,2,…,d)是对包含在全局区块中的从链区块哈希值的门限签名,d为下层通道提交的门限签名个数. 如果副本Pu没有收到对应字段信息则为null.

(3)新视图vnew的主节点Pnew利用收到的View-Change 消息中的PartSig 和ThresholdSig 字段,构造New-View消息:

1)如果Pnew收到的View-Change消息中至少有一条包含合法ThresholdSig(ll=1,2,…,d),则向其他副本广播New-View消息,其消息格式为

2)如果Pnew收到的View-Change 消息中有ti条对Hash(Blocki)的部分签名PartSig,则合成门限签名ThresholdSigi,并向上层通道主节点发送New-View 消息,其消息格式为

3)如果Pnew没有收到一条消息包含合法的ThresholdSig(ll=1,2,…,d),也没有收到对Hash(Block)i的ti条部分签名PartSig,则选择新的提案Blocknew,并向其他副本广播新的提案消息,其消息格式为.

如果是上述第一种情况,将New-View 消息在通道内部进行广播同步即可. 如果是上述第二种情况,上层通道主节点收到New-View 消息后,首先验证门限签名是否正确、视图编号是否一致;如果验证通过,重新构造主链区块MB,并将主链区块MB 广播给与其通信的下层通道主节点,具体消息格式为,下层通道主节点收到新的全局区块后在通道内部进行广播,其他副本同步更新主从链. 如果是上述第三种情况,先由主节点Pnew收集与合成门限签名,再向上层通道主节点提交New-View 消息,后续过程与第二种情况类似,此处不再赘述.

5 性能分析

5.1 安全性、活性、一致性证明

引理1每个通道对通道内资产交易的投票结果是可信的.

证明由拜占庭系统定理可知,当拜占庭容错系统中有f个拜占庭节点时,若系统总节点数n≥3f+1,系统总能达成一致[22]. 本方案基于Ti叉树构建主从多链,使得每个通道内的副本数量总和满足n≥3fi+1,即每个通道都构成拜占庭容错系统.

假设下层通道i的主节点p为拜占庭节点,在收集本通道内产生的数字资产交易后,p将错误交易信息打包进区块Blocki,并将其在通道i内广播. 根据系统条件,通道i内至多存在个拜占庭节点,最后p收到的同意投票数最多为fi-1个(小于ti-1=2fi个),因此无法合成合法的门限签名ThresholdSigi.

由以上分析可知,每个通道对通道内资产交易的投票结果是可信的. 证毕

引理2背书群组对跨通道资产交易的背书结果是可信的.

证明由4.2节可知背书群组节点数N满足

在最坏的情况下,与跨通道资产交易相关通道中的拜占庭节点全被选为背书节点,这些拜占庭节点试图通过合谋来破坏系统一致性. 但由系统条件知,每个下层通道i中存在的拜占庭节点数fi满足

由式(3)和式(4)可以推出,背书群组中存在的拜占庭节点数Nf满足

定理1本文构建的主从多链架构是安全的.

证明本文构建的主从多链架构主要涉及通道内资产交易和通道间资产交易,由引理1 和引理2 可知,当通道i内至多存在fi≤个拜占庭节点时,通道内资产交易和通道间资产交易均是可信的,故本文构建的主从多链架构是安全可信的. 证毕

定理2本文采用基于门限签名改进的拜占庭容错共识算法是安全可靠的.

证明在基于门限签名改进的拜占庭容错共识算法中,群体的签名权利以门限方式(门限值ti=2fi+1)分散给通道内各副本,通道内各副本采用门限签名的方式进行投票达成共识,当通道内对某一区块提案的投票数达到门限值ti时,才能生成通道内决议有效的投票结果,并由通道主节点将此投票结果发送至上层通道构建全局区块,即全局区块包含了各通道代表法定人数投票意愿的门限签名,所有通道节点收到全局区块后只需验证该门限签名的合法性,即可对该通道的投票结果以及全局区块的有效性进行安全验证,故本文采用基于门限签名改进的拜占庭容错共识算法是安全可靠的. 证毕

定理3本文构建的主从多链架构具有较强的不可篡改特性.

证明在基于POW 共识算法构造的公有链中,每一个区块都获得一定的算力保障,攻击者想要篡改某一区块,需要掌握全网51%的算力,篡改难度大. 在基于PBFT 共识算法构造的联盟链中,失去算力保障的区块仅依靠分布式存储来保证不可篡改,难以防止节点之间相互合谋篡改数据,篡改成本低. 在本文构造的主从多链架构中,主链保存交易哈希值,从链保存交易内容,主从链通过哈希值的方式相互锁定. 假设某通道成员以合谋的方式篡改通道内部的从链交易,若要使篡改的区块生效,则同时需要篡改全网成员保存的主链交易,篡改的代价相对较大,故本文构建的主从多链模型具有较强的不可篡改特性. 证毕

定理4系统共识进程不会因为拜占庭节点的作恶行为而中断,即本文方案具有活性.

证明根据区块链架构设定,每个通道内至多存在f≤个拜占庭节点. 由引理1、引理2和定理1可知,下层通道内的数字资产交易以及跨通道资产交易的背书结果均是可信. 如果主节点p作恶,未发送门限签名投票结果至上层通道,或由于网络问题宕机,使共识进程处于停滞状态,由4.3 节可知,系统将根据视图切换协议,开启新的共识进程,避免陷入无限等待,进而使主从多链架构保持了活性. 证毕

引理3若下层通道i上传提案区块Blocki,则主链中一定会包含Blocki.

证明当下层通道i的主节点p收到大于等于ti-1(门限值ti=2fi+1)个所在通道不同副本对Blocki的投票消息,验证通过后合成门限签名ThresholdSigi,并向上层通道主节点m发送投票结果.

上层通道主节点m按一定顺序收集各下层通道上传的提案区块且对提案的投票结果验证通过后,m将各通道发送的提案区块的哈希值按一定顺序构造主链区块MB 并签名,广播给下层通道主节点,下层通道主节点收到主链区块消息后在各自通道内广播. 由4.1 节可知,通道i内各副本通过验证Blocki的哈希值、ThresholdSigl(l=1,2,…,d)以及Sigm的正确性,即可就主链区块达成共识,进而使提案区块Blocki上链. 证毕

引理4若背书群组上传提案区块Blocki,则主链中一定会包含Blocki.

证明假设通道间交易的数字资产涉及k个通道,则需要从k个通道中选取r>+1个背书节点,且每个通道至少选择3fi名节点作为背书节点. 由4.2 节易知,若背书群组上传提案区块Blocki,则主链中一定会包含Blocki,证明过程与引理3类似,此处不再赘述. 证毕

定理5本文方案具有一致性.

证明由引理3 和引理4 易知,本文方案具有一致性. 证毕

5.2 性能对比

本节将从区块链架构和共识算法两方面与现有主流方案进行比较,进而得出本方案的综合评价结果,详见表1.

由表1 可知,Bitcoin[3],Bitcoin-NG[6],Ethereum 和MBFT[14]采用单层链式结构,将所有交易混合在一条链上处理,难以实现数据之间的隔离.Bitcoin,Bitcoin-NG和Ethereum 采用PoW 共识算法,其去中心化程度较高、容错率较高,并且每一区块获得算力保障,数据篡改难度大,但采用的PoW 共识算法存在吞吐量低、延迟高等问题,影响系统的可扩展性,尽管Bitcoin-NG 通过引入关键区块和微区块解决了可扩展性问题,但仍然需要“挖矿”,效率没有得到质的提升.

表1 方案性能对比

基于PBFT 的共识方案,具有强一致性、不容易出现分叉、效率较高等特点,但往往通信复杂度较高. 如,T-PBFT[13]根据信用评价模型选出高信用共识群组以提升系统容错率,但其通信复杂度仍高达O(n2),随着节点的增多,系统性能会大幅降低,并且不适用于多链架构.MBFT[14]通过分片和分层技术,提高了交易速度,但由于分片使得共识群组越来越小,中心化程度加深,并且也不适用于多链架构. 文献[15]引入树形拓扑结构提高系统可扩展性,但由于其各层子网使用PBFT 共识算法,在子网规模较大的情况下仍然无法有效地降低通信复杂度,且信誉模型的引入会使整个系统趋于中心化,同时也不适用于多链架构.Fabric[19]和文献[20]采用多层链式结构,实现交易的并发与隔离处理,但由于采用了PBFT 共识算法,面临着可扩展性不足等问题,系统性能随着节点数的增多而急剧下降. 此外,Fabric 不支持跨链操作,难以满足现实生活多协作场景应用需求,通道成员数量有限且相对固定,数据易被合谋篡改. 文献[20]采用基于交易哈希值的动态验证算法以防止双花问题,但基于交易哈希值的动态验证算法只能识别具有相同交易哈希值的双花交易,若同一时刻同一数字资产与不同主体发生交易,不同主体间的交易哈希值不同,使得基于交易哈希值的动态验证算法难以识别交易的输入是否来自同一数字资产.

本方案基于Ti叉树构造主从多链架构,主从链通过哈希值相互锁定,难以篡改交易内容;通过从链并发处理交易,在提升交易速度的同时实现交易的隔离处理;同时采用基于门限签名改进的拜占庭容错算法避免了两两交互,从而将通信复杂度降为O(n). 另外,门限签名包含法定人数投票意愿,其他副本只需验证一条门限签名即可对投票结果的一致性进行安全验证,有效降低了签名验证复杂度.

6 实验仿真

本文参考联盟链框架Hyperledger Fabric,利用其多通道及可插拔共识模块实现树形主从多链的架构及其共识算法,同时选用单链架构下的PBFT 算法作为参照,在同等硬件条件下采用区块链性能测试工具Caliper 进行测试,分别得到本文多链共识算法和PBFT 算法的网络时延和吞吐量,以此来对比分析算法的性能优劣. 所做实验采用4 GB 内存、50 GB 硬盘及Intel(R)i5-6300HQ 处理器的硬件平台. 由于硬件条件限制,设置网络结构为最小拜占庭系统,即每个通道为最小拜占庭系统,PBFT 算法和本文算法设置为同样大小的网络架构,均包含13 个orderer 共识节点和一个peer 节点. 本次实验用到的3个测试链码如表2所示.

表2 链码接口

实验采用区块链性能测试工具Caliper 对3 个测试链码进行测试,系统交易数量设为500(考虑测试效率,transfer.js 的交易数设为250),通过调整交易发送速率,来观察时延和吞吐量的变化. 将交易发送速率从50 TPS(交易/秒)递增到100 TPS的网络吞吐量和时延结果制图(每间隔5 TPS 绘制一个点),横坐标为网络吞吐量,纵坐标为时延,得到测试链码open.js,transfer.js,delete.js 的吞吐量(Throughput)-时延(Latency)图,如图4所示.

图4 吞吐量-时延图

从图4可看出,本文算法有着较高的峰值吞吐量以及较低的时延,而PBFT 算法峰值吞吐量较低、时延较高,具体而言:

(1)本文多链系统的峰值吞吐量比PBFT 系统的峰值吞吐量大约高了57%,并且当交易发送速率接近70 TPS 的时候,PBFT 系统基本达到了峰值吞吐量,而本系统的吞吐量在交易发送速率接近110 TPS 时才会逐渐达到峰值;

(2)Caliper测试工具的输出结果Avgrage Latency 表示一个交易从进入系统到最终写入区块的时间. 从图中可以看出,两个系统的时延都会随着吞吐量的增加而增加,但本文多链系统的时延增长较慢,而PBFT 系统的时延会随着吞吐量的增加急剧增加.

从上述仿真结果可以看出,本系统在多节点高发送率高交易量的情况下,吞吐量和时延优于传统的PBFT方案.

7 结论

本文针对现有区块链性能低下,难以支持多种场景下数字资产的分类并发处理、难以实现多链共识等问题,首先面向联盟链提出了一种树形主从多链架构,该架构通过树形结构将群组切分成多条子链,利用子链分类并行处理多样化数字资产交易,有效解决了现有区块链吞吐量低下和交易延迟过高等问题. 其次针对树形结构的主从多链架构,设计基于门限签名的拜占庭容错共识算法解决多样化数字资产分类并发处理带来的一致性问题,同时设计视图转换协议实现强有力的系统活性保障.

猜你喜欢

主链主从背书
背书是写作的基本功
背书
Antarctica's pretty pink snow
WDC主链正式启动创世区块已诞生
基于ACS880变频器XD2D主从功能的采煤机牵引调速系统设计
有机化合物命名易错题直击
“烷烃”的五字命名方针
基于飞行试验数据的仿真模型主从一体化检验
背书连续性若干问题探析
风声雨声慎转背书声