【技术实现步骤摘要】
多联盟链跨链方法
[0001]本专利技术涉及的是一种区块链领域的技术,具体是一种容忍恶意联盟的多联盟链跨链方法。
技术介绍
[0002]在多联盟链系统中,跨链交易是与多个联盟相关的交易。以往的联盟链跨链方法在系统中所有联盟都诚实的假设下能够完成对跨链交易的处理,保证安全性和活性。这些方法认为系统中所有的联盟都是诚实的,不会发动任何攻击,只会完全依照跨链方法来与其他联盟发送跨链消息,完成跨链交易。但是当系统中的联盟可能恶意时,这些方法无法处理跨链交易。恶意联盟会采取一些攻击手段,如给不同的联盟发送冲突的消息,使得部分联盟认为该笔交易成功,部分联盟认为该笔交易失败,使得跨链交易丧失安全性。恶意联盟也可能抑制网络中消息的发送,使得跨链交易迟迟无法完成,使得跨链交易丧失活性。
[0003]现有改进技术使用公证人节点和通过主链审核实现跨链,该类跨链方法会假设存在一个确定的、已知的诚实联盟,由该诚实联盟充当公证人或维护主链来处理跨链交易。但当系统中不存在这样一个确定的、已知的诚实联盟的时候,这两种方法无法使用。
技术实现思路
[0004]本专利技术针对现有技术存在的上述不足,提出一种多联盟链跨链方法,不要求存在一个确定的、已知的诚实联盟,能够对内部区块达成联盟内部共识,对跨链区块达成联盟间的共识。在达成联盟间共识的时候,该方法能够容忍1/3联盟总数的恶意联盟。
[0005]本专利技术是通过以下技术方案实现的:
[0006]本专利技术涉及一种容忍恶意联盟的多联盟链跨链方法,在联盟内部运行的拜 ...
【技术保护点】
【技术特征摘要】
1.一种容忍恶意联盟的多联盟链跨链方法,其特征在于,在联盟内部运行的拜占庭容错类算法进行共识,即由属于该联盟的节点对某一项提议达成的共识后对外呈现为一个整体,再采用哈希图共识算法,以联盟作为哈希图共识的基本参与者,对某一项提议在多个联盟间达成一致意见。2.根据权利要求1所述的容忍恶意联盟的多联盟链跨链方法,其特征是,针对新的内部区块或跨链区块的共识,包括:a)当新区块为内部区块时,在包含n个联盟C1,C2…
C
n
的多联盟链系统中的每个联盟对内部区块的共识即为在联盟内部运行的PBFT共识;b)当新区块为跨链区块时,采用PBFT算法达成联盟内部共识,即由属于该联盟的节点对某一项提议达成的共识后对外呈现为一个整体,再采用哈希图共识算法,以联盟作为哈希图共识的基本参与者,对某一项提议在多个联盟间达成一致意见。3.根据权利要求2所述的容忍恶意联盟的多联盟链跨链方法,其特征是,当新区块为内部区块时,在联盟内部运行的PBFT共识具体包括:a.1)领导节点收集批量内部交易,并取得本联盟账本L
i
中上一个区块的哈希数据,组装成内部区块Block
internal
;a.2)领导节点广播预处理(pre
‑
prepare)消息<PRE
‑
PREPARE,v,n,d,Block
internal
>给C
i
的其他节点,其中:v是试图号,n是区块的序号,d是区块哈希;a.3)节点k收到有效的pre
‑
prepare消息后,广播prepare消息<PREPARE,v,n,d,k>给C
i
的其他节点;a.4)节点k收到2f
i
+1个有效的准备(prepare)消息后,广播commit消息<COMMIT,v,n,d,k>给C
i
的其他节点;a.5)节点收到2f
i
+1个有效的确认(commit)消息后,提交该Block
internal
到联盟账本中。4.根据权利要求1或2所述的容忍恶意联盟的多联盟链跨链方法,其特征是,所述的哈希图共识算法,在联盟在产生新跨链区块C
i
的同时产生一个公开可验证的随机数用于决定接下来与哪一个联盟进行同步;联盟在收到邻居联盟的同步信息后,验证同步信息中的区块为联盟产生的合法区块,而非某些恶意节点产生的伪造区块。5.根据权利要求4所述的容忍恶意联盟的多联盟链跨链方法,其特征是,所述的当新区块为跨链区块时,采用PBFT算法达成联盟内部共识,具体包括:b.1)领导节点收集批量跨链交易,并取得本联盟账本L
i
中上一个区块的哈希,上一个跨链区块的哈希,以及上一次同步过程中其他联盟新产生跨链区块的哈希数据,形成一个跨链区块Block
cross
;b.2)领导节点广播pre
‑
prepare消息<PRE
‑
PREPARE,v,n,d,Block
cross
>给C
i
的其他节点,其中:v是试图号,n是区块的序号,d是区块哈希;b.3)节点k收到有效的pre
‑
prepare消息后,广播prepare消息<PREPARE,v,n,d,k>给C
i
的其他节点;b.4)节点k收到2f
i
+1个有效的prepare消息后,使用(2f
i
+1,n
i
)门限签名方案对Block
cross
进行签名得到签名份额σ
k
,然后广播commit消息<COMMIT,v,n,d,k,σ
k
>;b.5)节点收到2f
i
+1个有效的commit消息后,将2f
i
+1个签名份额恢复成完整签名,将该完整签名加入到Block
cross
中,提交该Block
cross
,将该Block
cross
加入到联盟账本中;
b.6)Block
cross
被提交后,C
i
中的节点以Block
cross
中门限签名为随机种子,随机选择接下来需要进行同步的联盟...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。