多联盟链跨链方法技术

技术编号:37449166 阅读:18 留言:0更新日期:2023-05-06 09:21
一种多联盟链跨链方法,在联盟内部运行的拜占庭容错类算法(BFT)进行共识,即由属于该联盟的节点对某一项提议达成的共识后对外呈现为一个整体,再采用哈希图共识算法,以联盟作为哈希图共识的基本参与者,对某一项提议在多个联盟间达成一致意见。本发明专利技术不要求存在一个确定的、已知的诚实联盟,能够对内部区块达成联盟内部共识,对跨链区块达成联盟间的共识。在达成联盟间共识的时候,该方法能够容忍1/3联盟总数的恶意联盟。1/3联盟总数的恶意联盟。1/3联盟总数的恶意联盟。

【技术实现步骤摘要】
多联盟链跨链方法


[0001]本专利技术涉及的是一种区块链领域的技术,具体是一种容忍恶意联盟的多联盟链跨链方法。

技术介绍

[0002]在多联盟链系统中,跨链交易是与多个联盟相关的交易。以往的联盟链跨链方法在系统中所有联盟都诚实的假设下能够完成对跨链交易的处理,保证安全性和活性。这些方法认为系统中所有的联盟都是诚实的,不会发动任何攻击,只会完全依照跨链方法来与其他联盟发送跨链消息,完成跨链交易。但是当系统中的联盟可能恶意时,这些方法无法处理跨链交易。恶意联盟会采取一些攻击手段,如给不同的联盟发送冲突的消息,使得部分联盟认为该笔交易成功,部分联盟认为该笔交易失败,使得跨链交易丧失安全性。恶意联盟也可能抑制网络中消息的发送,使得跨链交易迟迟无法完成,使得跨链交易丧失活性。
[0003]现有改进技术使用公证人节点和通过主链审核实现跨链,该类跨链方法会假设存在一个确定的、已知的诚实联盟,由该诚实联盟充当公证人或维护主链来处理跨链交易。但当系统中不存在这样一个确定的、已知的诚实联盟的时候,这两种方法无法使用。

技术实现思路

[0004]本专利技术针对现有技术存在的上述不足,提出一种多联盟链跨链方法,不要求存在一个确定的、已知的诚实联盟,能够对内部区块达成联盟内部共识,对跨链区块达成联盟间的共识。在达成联盟间共识的时候,该方法能够容忍1/3联盟总数的恶意联盟。
[0005]本专利技术是通过以下技术方案实现的:
[0006]本专利技术涉及一种容忍恶意联盟的多联盟链跨链方法,在联盟内部运行的拜占庭容错类算法(BFT)进行共识,即由属于该联盟的节点对某一项提议达成的共识后对外呈现为一个整体,再采用哈希图共识算法,以联盟作为哈希图共识的基本参与者,对某一项提议在多个联盟间达成一致意见。
[0007]所述的拜占庭容错类算法(BFT)包括但不限于:实用拜占庭容错算法(PBFT)、简化拜占庭容错算法(SBFT)、Hotstuff、Tendermint。
[0008]本专利技术涉及一种实现上述方法的系统,包括:多链账本单元、内部共识单元、联盟间数据传递单元和哈希图共识单元,其中:链账本单元根据内部交易或跨链交易的账本和待处理交易的信息,进行出块处理,得到新的内部区块或有效的跨链区块;内部共识单元对内部区块或有效的跨链区块进行共识处理,得到针对区块的联盟内部共识;多链账本单元根据已达成内部共识的区块的信息进行对账本的写入处理,得到添加了新区块的账本;联盟间数据传递单元根据已达成内部共识的新跨链区块的信息,将跨链区块可靠地传递给其他联盟;多链账本单元根据收到的跨链区块信息,将收到的跨链区块加入到账本中,得到添加了新区块的账本;哈希图共识单元根据账本信息,进行哈希图共识处理,得到对跨链区块的联盟间共识。
技术效果
[0009]本专利技术通过融合区块链与哈希图的多链账本,基于哈希图的联盟间共识方法,实现原生支持跨链交易;能对跨链交易达成联盟间共识;允许联盟并行产生跨链区块;具有较低的网络复杂度。
附图说明
[0010]图1为内部区块和跨链区块示意图;
[0011]图2为基于哈希图的多联盟链账本示意图;
[0012]图3为不同联盟视角下的多链账本示意图;
[0013]图4为基于哈希图的层次共识流程图。
具体实施方式
[0014]本实施例系统中每个联盟C
i
维护一个联盟账本L
i
,该账本为区块链账本,记录由联盟C
i
产生的交易的集合。交易分为内部交易和跨链交易。这两种交易分别存放在内部区块和跨链区块中。如图1所示。为内部区块和跨链区块的典型内容。
[0015]除了区块链形式的联盟账本外,系统中还存在一个哈希图形式的跨链哈希图账本。跨链区块额外包含两个哈希指针,分别指向本联盟上一个跨链区块和其他联盟的跨链区块。最终系统中所有的跨链区块会形成一个哈希图形式的账本。这个由跨链区块组成的哈希图也是一个账本,以跨链哈希图账本来指代该账本。
[0016]如图2所示,为当系统存在4个联盟情况下的账本结构。如图所示,账本L
i
将联盟C
i
产生的内部区块和跨链区块组织成区块链账本。与此同时,所有跨链区块连接构成一个跨链哈希图账本。
[0017]如图3所示,对于联盟C
i
,其不仅维护自己的联盟账本L
i
,也维护跨链哈希图账本。这两个账本被联盟C
i
产生的跨链区块融合在一起,形成联盟C
i
视角下的多链账本。
[0018]每个联盟视角下的多链账本存在差异。图3中(a),(b),(c),(d)分别展示联盟C1,C2,C3,C4视角下的账本。对于联盟C
i
,其视角下的多链账本包括本联盟的账本L
i
和跨链哈希图账本。联盟C
i
中的节点能看见自己的账本L
i
,即图中虚线方框部分中的区块,以及其他联盟的跨链区块,看不见其他联盟的内部区块,实现对其他联盟内部交易的数据隐私保护。
[0019]如图4所示,为本实施例涉及的一种可容忍恶意联盟的共识方法,针对新的内部区块或跨链区块的共识,包括:
[0020]a)当新区块为内部区块时,在包含n个联盟C1,C2…
C
n
的多联盟链系统中的每个联盟对内部区块的共识即为在联盟内部运行的PBFT共识,具体包括:
[0021]a.1)领导节点收集批量内部交易,并取得本联盟账本L
i
中上一个区块的哈希等数据,组装成内部区块Block
internal

[0022]a.2)领导节点广播预处理(pre

prepare)消息<PRE

PREPARE,v,n,d,Block
internal
>给C
i
的其他节点,其中:v是试图号,n是区块的序号,d是区块哈希。
[0023]a.3)节点k收到有效的pre

prepare消息后,广播prepare消息<PREPARE,v,n,d,k>给C
i
的其他节点。
[0024]a.4)节点k收到2f
i
+1个有效的准备(prepare)消息后,广播commit消息<COMMIT,
v,n,d,k>给C
i
的其他节点。
[0025]a.5)节点收到2f
i
+1个有效的确认(commit)消息后,提交该Block
internal
到联盟账本中。
[0026]所述的在联盟内部运行是指:内部区块不会被发送给其他联盟,以保证内部交易的隐私性。
[0027]b)当新区块为跨链区块时,采用PBFT算法达成联盟本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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
中门限签名为随机种子,随机选择接下来需要进行同步的联盟...

【专利技术属性】
技术研发人员:黄钜正阮娜
申请(专利权)人:上海交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1