一种多模信任跨链共识方法、系统、介质、设备及终端与流程



1.本发明属于区块链跨链技术和区块链应用技术领域,尤其涉及一种多模信任跨链共识方法、系统、介质、设备及终端。


背景技术:



2.目前,随着区块链技术在能源大数据、政务、数据共享等领域的应用,适应于各种场景的区块链种类逐渐繁荣。一方面,各账本间彼此隔离运行,形成了数据孤岛,为链间数据访问和一致性协作带来了挑战。另一方面,各个区块链账本高度自治,各自有自己的实现机制和经济体系,使得依赖于区块链相关技术的安全性也参差不齐,造成了跨链双方无法建立信任关系。
3.为了解决上面的问题,保证跨链互操作的安全性,针对第一个跨链问题,目前跨链解决方案主要包括哈希时间锁、公证人模式和中继/侧链方案,但是哈希时间锁可以简单地实现链下的资产互换,但是这对资产互换的双方的可信任程度要求较高,并且一旦存在节点疯狂的发起链下交换,将会严重阻塞区块链主要业务运行。第二类公证人机制,依赖于公证人的可信身份来保证区块链跨链,一旦公证人存在恶意,将会严重导致跨链操作的运行,存在单点故障的可能性,第三类由于维护中继和侧链的成本较高,并且跨链的时效性也会大大的降低,因此其维护的空间成本较高,并且中继链平台的共识节点的固定也会降低其安全性。对于第二个链间信任问题,一类方案是设立集中的管理机构,对区块链进行信任管理,实现上简单易行,缺点是将信任完全寄托于一个中间人身上,过于集中;另一种方案是通过约定规则建立信任,缺点是不确定因素过多,所要考虑的问题也非常复杂。因此由于信任的不断变化,目前区块链跨链机制,不能根据各自组织的信任程度动态变化,使得难以满足不同信任关系区块链系统之间跨链数据互访的要求,阻碍了的区块链间数据与价值的流通。
4.在场景各异的区块链账本中,随着信任关系的不断变化的过程中,如何实现跨链方案根据信任关系的变化动态切换,满足多模共生环境中不同信任关系的跨链需求是亟需解决的技术难点。
5.通过上述分析,现有技术存在的问题及缺陷为:
6.(1)哈希时间锁对资产互换的双方的可信任程度要求较高,并且一旦存在节点疯狂的发起链下交换,将会严重阻塞区块链主要业务运行。
7.(2)公证人机制依赖于公证人的可信身份来保证区块链跨链,一旦公证人存在恶意,将会严重导致跨链操作的运行,存在单点故障的可能性。
8.(3)中继/侧链方案维护中继和侧链的成本较高,跨链的时效性也会大大的降低,并且中继链平台的共识节点的固定也会降低其安全性。
9.(4)设立集中的管理机构对区块链进行信任管理方法的信任过于集中;而通过约定规则建立信任的不确定因素过多,所要考虑的问题也非常复杂。
10.(5)目前区块链跨链机制不能根据各自的信任程度动态变化,难以满足不同信任
关系区块链系统间跨链数据互访的要求,阻碍区块链间数据与价值流通。


技术实现要素:



11.针对现有技术存在的问题,本发明提供了一种多模信任跨链共识方法、系统、介质、设备及终端,尤其涉及一种基于区块链信任模型的多模信任跨链共识方法、系统、介质、设备及终端。
12.本发明是这样实现的,一种多模信任跨链共识方法,所述多模信任跨链共识方法包括:基于区块链运行过程中的网络状态、区块链系统安全性、节点数据一致性与节点作恶率,构建区块链安全信任模型,结合模糊理论和概率分布确定各系统的信任分量,并利用权重和获得系统的信任值。基于此模型构建链间多模信任共生环境,通过设计多模跨链共识模式,可在直接跨链、中间人跨链和委员会跨链模式间灵活切换,满足不同信任关系系统间的跨链互联,并利用跨链挂载结构提高互操作时效。
13.初始化区块链基础平台并构建信任委员会;收集信任模型参数并计算信任值;查询比较信任值并构建信任关系;根据信任关系选择跨链模式;跨链共识完成并挂载上链。
14.进一步,所述多模信任跨链共识方法包括以下步骤:
15.步骤一,区块链基础设施初始化:当区块链上的节点和账户均已进行初始化,并持有相应的token数量、公私钥对以及地址,同时集中式信任管理有可信第三方担保背书的区块链账本,根据可信第三方权威机构的信任层级,赋予高信任阈值;主要是通过初始化,为后续信任建模和多模跨链提供必要的基础。
16.步骤二,构建信任委员会:根据各自区块链上的节点根据所持有的token数额,根据token数额选取前2n 个节点作为信任委员会的候补成员;跨链需求节点广播随机种子后,2n个节点计算vrf可验证随机函数值,最终获取符合要求的前n个节点作为信任委员会c
t
;主要是通过构建信任委员会,建立信任度量的实施主体,后续完成对目标链的信任度量。
17.步骤三,获取各种参数数据计算信任值建立信任:信任委员会c
t
中的所有节点,开始收集区块链中通信信任、安全信任、数据信任、历史信任、奖惩情况和参与度信任的参数数据;主要信任委员会通过获取到的各种参数,计算并集成信任信任值,建立信任关系,为后续多模跨链提供信任依据。
18.步骤四,根据信任模型计算的信任值评估目标链的信任关系,并选用不同的跨链方案。主要是利用上述步骤得到的信任关系依据,适配不同的跨链方案,以此通过信任关系来提高跨链的速率。
19.进一步,所述步骤三中的参数数据包括:
20.(1)通信信任数据:
21.信任委员会c
t
中的节点,发送心跳包与跨链目标链中的节点进行通信,根据发送的心跳包和收集到数据情况利用构建的逻辑模型计算信任值。
22.采用主观的逻辑架构进行计算,定义通信信任三元组t={b,d,un},其中b代表不同区块链的节点间通信交互被评估为信任的情况,d代表不同区块链的节点间通信交互被评估为不信任的情况,un代表不同区块链的节点间通信交互;{b,d,un}∈[0,1],同时b+d+un=1,遵循基于主观逻辑框架的信任模型,得到区块链安全信任模型的通信信任t
com
的计
算公式如下:
[0023][0024]
其中,
[0025]
其中,s代表不同区块链之间互相发送通信包时的通信成功情况,f表示不同区块链节点之间互相发送通信包时的通信失败情况。
[0026]
(2)参与度信任数据:
[0027]
信任委员会c
t
中的节点获取跨链目标链中区块链的区块数据,分析前n个区块的出块者,计算出块参与度,根据信任模型得出参与度信任:
[0028]
参与度定义为:
[0029][0030]
其中,num
block
表示最近一段时间节点所获取的区块的总数,num
min
表示最近一段时间所获取的区块中,参与数据获取的节点个数;
[0031]
设定参与度阈值当区块链系统的参与度超过参与度阈值说明区块链是经过大多数节点共治共识上链,则θ值越大区块链的安全性和可信程度越高;参与度信任值t
part
计算公式描述如下:
[0032][0033]
其中,表示参与度阈值,θ表示区块链节点共识参与度情况。
[0034]
(3)数据信任数据:
[0035]
信任委员会c
t
中的节点获取跨链目标链中区块链的区块数据,分析获取到的区块数据的同步率;如果计算区块链的网络同步率,通过正态分布随机函数计算相应同步率下的数据信任值:
[0036]
数据一致性信任值t
data
的计算公式描述如下所示:
[0037][0038]
其中,x代表区块链所获取的另一条区块链最新区块的比例情况;σ为随机变量的方差,取为0.2。
[0039]
(4)安全信任数据:信任委员会c
t
中的节点获取跨链目标链中已经设定好或实现好的各种系统参数和信任评级,构建模糊评价矩阵;通过各个部分的重要程度赋予各自权重值,计算安全信任数据。
[0040]
(5)奖惩情况数据:信任委员会c
t
中的节点获取跨链目标链中所记录的受攻击情况,以及系统正常安全运行的情况,根据提前设定好攻击情况集,以及攻击对信任影响程度,计算信任影响值,得到奖惩信任。
[0041]
将区块链系统安全运行的时间t,随着区块链系统安全运行时间t的增加,区块链
系统的信任值将随之提升;将t
re
定义为信任奖励,随着安全运行时间的增加而提高,t
re
描述如下:
[0042][0043]
其中,β》1,r》1,表示为信任提升参数,意为信任提升的速度;t表示的是区块链系统的安全运行时间;
[0044]
定义区块链系统安全攻击类别向量p如下:p=(p1,p2,p3,p4,

,pn),其中pi表示区块链系统中的某一种攻击类型,同时定义攻击严重程度集合pi,pi=(p
i1
,p
i2
,p
i3
,p
i4
,

,p
im
),其中pij表示受到属于pi这种安全攻击类别中的第j个级别的攻击程度,不同的攻击程度将有不同的信任值变化集。
[0045]
定义惩罚信任值t
punish
如下:
[0046][0047]
其中,γ
im
表示区块链系统受到pi类的安全攻击情况下,是第m个严重程度级别时的信任值影响情况,wi表示第i种攻击类别对区块链系统安全的影响程度。
[0048]
(6)历史信任数据:信任委员会c
t
中的节点根据跨链操作的增长,信任值不断的更新迭代,根据时间衰减因子,利用前n个历史信任值,根据历史信任模型计算历史信任值。
[0049]
记录区块链系统的历史信任值列表,记作tl
history
,tl
history
=[t
h1
,t
h2
,t
h3
,t
h4
,

,t
hn
],t
hi
分别代表当前时间点信任值更新前,区块链系统的第i次计算的信任值分布情况;将根据历史信任值的波动情况,赋予历史信任值不同的比例。
[0050]
计算历史信任值列表中的历史信任值的波动情况d的公式如下:
[0051][0052]
其中,th表示该区块链系统的历史信任值的平均值,t
hi
就是前n个信任值中的第i个信任值。
[0053]
定义参数α,α表示信任值波动情况的阈值,历史信任值与当前信任值的权重分配情况如下:
[0054][0055]
其中,th表示当前信任值前n个的历史信任值的平均值,且当波动情况大于α时,说明变化幅度大,以当前计算信任值作为主要权重;当波动情况小于α时,说明变化比较平稳,以当前历史信任值作为主要权重。
[0056]
(7)信任集成:信任委员会c
t
中的节点将获取到的信任数据,根据信任模型集成方案进行集成整合,得到最终信任值,并通过共识上链,完成信任评估。
[0057]
信任集成是对各个部分所得信任值的组合集成,获得信任值的当前值t
current

[0058]
t
current
=w1t
com
+w2t
part
+w4t
data
+w3t
sec
+w4(t
re-t
punish
);
[0059]
其中,wi表示各个部分信任值的权重值,t
com
,t
part
,t
data
,t
sec
,t
re
,t
punish
分别是各个部分信任值。
[0060]
根据历史信任所描述的方式,根据历史信任值的波动情况d,按照历史与当前信任值的比重计算最终的信任值t,计算方式如下:
[0061][0062]
信任构建委员会计算得到最终的区块链系统安全信任值,通过共识上链,广播给本链所有的成员节点后,进行定期的维护与更新。
[0063]
进一步,所述安全信任评估方法包括:
[0064]
选用模糊逻辑的综合模糊评价法,计算区块链系统安全属性信任值t
sec

[0065]
(1)建立综合评价的因素集
[0066]
建立对区块链的系统的安全指标综合评价因素的集合,u=(u1,u2,u3,u4,...,um),其中ui分别代表上述所说的安全评价指标因素。
[0067]
(2)建立综合评价的评价集
[0068]
对步骤(1)中所定义的m个区块链安全评价指标因素设定各自的安全综合评价集,用v表示如下所示: v=(v1,v2,v3,v4,...,vn),其中vj代表对u中综合评价指标集ui的第j种综合评价评级。
[0069]
(3)对单因素进行模糊评价,获得评价矩阵
[0070]
对上述建立的评价指标和综合评价集,对单因素ui进行模糊评价,获得评价矩阵r, ri=(r
i1
,r
i2
,r
i3
,r
i4
,...,r
in
),其中以m个单因素评价集r1,r2,r3,

,rm组成评价矩阵r
m*n
,成为模糊综合评价矩阵,如下所示:
[0071][0072]
其中,r
ij
表示对于评价指标ui的对于评为评级vj的隶属度,且r
i1
+r
i2
+...+r
ij
+r
i(j+1)
+...+r
in
=1,定义该隶属度为对区块链系统评级时评级比例。
[0073]
(4)分配安全属性指标因素权重
[0074]
获得模糊评价矩阵,根据各个安全属性对于区块链系统而言的重要性程度,确定每个评价指标的对于安全信任值所赋予的权重值,获得权重向量值a,描述如下:a=(a1,a2,a3,a4,...,am),其中ai表示对于评价指标集ui来说对于区块链系统安全性的重要程度,并且a1+a2+a3+a4+

+an=1。
[0075]
(5)合成评价向量
[0076]
确定单因素评价矩阵r和步骤四因素权重向量a后,通过综合模糊运算,将u上的模糊向量a变为v上的模糊向量b,公式表示为:
[0077]
[0078]
其中,称为综合评价合成算子,这里本发明取为矩阵乘法运算。
[0079]
(6)计算安全信任值
[0080]
确定评级分s=(s1,s2,s3,s4,...,sn),通过如下公式计算得到t
sec
,获得最后的区块链安全参数信任值;
[0081][0082]
进一步,所述步骤四中的根据信任模型计算的信任值评估目标链的信任关系,并选用不同的跨链方案包括:
[0083]
(1)集中式信任
[0084]
1)相同可信第三方
[0085]
1.两个节点nodea和nodeb之间直接跨链互操作,nodea和nodeb相互发起重置交易,后续过程中当存在超时和作恶的情况时自动回滚;
[0086]
2.重置交易当且仅当获得两个节点的签名siga和sigb才能生效;
[0087]
3.nodea随机生成一个密码key;
[0088]
4.nodea在链b1上发起一个跨链交易,该跨链交易只有提供正确的key和nodeb节点的签名sigb才会生效, nodeb在链b2上发起一个跨链交易,该跨链交易只有输入key,验证正确通过后,和nodea节点的签名siga才会生效;
[0089]
5.交易在各自的区块链上进行交易共识;
[0090]
6.交易完成之后,两个节点分别获得各自区块链上的交易spv证明;
[0091]
7.验证spv证明成功后发送跨链赎回交易请求;
[0092]
8.nodea为了拿到资金,会输入正确的key;
[0093]
9.nodeb拿到了key之后,利用key和自己的签名sigb,在链b2上进行key的验证;
[0094]
10.验证通过后,nodea和nodeb将分别获得相应的转账资产,完成原子直接跨链交换。
[0095]
11.如果在超过超时时间内没有提供正确的key和签名信息,交易自动回撤。
[0096]
2)不同可信第三方
[0097]
1.nodea发起跨链交易请求,ca公证人notary转发请求,征求nodeb同意;
[0098]
2.nodeb同意跨链交易请求,ca公证人notary转发同意请求;
[0099]
3.notary分别在nodea和nodeb所在区块链上创建账户;
[0100]
4.nodea和nodeb分别向公证人notary发起转账;
[0101]
5.通过交易共识并进行spv验证;
[0102]
6.验证通过,利用原子结算完成跨链。
[0103]
(2)分布式信任
[0104]
1)信任阈值
[0105]
定义三个信任阈值τ,μ,δ其中τ表示一个区块链系统能够参与到跨链互操作的初始安全信任值,μ表示一个区块链能够通过参与到跨链互操作的安全信任值,当安全信任值超过μ时,可以使用跨链委员会的方式进行跨链,同理,δ则表示当区块链安全信任值超过它时,符合直接跨链操作要求,跨链操作直接通过节点间的跨链操作来完成。
[0106]
2)相同信任域
[0107]
根据形成的信任域高低分为不同的跨链方式:一种是直接跨链,另一种是委员会
共识跨链。当两个区块链系统均处于高信任值δ的信任域时,采用直接跨链方式;而当处于低信任值μ的信任域时,则采用委员会跨链方式。
[0108]
3)信任偏差
[0109]
信任值高代表该区块链的可信任程度较高,信任值低表示该区块链的可信任程度较低,信任值高向信任值低的区块链直接跨链,而低信任值向高信任值跨链存在不信任的情况,采用委员会跨链的方式来验证和决定。
[0110]
4)间接信任
[0111]
当在b1区块链信任列表中有b2和b4,而b1区块链信任列表中只有b3。公证人跨链过程包括:
[0112]
1.首先区块链b1有跨链需求,向全网其所信任的区块链进行广播;
[0113]
2.因为b2信任b3,收到b1的跨链广播之后,回复b2的信任列表并签名;
[0114]
3.收到反馈的信任列表后b1进行信任值计算并核验b3可信程度;
[0115]
4.b1发起跨链交易,同理b2验证通过后也会向b3发起跨链请求;
[0116]
5.对跨链交易进行验证和spv确认;
[0117]
6.验证通过后完成原子交换结算;
[0118]
5)多链跨链。
[0119]
a)委员会选举
[0120]
采用委员会跨链方案,通过将跨链区块链集合中的节点映射到委员会节点。
[0121]
提出基于资产和计算难度的哈希碰撞方案,当有跨链请求时,广播一个随机数,触发跨链委员会的选举操作;想竞争成为跨链委员会节点的成员需要进行token抵押,根据抵押的token情况,根据token抵押计算难度值p;
[0122][0123]
其中,[]为取整函数,ρ为难度因子,m为链上token的总合,m*为节点持有的token。
[0124]
根据随机数、难度值p以及自增变量nance计算哈希碰撞值,将前n个符合难度节点作为跨链委员会的成员节点。
[0125]
进行出块节点的选举,委员会节点根据委员会随机数计算vrf可验证随机函数,通过比较排序得到排序最靠前的委员会节点成为出块节点。
[0126]
b)委员会份额分配
[0127]
分配委员会内成员数量份额算法如下:
[0128]
算法1:委员会节点份额算法
[0129]
定义trustsum=0,trust为区块链信任值数组
[0130]
初始化
[0131]
1)fori=1,2,

ndo
[0132]
2)trustsum+=trust[i]
[0133]
3)endfor
[0134]
4)fori=1,2,

,ndo
[0135]
5)
[0136]
6)end for
[0137]
c)委员会重选
[0138]
1.随着区块链安全信任值的周期更新进行周期重组;
[0139]
2.严重区块链安全事件的发生,实现重组。
[0140]
d)区块链退出与加入
[0141]
1.区块链加入跨链
[0142]
当区块链系统的安全信任值达到阈值μ时,并有跨链需求时,提出跨链加入请求;经过跨链委员会的共识同意,共识同意后有资格进入跨链委员会;共识完成后不是直接就按照份额分配加入跨链委员会,而是等到提到的委员会重组开始后,通过权重分配参与跨链区块链集合。
[0143]
2.区块链退出跨链
[0144]
随着区块链系统的运行,区块链系统不再需要跨链操作,那么向跨链委员会提起退出请求,需要跨链委员会的共识通过,等到当前周期结束后,重组时将区块链排除在外;当前区块链系统不参与跨链,当跨链委员会监测到委员会成员区块链存在安全问题或者作恶情况后,由选举的主节点提出剔除请求,委员会收到剔除请求后执行剔除操作,作为新的周期开始委员会重组。
[0145]
e)跨链挂载结构
[0146]
就一般的跨链操作而言,要经历很多次的节点共识。因此,为了能做到更好的实时性、交易数据的可验证性和系统安全性,本发明将提出一种新的跨链结构,进一步提高区块链的跨链效率和实效性。当跨链交易数据在跨链委员会中共识通过之后,将直接跟随最近一次共识出块一起打包,将交易账本数据挂载在新出的区块上,这样既减少了一次主链共识的时间,提高速度和效率,又可以很好的实现交易数据的查询效率,但是其安全性就需要跨链共识来保证。
[0147]
进一步,所述步骤四中的根据信任模型计算的信任值评估目标链的信任关系,并选用不同的跨链方案具体包括:
[0148]
(1)集中式信任:
[0149]
1)相同可信第三方
[0150]
区块链b1和b2是两个由同一个高信任层级ca权威机构授权认证的,在集中式信任中初始赋予高信任值,两个区块链之间建立强信任关系。
[0151]
当区块链链b1上的节点nodea,发起跨链操作请求,目标链回复响应;节点nodea和nodeb之间直接跨链互操作,nodea和nodeb相互发起重置交易,后续过程中当存在超时和作恶的情况时自动回滚,重置交易当且仅当获得两个节点的签名siga和sigb才能生效;nodea随机生成一个密码key,并在链b1上发起一个跨链交易,所述跨链交易只有提供正确的key和nodeb节点的签名sigb才会生效;nodeb在链b2上发起一个跨链交易,所述跨链交易只有输入key,验证正确通过后,和nodea节点的签名siga才会生效;交易在各自的区块链上进行交易共识,交易完成后,两个节点分别获得各自区块链上的交易spv证明,验证spv证明成功后发送跨链赎回交易请求;nodea输入正确的key,获得跨链信息;nodeb获得key后利用key和自己的签名sigb,在链b2上进行 key的验证;验证通过后,nodea和nodeb分别获得相应的转账资产,完成原子直接跨链交换;如果在超过超时时间内没有提供正确的key和签名信息,交
易自动回撤。
[0152]
2)不同可信第三方
[0153]
区块链b3由更低信任层级ca权威机构授权认证,在集中式信任中初始赋予高信任值,两个区块链之间建立强信任关系。
[0154]
当区块链b1上的节点nodea发起跨链交易请求,ca公证人notary转发请求,征求nodec同意;nodec同意跨链交易请求,ca公证人notary转发同意请求;notary分别利用在区块链b1和b3的账户向公证人notary 发起跨链交易,交易共识完成后,公证人进行spv验证,验证通过后分别在区块链b1和区块链b3上进行跨链结算。
[0155]
(2)分布式信任
[0156]
1)相同信任域
[0157]
区块链b4和b5属于第三方,无权威机构进行授权认证,需通过信任模型的进行信任评估后建立信任关系;当区块链链b4和区块链b5上的信任委员会,分别获取信任模型相关的参数数据,计算对应目标链的信任值并进行交互验证;当计算的信任值t≥δ,认为区块链b4和b5之间存在强信任关系,采用直接跨链的方式。
[0158]
区块链b4上节点noded发起跨链交易请求,区块链b5收到请求并进行验证,验证通过后向返回同意跨链操作响应;noded发起跨链交易,在区块链b4上进行交易验证,共识上链后,生成spv交易证明,将spv证明连同交易信息发送至区块链b5;对spv证明进行验证,验证通过后共识上链,完成跨链。
[0159]
2)间接信任
[0160]
区块链b4、b5和b6属于第三方,无权威机构进行授权认证,需通过信任模型的进行信任评估后建立信任关系;当区块链链b4和区块链b5上的信任委员会,分别获取信任模型相关的参数数据,计算对应目标链的信任值并进行交互验证;当计算的信任值t≥δ,认为区块链b4和b5之间存在强信任关系;区块链b5和b6存在强信任关系,但b4和b6相互隔离,无信任关系;当b4和b6需要跨链时采用间接跨链的方式。
[0161]
区块链b4上节点noded发起跨链交易请求时,广播向全网获取区块链b6的情况,b5收到请求信息,将信任的区块链b6的情况进行响应返回,节点noded收到广播消息回应,进行验证然后发送跨链交易请求;区块链 b5收到请求并进行验证,验证通过后,向b6发送跨链请求后,依次返回同意跨链操作响应;noded发起跨链交易,在区块链b4上进行交易验证,共识上链后,生成spv交易证明,将spv证明连同交易信息发送至区块链 b5,对spv证明进行验证;验证通过后共识上链;当区块链b5上完成跨链交易后,生成spv交易证明,将spv 证明连同交易信息发送至区块链b6,b6对spv证明进行验证,验证通过后共识上链,完成跨链。
[0162]
3)委员会跨链
[0163]
区块链b4、b5和b6属于第三方,无权威机构进行授权认证,需通过信任模型的进行信任评估后,建立信任关系;当间接信任广播后没有收到广播响应,或者当有信任有偏差的区块链需要跨链以及部分区块链信任评估值在[μ,δ]范围内时,采用委员会跨链方式。
[0164]
委员会跨链方式需要组建跨链委员会,采用委员会选举的哈希碰撞算法,根据参与跨链的区块链上的节点的token持有数;根据选举算法,确定哈希碰撞难度,分别计算哈希值并判断是否符合难度要求;根据委员会的份额分配算法,分配跨链委员会中参与跨链区块链的节点数,当b1、b2和b3区块链的信任值分别为0.6、0.8、 1.0,根据份额分配得跨链
委员会份额分配比例为num(b1,b2,b3)=3:4:5;跨链节点noded广播一个随机种子,跨链委员会中的节点收到广播种子后,计算vrf随机证明;根据证明排序,选择第一个主节点发起跨链交易事务,在跨链委员会中进行跨链共识;利用pbft共识算法,当跨链委员会节点分别在prepare阶段和commit 阶段收到2/3的节点的共识验证通过,进入reply阶段;将跨链共识结果发送给区块链b5和b6,跟随最新的区块按照跨链挂载结构挂载在目标区块链上,完成跨链。
[0165]
本发明的另一目的在于提供一种应用所述的多模信任跨链共识方法的多模信任跨链共识系统,所述多模信任跨链共识系统包括:
[0166]
区块链基础设施初始化模块,当区块链上的节点和账户均已进行初始化,并持有相应的token数量、公私钥对以及地址,集中式信任管理有可信第三方担保背书的区块链账本,根据可信第三方权威机构的信任层级,赋予高信任阈值;
[0167]
构建信任委员会模块,用于根据各自区块链上的节点根据所持有的token数额,根据token数额选取前2n 个节点作为信任委员会的候补成员;跨链需求节点广播随机种子后,2n个节点计算vrf可验证随机函数值,最终获取符合要求的前n个节点作为信任委员会c
t

[0168]
计算信任值建立信任模块,用于取各种参数数据计算信任值建立信任;信任委员会c
t
中的所有节点,开始收集区块链中通信信任、安全信任、数据信任、历史信任、奖惩情况和参与度信任的参数数据;
[0169]
跨链方案选择模块,用于根据信任模型计算的信任值评估目标链的信任关系,并选用不同的跨链方案。
[0170]
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述的多模信任跨链共识方法。
[0171]
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述的多模信任跨链共识方法。
[0172]
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的多模信任跨链共识系统。
[0173]
结合上述的技术方案和解决的技术问题,请从以下几方面分析本发明所要保护的技术方案所具备的优点及积极效果为:
[0174]
第一、针对上述现有技术存在的技术问题以及解决该问题的难度,紧密结合本发明的所要保护的技术方案以及研发过程中结果和数据等,详细、深刻地分析本发明技术方案如何解决的技术问题,解决问题之后带来的一些具备创造性的技术效果。具体描述如下:
[0175]
本发明提出了一种新的区块链信任模型,基于此信任模型提出并设计了多模信任跨链机制。本发明通过制定完善的区块链信任模型、多模跨链规则和委员会构建机制,解决不同信任关系下区块链之间跨链互联互通。
[0176]
第二,把技术方案看做一个整体或者从产品的角度,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:
[0177]
本发明通过构建信任模型对区块链系统进行评估,能够根据评估结果建立不同的信任关系,设计多模跨链共识方案,一方面避免单一跨链模式存在的缺陷,同时增加了信任
分别代表分布式模式下的不同区块链,各个区块链实现机制和经济体系不同,节点nodea、nodeb和nodec分别代表区块链b1、b2和b3上需要跨链的节点,同理节点noded、nodee和nodef分别代表区块链b4、b5和b6上需要跨链的节点,并且每个账户或节点都持有各自区块链的token。初始状态下b1、b2、b3三个区块链由可信第三方集中式管理的,可信程度更高;b4、b5和b6三个区块链属于账本相互隔离,且之间无信任关系。为了应对复杂信任关系下区块链之间跨链需求,提出了本发明。
[0201]
如图1所示,本发明实施例提供的多模信任跨链共识方法包括以下步骤:
[0202]
s101,进行区块链基础平台初始化并构建信任委员会;
[0203]
s102,收集信任模型参数并计算信任值;
[0204]
s103,查询比较信任值并构建信任关系;
[0205]
s104,根据信任关系选择跨链模式;
[0206]
s105,跨链共识完成并挂载上链。
[0207]
本发明实施例的具体流程如下:如图1所示,本发明实施例提供的基于区块链的建立信任的跨链模式的流程如下:
[0208]
步骤一:区块链基础设施初始化。假设区块链上的节点和账户均已经进行初始化,并且持有相应的token 数量、公私钥对以及地址,同时集中式信任管理有可信第三方担保背书的区块链账本,根据可信第三方权威机构的信任层级,赋予高信任阈值。
[0209]
步骤二:构建信任委员会。根据各自区块链上的节点根据所持有的token数额,根据token数额的多少,选取前2n个节点作为信任委员会的候补成员,然后跨链需求节点广播随机种子,然后2n个节点计算vrf可验证随机函数值,最终获取符合要求的前n个节点作为信任委员会c
t

[0210]
步骤三:获取各种参数数据计算信任值建立信任。信任委员会c
t
中的所有节点,开始收集区块链中通信信任、安全信任、数据信任、历史信任、奖惩情况和参与度信任的参数数据。
[0211]
通信信任数据:信任委员会c
t
中的节点,发送心跳包与跨链目标链中的节点进行通信,根据发送的心跳包和收集到数据情况利用之前构建的逻辑模型计算信任值。
[0212]
参与度信任数据:信任委员会c
t
中的节点获取跨链目标链中区块链的区块数据,分析前n个区块的出块者,计算出块参与度,根据信任模型得出参与度信任。
[0213]
数据信任数据:信任委员会c
t
中的节点获取跨链目标链中区块链的区块数据,分析获取到的区块数据的同步率,如果计算区块链的网络同步率,通过李正态分布随机函数计算相应同步率下的数据信任值。
[0214]
安全信任数据:信任委员会c
t
中的节点获取跨链目标链中已经设定好或实现好的各种系统参数和信任评级,构建模糊评价矩阵,通过各个部分的重要程度赋予各自权重值,计算安全信任数据。
[0215]
奖惩情况数据:信任委员会c
t
中的节点获取跨链目标链中所记录的受攻击情况,以及系统正常安全运行的情况,根据提前设定好攻击情况集,以及攻击对信任影响程度,计算信任影响值,即奖惩信任。
[0216]
历史信任数据:信任委员会c
t
中的节点根据跨链操作的增长,信任值不断的更新迭代,根据时间衰减因子,利用前n个历史信任值,根据历史信任模型计算历史信任值。
[0217]
信任集成:信任委员会c
t
中的节点将获取到的信任数据,根据信任模型集成方案进行集成整合,得到最终信任值,并通过共识上链,完成信任评估。
[0218]
步骤四:根据信任模型计算的信任值,评估目标链的信任关系,选用不同的跨链方案,具体的下面分开详细说明。
[0219]
集中式信任:
[0220]
1)相同可信第三方
[0221]
正如前提所描述的,区块链b1和b2是两个由同一个高信任层级ca权威机构授权认证的,拥有较高的可信任度,因此在集中式信任中初始为其赋予高信任值,两个区块链之间建立强信任关系。
[0222]
当区块链链b1上的节点nodea,发起跨链操作请求,目标链回复响应,然后节点nodea和nodeb之间直接跨链互操作,首先nodea和nodeb相互发起重置交易,后续过程中当存在超时和作恶的情况时自动回滚,重置交易当且仅当获得两个节点的签名siga和sigb才能生效,然后nodea随机生成一个密码key,并在链b1上发起一个跨链交易,该跨链交易只有提供正确的key和nodeb节点的签名sigb才会生效,nodeb在链b2上发起一个跨链交易,该跨链交易只有输入key,验证正确通过后,和nodea节点的签名siga才会生效。然后交易在各自的区块链上进行交易共识,交易完成之后,两个节点分别获得各自区块链上的交易spv证明,验证spv证明成功后发送跨链赎回交易请求,nodea为了拿到跨链信息,会输入正确的key;nodeb拿到了key之后,利用key和自己的签名sigb,在链b2上进行key的验证;验证通过后,nodea和nodeb将分别获得相应的转账资产,完成原子直接跨链交换。如果在超过超时时间内没有提供正确的key和签名信息,交易自动回撤。
[0223]
2)不同可信第三方
[0224]
正如前提所描述的,区块链b3是由一个更低信任层级ca权威机构授权认证的,拥有较高的可信任度,因此在集中式信任中初始为其赋予高信任值,两个区块链之间建立强信任关系。
[0225]
当区块链b1上的节点nodea发起跨链交易请求,ca公证人notary转发请求,征求nodec同意;nodec同意跨链交易请求,ca公证人notary转发同意请求;notary分别利用在区块链b1和b3的账户向公证人notary 发起跨链交易,交易共识完成后,公证人进行spv验证,验证通过后分别在区块链b1和区块链b3上进行跨链结算。
[0226]
分布式信任
[0227]
1)相同信任域
[0228]
正如前提所描述的,区块链b4和b5是属于第三方,无权威机构进行授权认证,需要通过信任模型的进行信任评估,然后建立信任关系。当区块链链b4和区块链b5上的信任委员会,分别获取信任模型相关的参数数据,计算对应目标链的信任值并进行交互验证,当计算的信任值t≥δ,认为本发明认为区块链b4和b5之间存在强信任关系,采用直接跨链的方式。
[0229]
区块链b4上节点noded发起跨链交易请求,区块链b5收到请求并进行验证,验证通过后向返回同意跨链操作响应。然后noded发起跨链交易,在区块链b4上进行交易验证,共识上链之后,生成spv交易证明,将 spv证明连同交易信息发送至区块链b5,对spv证明进行验证,验证通过之后共识上链,完成跨链。
[0230]
2)间接信任
[0231]
正如前提所描述的,区块链b4、b5和b6是属于第三方,无权威机构进行授权认证,需要通过信任模型的进行信任评估,然后建立信任关系。当区块链链b4和区块链b5上的信任委员会,分别获取信任模型相关的参数数据,计算对应目标链的信任值并进行交互验证,当计算的信任值t≥δ,认为本发明认为区块链b4和b5之间存在强信任关系,同理,区块链b5和b6也存在强信任关系,但是b4和b6相互隔离,无信任关系。当b4和b6需要跨链时采用间接跨链的方式。
[0232]
区块链b4上节点noded发起跨链交易请求时会首先广播向全网获取区块链b6的情况,b5收到请求信息,将其信任的区块链b6的情况进行响应返回,节点noded收到广播消息回应,进行验证然后发送跨链交易请求,区块链b5收到请求并进行验证,验证通过后,向b6发送跨链请求,然后依次返回同意跨链操作响应。然后noded发起跨链交易,在区块链b4上进行交易验证,共识上链之后,生成spv交易证明,将spv证明连同交易信息发送至区块链b5,对spv证明进行验证,验证通过之后共识上链。同理,当区块链b5上完成跨链交易之后,也生成spv交易证明,将spv证明连同交易信息发送至区块链b6,b6对spv证明进行验证,验证通过之后共识上链,完成跨链。
[0233]
3)委员会跨链
[0234]
正如前提所描述的,区块链b4、b5和b6是属于第三方,无权威机构进行授权认证,需要通过信任模型的进行信任评估,然后建立信任关系。当间接信任广播之后没有收到广播响应,或者当有信任有偏差的区块链需要跨链以及部分区块链信任评估值在[μ,δ]范围内时,采用委员会跨链方式。
[0235]
委员会跨链方式需要组建跨链委员会,为了保证跨链委员会节点的高可用,采用委员会选举的哈希碰撞算法,根据参与跨链的区块链上的节点的token持有数,根据上述的选举算法,确定哈希碰撞难度,然后分别计算哈希值并判断其是否符合难度要求,然后根据委员会的份额分配算法,分配跨链委员会中参与跨链区块链的节点数,假定b1、b2和b3区块链的信任值分别为0.6、0.8、1.0,根据份额分配可得跨链委员会份额分配比例为 num(b1,b2,b3)=3:4:5,如图15所示。然后跨链节点noded广播一个随机种子,跨链委员会中的节点收到广播种子之后,计算vrf随机证明,然后根据证明排序,选择第一个主节点发起跨链交易事务,在跨链委员会中进行跨链共识,利用pbft共识算法,当其跨链委员会节点分别在prepare阶段和commit阶段收到2/3的节点的共识验证通过,进入reply阶段,将跨链共识结果发送给区块链b5和b6,跟随最新的区块按照跨链挂载结构挂载在目标区块链上,完成跨链。
[0236]
本发明提出的基于区块链信任模型的多模跨链模式的流程如下:
[0237]
第一阶段:区块链信任模型
[0238]
目前区块链系统的安全层级与可信任程度不能一概而论,因为对于跨链操作来说一个区块链系统的安全性和可信任程度,将会决定其是否执行相应的跨链操作的基础,本发明提出了基于区块链的安全信任模型,目的是为了构建一个多模多层次的信任体系,为后续的跨链操作提供相应的信任域的划分基础,并以此为依据,在多模共生的信任环境中选择不同的跨链模式。下面本章将从信任模型的通信信任、数据一致性信任、安全参数信任、历史信任、奖惩信任这几个方面,对信任模型的构建进行介绍与分析。
[0239]
1、通信信任
[0240]
本发明定义了一个通信信任三元组t={b,d,un},其中b代表不同区块链的节点间通信交互被评估为信任的情况,d代表不同区块链的节点间通信交互被评估为不信任的情况,un代表不同区块链的节点间通信交互,由于数据丢失等不确定性因素,被评估为信任不确定的情况,并且{b,d,un}∈[0,1],同时b+d+un=1,本发明可以得到区块链安全信任模型的通信信任t
com
,计算公式如下:
[0241][0242]
其中,
[0243]
其中,s代表不同区块链之间互相发送通信包时的通信成功情况,同理,f表示不同区块链节点之间互相发送通信包时的通信失败情况。
[0244]
2、参与度信任
[0245]
参与度是区块链系统中最近的前n个区块中,不同出块者所占的百分比。根据以上的描述,定义了参与共识出块节点的百分比,即参与度,具体如下:
[0246][0247]
其中,num
block
表示最近一段时间节点所获取的区块的总数,num
min
表示最近一段时间所获取的区块中,参与数据获取的节点个数(注意不包含重复的出块节点)。
[0248]
需要设定一个参与度阈值当该区块链系统的参与度超过了参与度阈值说明该区块链是经过大多数节点共治共识上链,就可以认为,θ值越大,区块链的安全性和可信程度越高。参与度信任值t
part
计算公式描述如下:
[0249][0250]
其中,表示参与度阈值,θ表示区块链节点共识参与度情况。
[0251]
3、数据信任
[0252]
本发明提出了区块链系统数据一致性信任,由于区块链网络存在不完全同步问题,本发明可以给定一个同步期望e
x
均值为2/3,并且由于同一个区块链中区块结构和数据格式情况都比较相似,所以本发明将近似的认为其属于概率正态分布,数据一致性信任值t
data
的计算公式描述如下所示:
[0253][0254]
其中,x代表区块链所获取的另一条区块链最新区块的比例情况。σ为随机变量的方差,取为0.2。
[0255]
4、安全信任
[0256]
本发明集中对其区块链系统影响比较重要的几个安全参数属性,进行安全信任评估,具体包括:共识算法安全性、身份验证、访问控制、加密体系和隐私、密码算法、匿名性、抗攻击能力等因素。但是这些因素存在无法确定地进行定量评估,因此本发明在这里选用模糊逻辑的综合模糊评价法,计算区块链系统安全属性信任值t
sec
。具体步骤和描述如下所
示:
[0257]
步骤一:建立综合评价的因素集
[0258]
首先建立本发明对区块链的系统的安全指标综合评价因素的集合,u=(u1,u2,u3,u4,...,um),其中ui分别代表上述所说的安全评价指标因素,即上述所说的共识算法安全性等相关因素。
[0259]
步骤二:建立综合评价的评价集
[0260]
对步骤一中所定义的m个区块链安全评价指标因素设定各自的安全综合评价集,用v表示如下所示: v=(v1,v2,v3,v4,...,vn),其中vj代表对u中综合评价指标集ui的第j种综合评价评级,
[0261]
步骤三:对单因素进行模糊评价,获得评价矩阵
[0262]
对上述建立的评价指标和综合评价集,对单因素ui进行模糊评价,获得评价矩阵r, ri=(r
i1
,r
i2
,r
i3
,r
i4
,...,r
in
),其中以m个单因素评价集r1,r2,r3,

,rm组成评价矩阵r
m*n
,成为模糊综合评价矩阵,如下所示:
[0263][0264]
其中,r
ij
表示对于评价指标ui的对于评为评级vj的隶属度,即评为该评价级别的比例情况,且 r
i1
+r
i2
+...+r
ij
+r
i(j+1)
+...+r
in
=1,在此本发明定义该隶属度为对区块链系统评级时评级比例。
[0265]
步骤四:分配安全属性指标因素权重
[0266]
获得了模糊评价矩阵,然后根据各个安全属性对于区块链系统而言的重要性程度,本发明确定每个评价指标的对于安全信任值所赋予的权重值,获得权重向量值a,描述如下:a=(a1,a2,a3,a4,...,am),其中ai表示对于评价指标集ui来说对于区块链系统安全性的重要程度,并且a1+a2+a3+a4+

+an=1。
[0267]
步骤五:合成评价向量
[0268]
步骤三确定单因素评价矩阵r和步骤四因素权重向量a之后,通过模糊变化,即综合模糊运算,将u上的模糊向量a变为v上的模糊向量b,具体公式表示为:
[0269][0270]
其中,称为综合评价合成算子,这里本发明取为矩阵乘法运算。
[0271]
步骤六:计算安全信任值
[0272]
为了确定最后的区块链安全信任值,首先要确定评级分s=(s1,s2,s3,s4,...,sn),这需要根据其重要性程度,确定每个因素的最大分值,最后通过如下公式计算得到t
sec

[0273][0274]
获得最后的区块链安全参数信任值。
[0275]
5、奖惩情况
[0276]
本发明将区块链系统安全运行的时间t,随着区块链系统安全运行时间t的增加,
区块链系统的信任值也将随之提升。本发明将t
re
定义为信任奖励,他将随着安全运行时间的增加而提高,t
re
具体描述如下:
[0277][0278]
其中,β》1,r》1,表示为信任提升参数,意为信任提升的速度;t表示的是区块链系统的安全运行时间。其中的参数需要根据应用场景的不同,适当地进行调整以适应不同的需求。
[0279]
本发明定义区块链系统安全攻击类别向量p具体如下:p=(p1,p2,p3,p4,

,pn),其中pi表示区块链系统中的某一种攻击类型,同时定义攻击严重程度集合pi,pi=(p
i1
,p
i2
,p
i3
,p
i4
,

,p
im
),其中p
ij
表示受到了属于pi这种安全攻击类别中的第j个级别的攻击程度,不同的攻击程度将有不同的信任值变化集。
[0280]
因此本发明定义惩罚信任值t
punish
如下:
[0281][0282]
γ
im
表示区块链系统受到pi类的安全攻击情况下,是第m个严重程度级别时的信任值影响情况,wi表示第 i种攻击类别对区块链系统安全的影响程度。
[0283]
6、历史信任
[0284]
信任关系具有时间衰退性的特征,都存在一个信任老化计算因子λ。随着时间的推移,实体间的信任关系也将慢慢淡化,本发明定义如下,本发明记录区块链系统的历史信任值列表,记作tl
history
,tl
history
=[t
h1
,t
h2
,t
h3
,t
h4
,

,t
hn
],t
hi
分别代表当前时间点信任值更新之前,该区块链系统的第i次计算的信任值分布情况。本发明将根据历史信任值的波动情况,赋予历史信任值不同的比例,使其更符合信任变化的要求。
[0285]
计算历史信任值列表中的历史信任值的波动情况,计算波动情况d公式如下:
[0286][0287]
其中,th表示该区块链系统的历史信任值的平均值,t
hi
就是前n个信任值中的第i个信任值。
[0288]
本发明定义一个参数α,α表示信任值波动情况的阈值,所以历史信任值与当前信任值的权重分配情况如下:
[0289][0290]
其中,th表示当前信任值前n个的历史信任值的平均值,且当波动情况大于α时,说明变化幅度大,以当前计算信任值作为主要权重;当波动情况小于α时,说明变化比较平稳,以当前历史信任值作为主要权重。
[0291]
7、信任集成
[0292]
由此,本发明可以进行对上述的因素进行最后的信任集成。
[0293]
根据本发明所设计描述的信任模型,本发明可以很清晰的了解到,各个部分信任值在最终信任值的影响权重是不同的。
[0294]
信任集成是对各个部分所得信任值的组合集成,首先获得信任值的当前值t
current
,具体计算方式描述如下:
[0295]
t
current
=w1t
com
+w2t
part
+w4t
data
+w3t
sec
+w4(t
re-t
punish
)
[0296]
其中,wi表示各个部分信任值的权重值,t
com
,t
part
,t
data
,t
sec
,t
re
,t
punish
分别是上述所介绍的各个部分信任值。
[0297]
根据历史信任所描述的方式,根据历史信任值的波动情况d,按照历史与当前信任值的比重计算最终的信任值t,计算方式如下:
[0298][0299]
信任构建委员会计算得到最终的区块链系统安全信任值,通过共识上链,广播给本链所有的成员节点,然后定期的维护与更新。
[0300]
8、信任更新
[0301]
由于本发明设计的方案通过建立一个信任构建委员会作为信任度量的发起者和执行者,本发明设计的更新方案是以委员会构建的周期为一个更新周期c,对其所维护的区块链信任值进行更新计算迭代,计算最新的信任值,服务于之后的多模跨链模式。以这种固定周期的方式更新显然是不够的,很显然,这将导致信任构建委员会对某些敏感性的信任影响因素做到及时地反映,因此本发明还需要对不同的情况能提供一定程度上程度上的实时更新。因此,本发明应该在监测到区块链系统收到严重攻击时,对系统进行信任更新。同时考虑上述历史信任情况进行信任权重的分配与信任更新。所以信任更新与委员会更新有部分一致。
[0302]
第二阶段:多模信任跨链共识机制
[0303]
由于能源大数据存储链所属机构的可信任程度不同,各自有各自的信任管理模式,同时又有分布式信任和集中式信任的划分。分布式信任无类似国家或者可信第三方的背书担保,这将导致在跨链操作过程中无法确认对方的可信任程度;同理,在集中式信任中,通常有国家权威机构或可信第三方进行背书担保,对信任进行统一管理,方便发生冲突时进行仲裁决策,利用国家权利、技术权威或法律武器等方式,使得可信程度增加。这形成了能源大数据存储链之间复杂多变的信任关系。本发明提出了多模信任跨链方案,利用信任模型建立信任关系,依据信任关系强弱选择相应的符合其信任要求的跨链模式,从而降低单一跨链方式下对不同信任关系情况下跨链的影响,提高跨链效率。接下来进行详细的说明。
[0304]
1、集中式信任
[0305]
1)相同可信第三方
[0306]
在集中式信任中,当信任证书是由同一个机构直接担保颁发时,信任关系示意图如图3所示,那么就可以将其划归为同一个信任域。在同一个信任域中,它们都是由一个可信第三方进行统一管理和颁发信任证书,信任链层级相同,因此采用直接跨链通信方式进行跨链互操作,如下过程图如图4所示:
[0307]
1.两个节点nodea和nodeb之间直接跨链互操作,首先nodea和nodeb相互发起重置交易,后续过程中当存在超时和作恶的情况时自动回滚;
[0308]
2.重置交易当且仅当获得两个节点的签名siga和sigb才能生效;
[0309]
3.nodea随机生成一个密码key;
[0310]
4.nodea在链b1上发起一个跨链交易,该跨链交易只有提供正确的key和nodeb节点的签名sigb才会生效, nodeb在链b2上发起一个跨链交易,该跨链交易只有输入key,验证正确通过后,和nodea节点的签名siga才会生效;
[0311]
5.交易在各自的区块链上进行交易共识;
[0312]
6.交易完成之后,两个节点分别获得各自区块链上的交易spv证明;
[0313]
7.验证spv证明成功后发送跨链赎回交易请求;
[0314]
8.nodea为了拿到资金,会输入正确的key;
[0315]
9.nodeb拿到了key之后,利用key和自己的签名sigb,在链b2上进行key的验证;
[0316]
10.验证通过后,nodea和nodeb将分别获得相应的转账资产,完成原子直接跨链交换。
[0317]
11.如果在超过超时时间内没有提供正确的key和签名信息,交易自动回撤。
[0318]
2)不同可信第三方
[0319]
在集中式信任中,对于不同的可信第三方,由于信任链中不同层级的存在,有两种不同的信任关系情况,信任关系图如图5和图6所示。图5中,可以看到,两个同一信任层级的ca(certificationauthority)机构共同由一个根信任机构所认证,ca机构所颁发信任证书的两个区块链也同处于一个信任层级;图6中可以看到,两个区块链系统是由两个不同信任层级的ca机构所颁发的信任证书,两个区块链处于不同的信任层级,形成了信任偏差。
[0320]
这种不是直接的信任关系和相同可信第三方的情况有所不同,规定相同可信第三方中的区块链系统集合处于相同的信任域中,而不同可信第三方处于不同的信任域中。由于其信任关系根据信任链层层分叉,这时候该层颁发信任证书的可信第三方权威机构,就无法知道这种间接信任的情况,所以需要更上层的权威机构作为公证人,利用信任关系链条,成为跨链互操作的担保人和仲裁人,因此采用公证人技术进行跨链互操作。公证人跨链过程利用公证人notary的可信身份,将其作为中间人,来统筹跨链操作,其跨链过程如图7所示:
[0321]
1.nodea发起跨链交易请求,ca公证人notary转发请求,征求nodeb同意;
[0322]
2.nodeb同意跨链交易请求,ca公证人notary转发同意请求;
[0323]
3.notary分别在nodea和nodeb所在区块链上创建账户;
[0324]
4.nodea和nodeb分别向公证人notary发起转账;
[0325]
5.通过交易共识并进行spv验证;
[0326]
6.验证通过,利用原子结算完成跨链。
[0327]
2、分布式信任
[0328]
本发明所提到的分布式信任,主要描述的是没有可信第三方权威机构背书担保的情况下,各个相互独立的区块链系统之间的信任关系,形成了像人与人之间信任关系的情况。本发明利用上述中描述的区块链安全信任模型,对信任关系进行建模,构建不同信任值的区块链之间多模共生的信任环境。
[0329]
1)信任阈值
[0330]
在信任建立的过程中有信任值初始化的过程,因此对每一个区块链的信任值赋予一个初始值,之后根据区块链系统的运行和受攻击等相关因素情况,信任值会不断的变化。因此当有区块链有跨链需求需要加入跨链区块链集合时,就应该对其安全信任值进行相应的阈值约束,不能赋予初始跨链区块链很高的信任值,因为无法了解一个无所知的区块链系统的安全性和可行程度是如何的,需要对区块链系统长时间的运行和监测,才能慢慢地建立可靠的信任关系。
[0331]
因此本发明定义三个信任阈值τ,μ,δ其中τ表示一个区块链系统能够参与到跨链互操作的初始安全信任值,μ表示一个区块链能够通过参与到跨链互操作的安全信任值,当安全信任值超过μ时,可以使用跨链委员会的方式进行跨链,同理,δ则表示当区块链安全信任值超过它时,符合直接跨链操作要求,跨链操作直接通过节点间的跨链操作来完成。
[0332]
2)相同信任域
[0333]
与集中式信任中相同信任域的跨链类似,但是在集中式信任中,有一个可信第三方背书担保,而在分布式信任中,无可信第三方,所以就需要每一个区块链系统自己来维护自己的信任链。这里所说的系统信任域,意为区块链安全信任值偏差在一定的范围内,且符合上小节中所说的信任阈值δ范围内的信任值。本发明就简单的只讨论两种情况,主要包括是低信任阈值μ范围内的信任值和高信任阈值δ范围内的信任情况。高信任阈值主要针对的是双方信任偏差不大,且形成了强信任关系的情况。信任关系示意图如图8所示:
[0334]
这里根据形成的信任域高低,就会分为不同的跨链方式:一种是直接跨链,另一种是委员会共识跨链。当两个区块链系统均处于高信任值δ的信任域时,采用直接跨链方式,其过程和集中式类似,在这里就不在赘述;而当处于低信任值μ的信任域时,则采用委员会跨链方式,委员会跨链方式将在下一节信任偏差的情况中做详细说明。
[0335]
3)信任偏差
[0336]
信任偏差多种信任关系中的一般情况,因为一般情况下,双方的信任关系都是不平等的,一方信任另一方不能推出另一方也信任它。因此他就存在信任值高低情况,如何从高信任值跨链到低信任值,又如何从低信任值跨链到高信任值,这一节将进行详细说明。
[0337]
正如本发明所假设的情况,信任值高代表该区块链的可信任程度较高,相反的,信任值低表示该区块链的可信任程度较低,信任值高向信任值低的区块链可以直接跨链,而低信任值向高信任值跨链,存在不信任的情况,所以需要区块链中的用户或者节点共同决定,即共识的方式来验证和决定,通过更多节点对他进行验证使得方案更加安全有效。委员会pbft(practical byzantine fault tolerance)跨链模式如图9所示。
[0338]
这里对其过程进行详细说明,其中的各个模块,委员会选举,委员会成员重组、委员会加入与退出和委员会份额分配的具体细节,将会在扩展的多链跨链中进行具体说明。详细委员会跨链过程如图10所示。
[0339]
4)间接信任
[0340]
间接信任,顾名思义,就是两个区块链系统之间无直接的信任关系,表示区块链系统中,没有维护对方的信任关系情况,无法判断其可信任程度,但是有另一个区块链系统维护了与该区块链系统的信任关系,且是较高的信任值,那么就可以让那另一个区块链系统作为中间人,使得区块链系统将跨链请求通过该中间人区块链转移跨链到该区块链系统
中,让其作为一个中间跳板,完成跨链操作。间接信任架构示意图如图11所示。
[0341]
这种情况下,和集中式信任中以ca权威机构作为公证人进行跨链有异曲同工之处,只不过这里的公证人换成了区块链所信任的第三个区块链系统,通过它作为中间人,分别和两个区块链进行直接跨链,来达到公证人跨链,其中需要一次广播请求,具体过程如图所示,本发明假设在b1区块链信任列表中有b2和b4,而b1区块链信任列表中只有b3。公证人跨链过程如图12所示。
[0342]
1.首先区块链b1有跨链需求,向全网其所信任的区块链进行广播;
[0343]
2.因为b2信任b3,收到b1的跨链广播之后,回复b2的信任列表并签名;
[0344]
3.收到反馈的信任列表后b1进行信任值计算并核验b3可信程度;
[0345]
4.b1发起跨链交易,同理b2验证通过后也会向b3发起跨链请求;
[0346]
5.对跨链交易进行验证和spv确认;
[0347]
6.验证通过后完成原子交换结算。
[0348]
5)多链跨链
[0349]
这一节中所描述的根据信任值高低建立信任关系的跨链情形都是两个区块链跨链的情形,接下来本发明对其进行扩展,将其扩展到多链跨链模式,本发明将设计采用委员会的方式进行跨链操作。因为本发明的方案是以跨链委员会为基础,完成相应的跨链操作,接下来本发明将从委员会成员的选举、委员会成员份额分配、委员会的重选以及跨链区块链的退出与加入四个部分进行详细地描述。
[0350]
a)委员会选举
[0351]
本发明采用委员会跨链方案,是通过将跨链区块链集合中的节点映射到委员会节点的过程。区块链系统中,将跨链区块链集合中的节点如何映射为跨链委员会中的节点,既能考虑到节点的活跃性又能利用节点选举的随机性,来保证系统运行的稳定性和安全性是一个比较关键的问题。
[0352]
因此本发明提出了一种基于资产和计算难度的哈希碰撞方案,首先当有跨链请求时,广播一个随机数,触发跨链委员会的选举操作。因为跨链操作的需要,要求跨链委员会节点能够足够的活跃,不能总是存在宕机和无响应的情况,并且需要一旦出现作恶的情况能够得到相应的惩罚,扣除相应的押金,该方案与pow异曲同工。
[0353]
首先想竞争成为跨链委员会节点的成员需要进行token抵押,然后根据抵押的token情况,根据token抵押的多少按照如下公式,计算其难度值p。
[0354][0355]
其中,[]为取整函数,ρ为难度因子,m为链上token的总合,m*为节点持有的token。
[0356]
然后根据随机数、难度值p以及自增变量nance计算哈希碰撞值,将前n个符合难度节点作为跨链委员会的成员节点。
[0357]
然后进行出块节点的选举,委员会节点根据上述所说的委员会随机数计算vrf(verifiablerandomfunction) 可验证随机函数,通过比较排序得到排序最靠前的委员会节点成为出块节点。
[0358]
b)委员会份额分配
[0359]
区块链系统中委员会节点份额分配也是至关重要的一部分,它是参与委员会跨链
过程中公平性和安全性的保证,它能让每个区块链中在跨链委员会中占据一席之地,参与者都够拥有跨链过程中的话语权,同样的,委员会中区块链的加入与退出也同样适用。
[0360]
在第3节中详细的介绍了区块链安全信任模型,委员会的成员份额分配就根据区块链安全信任模型所计算的信任值建立信任关系作为一个重要性比重,分配委员会内成员数量份额算法如下:
[0361]
算法1:委员会节点份额算法
[0362]
定义trustsum=0,trust为区块链信任值数组
[0363]
初始化
[0364]
1)fori=1,2,

ndo
[0365]
2)trustsum+=trust[i]
[0366]
3)endfor
[0367]
4)fori=1,2,

,ndo
[0368]
5)
[0369]
6)end for
[0370]
c)委员会重选
[0371]
中继链的方式存在一个问题就是他们组建的中继链都是固定不变的,也就是说,选择由哪个节点来参与跨链共识是不存在节点之间的竞争,一旦存在严重作恶的情况则将会导致系统无法运行。因此本发明的委员会跨链方式将会采取定期委员会重选。
[0372]
委员会重选的流程图如图13所示。
[0373]
重选虽然能保证安全性,但是由于在本方案中,区块链的安全信任值随着区块链系统的运行将会不断的变化,区块链的份额也会相应的变化,这就会造成委员会的频繁重组,从而将会造成很大的开销,所以重组的时机应该有一个良好的把控,本发明将会在实验仿真针对这一部分进行分析。下面是委员会重组的情况:
[0374]
1.随着区块链安全信任值的周期更新进行周期重组;
[0375]
2.严重区块链安全事件的发生,实现重组。
[0376]
但是本发明方案基于资产与信任关系,随机数由主节点并通过vrf随机散列产生,已经符合本发明要求。
[0377]
d)区块链退出与加入
[0378]
由于区块链跨链的需求变化和区块链系统运行过程中的安全问题的发生,存在区块链的加入跨链集合、自愿退出和剔除的情况。下面将进行说明。
[0379]
1.区块链加入跨链
[0380]
随着区块链系统的安全运行过程中,也是在不断的积累信任过程,当区块链系统的安全信任值达到阈值μ时,并有跨链需求时,提出跨链加入请求,然后经过跨链委员会的共识同意,共识同意之后才有资格进入跨链委员会。但是共识完成后它不是直接就按照份额分配加入跨链委员会,而是等到上一小节中提到的委员会重组开始,即上一周期共识完成后或下一次信任更新后,才能通过权重分配参与跨链区块链集合。
[0381]
2.区块链退出跨链
[0382]
同理,随着区块链系统的运行,一些区块链系统不再需要跨链操作,那么其可以向
跨链委员会提起退出请求,和加入跨链集合时相同,同样需要跨链委员会的共识通过,等到当前周期结束后,重组时将区块链排除在外。但是,可能会出现一种特殊情况,当前区块链系统不参与跨链了,例如区块链遭受攻击或者有恶意节点作恶,但是它也没有退出跨链集合,拒绝服务或者作恶。这时当跨链委员会监测到委员会成员区块链存在安全问题或者作恶情况后,由选举的主节点提出剔除请求,委员会收到剔除请求后执行剔除操作,作为新的周期开始委员会重组。
[0383]
e)跨链挂载结构
[0384]
目前主流的跨链技术方案中都有一个普遍的问题,就是区块链的实时性的问题,虽然现在有很多区块链系统尝试使用了一些比较优秀的共识算法和改进区块大小等方案,来加快区块链系统的出块速度,使区块链能够比较快速、实时地共识同步。
[0385]
就一般的跨链操作而言,要经历很多次的节点共识,第一次是源区块链上的账本状态变化的共识;第二次是在跨链委员会中对交易数据进行交易确认和验证的共识;第三次是完成跨链交易确认后,需要更改目标区块链的账本数据而进行的共识。因此,为了能做到更好的实时性、交易数据的可验证性和系统安全性,本发明将提出一种新的跨链结构,进一步提高区块链的跨链效率和实效性,挂载结构示意图如图14所示。
[0386]
如图14所示,当跨链交易数据在跨链委员会中共识通过之后,将直接跟随最近一次共识出块一起打包,将交易账本数据挂载在新出的区块上,这样既减少了一次主链共识的时间,提高速度和效率,又可以很好的实现交易数据的查询效率,但是其安全性就需要跨链共识来保证。
[0387]
本发明实施例提供的多模信任跨链共识系统包括:
[0388]
区块链基础设施初始化模块,当区块链上的节点和账户均已进行初始化,并持有相应的token数量、公私钥对以及地址,集中式信任管理有可信第三方担保背书的区块链账本,根据可信第三方权威机构的信任层级,赋予高信任阈值;
[0389]
构建信任委员会模块,用于根据各自区块链上的节点根据所持有的token数额,根据token数额选取前2n 个节点作为信任委员会的候补成员;跨链需求节点广播随机种子后,2n个节点计算vrf可验证随机函数值,最终获取符合要求的前n个节点作为信任委员会c
t

[0390]
计算信任值建立信任模块,用于取各种参数数据计算信任值建立信任;信任委员会c
t
中的所有节点,开始收集区块链中通信信任、安全信任、数据信任、历史信任、奖惩情况和参与度信任的参数数据;
[0391]
跨链方案选择模块,用于根据信任模型计算的信任值评估目标链的信任关系,并选用不同的跨链方案。
[0392]
二、应用实施例。为了证明本发明的技术方案的创造性和技术价值,该部分是对权利要求技术方案进行具体产品上或相关技术上的应用实施例。
[0393]
随着区块链技术的深入应用,涌现了很多能源大数据存储链和政务数据链等区块链平台,但是由于区块链系统的高度自治,使得他们都是相互独立的账本,链间难以互通互信。通过本发明中提出的区块链信任模型,根据其是否有可信第三方背书授权,来对区块链系统进行信任关系的构建,并共识上链存储,后续根据查询信任关系选择不同的跨链方案进行跨链操作,实现不同信任关系的数据链、政务链之间数据的流通与互信互认。
[0394]
三、实施例相关效果的证据。本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,下面内容结合试验过程的数据、图表等进行描述。
[0395] 哈希时间锁公证人模式侧链/中继本发明分布式否否是半分布式可扩展性一般一般好好安全性一般一般良好好时效性好良好低良好节点更新否否否是
[0396]
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
[0397]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

技术特征:


1.一种多模信任跨链共识方法,其特征在于,所述多模信任跨链共识方法包括:基于区块链运行过程中的网络状态、区块链系统安全性、节点数据一致性与节点作恶率,构建区块链安全信任模型,结合模糊理论和概率分布确定各系统的信任分量,并利用权重和获得系统的信任值;基于此模型构建链间多模信任共生环境,通过设计多模跨链共识模式,可在直接跨链、中间人跨链和委员会跨链模式间灵活切换,满足不同信任关系系统间的跨链互联,并利用跨链挂载结构提高互操作时效。2.如权利要求1所述的多模信任跨链共识方法,其特征在于,所述多模信任跨链共识方法包括以下步骤:步骤一,区块链基础设施初始化:当区块链上的节点和账户均已进行初始化,并持有相应的token数量、公私钥对以及地址,同时集中式信任管理有可信第三方担保背书的区块链账本,根据可信第三方权威机构的信任层级,赋予高信任阈值;步骤二,构建信任委员会:根据各自区块链上的节点根据所持有的token数额,根据token数额选取前2n个节点作为信任委员会的候补成员;跨链需求节点广播随机种子后,2n个节点计算vrf可验证随机函数值,最终获取符合要求的前n个节点作为信任委员会c
t
;步骤三,获取各种参数数据计算信任值建立信任:信任委员会c
t
中的所有节点,开始收集区块链中通信信任、安全信任、数据信任、历史信任、奖惩情况和参与度信任的参数数据;步骤四,根据信任模型计算的信任值评估目标链的信任关系,并选用不同的跨链方案。3.如权利要求2所述的多模信任跨链共识方法,其特征在于,所述步骤三中的参数数据包括:(1)通信信任数据:信任委员会c
t
中的节点,发送心跳包与跨链目标链中的节点进行通信,根据发送的心跳包和收集到数据情况利用构建的逻辑模型计算信任值;采用主观的逻辑架构进行计算,定义通信信任三元组t={b,d,un},其中b代表不同区块链的节点间通信交互被评估为信任的情况,d代表不同区块链的节点间通信交互被评估为不信任的情况,un代表不同区块链的节点间通信交互;{b,d,un}∈[0,1],同时b+d+un=1,遵循基于主观逻辑框架的信任模型,得到区块链安全信任模型的通信信任t
com
的计算公式如下:其中,其中,s代表不同区块链之间互相发送通信包时的通信成功情况,f表示不同区块链节点之间互相发送通信包时的通信失败情况;(2)参与度信任数据:信任委员会c
t
中的节点获取跨链目标链中区块链的区块数据,分析前n个区块的出块者,计算出块参与度,根据信任模型得出参与度信任:
其中,num
block
表示最近一段时间节点所获取的区块的总数,num
min
表示最近一段时间所获取的区块中,参与数据获取的节点个数;设定参与度阈值当区块链系统的参与度超过参与度阈值说明区块链是经过大多数节点共治共识上链,则θ值越大区块链的安全性和可信程度越高;低于参与度阈值时,表示区块链可能已经被节点所控制,安全性和可行程度无法确定,信任值也将变为0;参与度信任值t
part
计算公式描述如下:其中,表示参与度阈值,θ表示区块链节点共识参与度情况;(3)数据信任数据:信任委员会c
t
中的节点获取跨链目标链中区块链的区块数据,分析获取到的区块数据的同步率;如果计算区块链的网络同步率,通过正态分布随机函数计算相应同步率下的数据信任值,数据一致性信任值t
data
的计算公式描述如下所示:其中,x代表区块链所获取的另一条区块链最新区块的比例情况;σ为随机变量的方差,取为0.2;(4)安全信任数据:信任委员会c
t
中的节点获取跨链目标链中已经设定好或实现好的各种系统参数和信任评级,构建模糊评价矩阵;通过各个部分的重要程度赋予各自权重值,计算安全信任数据;(5)奖惩情况数据:信任委员会c
t
中的节点获取跨链目标链中所记录的受攻击情况,以及系统正常安全运行的情况,根据提前设定好攻击情况集,以及攻击对信任影响程度,计算信任影响值,得到奖惩信任;将区块链系统安全运行的时间t,随着区块链系统安全运行时间t的增加,区块链系统的信任值将随之提升;将t
re
定义为信任奖励,随着安全运行时间的增加而提高,t
re
描述如下:其中,β>1,r>1,表示为信任提升参数,意为信任提升的速度;t表示的是区块链系统的安全运行时间;其中的参数需要根据应用场景的不同,适当地进行调整以适应不同的需求;定义区块链系统安全攻击类别向量p如下:p=(p1,p2,p3,p4,

,p
n
),其中p
i
表示区块链系统中的某一种攻击类型,同时定义攻击严重程度集合p
i
,p
i
=(p
i1
,p
i2
,p
i3
,p
i4
,

,p
im
),其中p
ij
表示受到属于p
i
这种安全攻击类别中的第j个级别的攻击程度,不同的攻击程度将有不同的信任值变化集;定义惩罚信任值t
punish
如下:
其中,γ
im
表示区块链系统受到p
i
类的安全攻击情况下,是第m个严重程度级别时的信任值影响情况,w
i
表示第i种攻击类别对区块链系统安全的影响程度;(6)历史信任数据:信任委员会c
t
中的节点根据跨链操作的增长,信任值不断的更新迭代,根据时间衰减因子,利用前n个历史信任值,根据历史信任模型计算历史信任值;记录区块链系统的历史信任值列表,记作tl
history
,tl
history
=[t
h1
,t
h2
,t
h3
,t
h4
,

,t
hn
],t
hi
分别代表当前时间点信任值更新前,区块链系统的第i次计算的信任值分布情况;将根据历史信任值的波动情况,赋予历史信任值不同的比例;计算历史信任值列表中的历史信任值的波动情况d的公式如下:其中,t
h
表示该区块链系统的历史信任值的平均值,t
hi
就是前n个信任值中的第i个信任值;定义参数α,α表示信任值波动情况的阈值,历史信任值与当前信任值的权重分配情况如下:其中,t
h
表示当前信任值前n个的历史信任值的平均值,且当波动情况大于α时,说明变化幅度大,以当前计算信任值作为主要权重;当波动情况小于α时,说明变化比较平稳,以当前历史信任值作为主要权重;(7)信任集成:信任委员会c
t
中的节点将获取到的信任数据,根据信任模型集成方案进行集成整合,得到最终信任值,并通过共识上链,完成信任评估;信任集成是对各个部分所得信任值的组合集成,获得信任值的当前值t
current
:t
current
=w1t
com
+w2t
part
+w4t
data
+w3t
sec
+w4(t
re-t
punish
);其中,w
i
表示各个部分信任值的权重值,t
com
,t
part
,t
data
,t
sec
,t
re
,t
punish
分别是各个部分信任值;根据历史信任所描述的方式,根据历史信任值的波动情况d,按照历史与当前信任值的比重计算最终的信任值t,计算方式如下:信任构建委员会计算得到最终的区块链系统安全信任值,通过共识上链,广播给本链所有的成员节点后,进行定期的维护与更新。4.如权利要求3所述的多模信任跨链共识方法,其特征在于,所述安全信任评估方法包括:选用模糊逻辑的综合模糊评价法,计算区块链系统安全属性信任值t
sec

(1)建立综合评价的因素集建立对区块链的系统的安全指标综合评价因素的集合,u=(u1,u2,u3,u4,...,u
m
),其中u
i
分别代表上述所说的安全评价指标因素;(2)建立综合评价的评价集对步骤(1)中所定义的m个区块链安全评价指标因素设定各自的安全综合评价集,用v表示如下所示:v=(v1,v2,v3,v4,...,v
n
),其中v
j
代表对u中综合评价指标集u
i
的第j种综合评价评级;(3)对单因素进行模糊评价,获得评价矩阵对上述建立的评价指标和综合评价集,对单因素u
i
进行模糊评价,获得评价矩阵r,r
i
=(r
i1
,r
i2
,r
i3
,r
i4
,...,r
in
),其中以m个单因素评价集r1,r2,r3,

,r
m
组成评价矩阵r
m*n
,成为模糊综合评价矩阵,如下所示:其中,r
ij
表示对于评价指标u
i
的对于评为评级v
j
的隶属度,且r
i1
+r
i2
+...+r
ij
+r
i(j+1)
+...+r
in
=1,定义该隶属度为对区块链系统评级时评级比例;(4)分配安全属性指标因素权重获得模糊评价矩阵,根据各个安全属性对于区块链系统而言的重要性程度,确定每个评价指标的对于安全信任值所赋予的权重值,获得权重向量值a,描述如下:a=(a1,a2,a3,a4,...,a
m
),其中a
i
表示对于评价指标集u
i
来说对于区块链系统安全性的重要程度,并且a1+a2+a3+a4+

+a
n
=1;(5)合成评价向量确定单因素评价矩阵r和步骤四因素权重向量a后,通过综合模糊运算,将u上的模糊向量a变为v上的模糊向量b,公式表示为:其中,称为综合评价合成算子,这里本发明取为矩阵乘法运算;(6)计算安全信任值确定评级分s=(s1,s2,s3,s4,...,s
n
),所得到的信任值归约于[0,1]之间的确定值,通过如下公式计算得到t
sec
,获得最后的区块链安全参数信任值;5.如权利要求2所述的多模信任跨链共识方法,其特征在于,所述步骤四中的根据信任模型计算的信任值评估目标链的信任关系,并选用不同的跨链方案包括:(1)集中式信任1)相同可信第三方1.两个节点node
a
和node
b
之间直接跨链互操作,node
a
和node
b
相互发起重置交易,后续过程中当存在超时和作恶的情况时自动回滚;
2.重置交易当且仅当获得两个节点的签名sig
a
和sig
b
才能生效;3.node
a
随机生成一个密码key;4.node
a
在链b1上发起一个跨链交易,该跨链交易只有提供正确的key和node
b
节点的签名sig
b
才会生效,node
b
在链b2上发起一个跨链交易,该跨链交易只有输入key,验证正确通过后,和node
a
节点的签名sig
a
才会生效;5.交易在各自的区块链上进行交易共识;6.交易完成之后,两个节点分别获得各自区块链上的交易spv证明;7.验证spv证明成功后发送跨链赎回交易请求;8.node
a
为了拿到资金,会输入正确的key;9.node
b
拿到了key之后,利用key和自己的签名sig
b
,在链b2上进行key的验证;10.验证通过后,node
a
和node
b
将分别获得相应的转账资产,完成原子直接跨链交换;11.如果在超过超时时间内没有提供正确的key和签名信息,交易自动回撤;2)不同可信第三方1.node
a
发起跨链交易请求,ca公证人notary转发请求,征求node
b
同意;2.node
b
同意跨链交易请求,ca公证人notary转发同意请求;3.notary分别在node
a
和node
b
所在区块链上创建账户;4.node
a
和node
b
分别向公证人notary发起转账;5.通过交易共识并进行spv验证;6.验证通过,利用原子结算完成跨链;(2)分布式信任1)信任阈值定义三个信任阈值τ,μ,δ其中τ表示一个区块链系统能够参与到跨链互操作的初始安全信任值,μ表示一个区块链能够通过参与到跨链互操作的安全信任值,当安全信任值超过μ时,可以使用跨链委员会的方式进行跨链,同理,δ则表示当区块链安全信任值超过它时,符合直接跨链操作要求,跨链操作直接通过节点间的跨链操作来完成;2)相同信任域根据形成的信任域高低分为不同的跨链烦方式:一种是直接跨链,另一种是委员会共识跨链;当两个区块链系统均处于高信任值δ的信任域时,采用直接跨链方式;而当处于低信任值μ的信任域时,则采用委员会跨链方式;3)信任偏差信任值高代表该区块链的可信任程度较高,信任值低表示该区块链的可信任程度较低,信任值高向信任值低的区块链直接跨链,而低信任值向高信任值跨链存在不信任的情况,共识的方式来验证和决定;4)间接信任当在b1区块链信任列表中有b2和b4,而b1区块链信任列表中只有b3;公证人跨链过程包括:1.首先区块链b1有跨链需求,向全网其所信任的区块链进行广播;2.因为b2信任b3,收到b1的跨链广播之后,回复b2的信任列表并签名;3.收到反馈的信任列表后b1进行信任值计算并核验b3可信程度;
4.b1发起跨链交易,同理b2验证通过后也会向b3发起跨链请求;5.对跨链交易进行验证和spv确认;6.验证通过后完成原子交换结算;5)多链跨链;a)委员会选举采用委员会跨链方案,通过将跨链区块链集合中的节点映射到委员会节点;提出基于资产和计算难度的哈希碰撞方案,当有跨链请求时,广播一个随机数,触发跨链委员会的选举操作;想竞争成为跨链委员会节点的成员需要进行token抵押,根据抵押的token情况,根据token抵押计算难度值p;其中,[]为取整函数,ρ为难度因子,m为链上token的总合,m*为节点持有的token;根据随机数、难度值p以及自增变量nance计算哈希碰撞值,将前n个符合难度节点作为跨链委员会的成员节点;进行出块节点的选举,委员会节点根据委员会随机数计算vrf可验证随机函数,通过比较排序得到排序最靠前的委员会节点成为出块节点;b)委员会份额分配分配委员会内成员数量份额算法如下:算法1:委员会节点份额算法定义trustsum=0,trust为区块链信任值数组初始化1)for i=1,2,

n do2)trustsum+=trust[i]3)end for4)for i=1,2,

,n do5)6)end forc)委员会重选1.随着区块链安全信任值的周期更新进行周期重组;2.严重区块链安全事件的发生,实现重组;d)区块链退出与加入1.区块链加入跨链当区块链系统的安全信任值达到阈值μ时,并有跨链需求时,提出跨链加入请求;经过跨链委员会的共识同意,共识同意后有资格进入跨链委员会;共识完成后不是直接就按照份额分配加入跨链委员会,而是等到提到的委员会重组开始后,通过权重分配参与跨链区块链集合;2.区块链退出跨链随着区块链系统的运行,区块链系统不再需要跨链操作,那么向跨链委员会提起退出
请求,需要跨链委员会的共识通过,等到当前周期结束后,重组时将区块链排除在外;当前区块链系统不参与跨链,当跨链委员会监测到委员会成员区块链存在安全问题或者作恶情况后,由选举的主节点提出剔除请求,委员会收到剔除请求后执行剔除操作,作为新的周期开始委员会重组;e)跨链挂载结构第一次是源区块链上的账本状态变化的共识;第二次是在跨链委员会中对交易数据进行交易确认和验证的共识;第三次是完成跨链交易确认后,需要更改目标区块链的账本数据而进行的共识。6.如权利要求2所述的多模信任跨链共识方法,其特征在于,所述步骤四中的根据信任模型计算的信任值评估目标链的信任关系,并选用不同的跨链方案具体包括:(1)集中式信任:1)相同可信第三方区块链b1和b2是两个由同一个高信任层级ca权威机构授权认证的,在集中式信任中初始赋予高信任值,两个区块链之间建立强信任关系;当区块链链b1上的节点node
a
,发起跨链操作请求,目标链回复响应;节点node
a
和node
b
之间直接跨链互操作,node
a
和node
b
相互发起重置交易,后续过程中当存在超时和作恶的情况时自动回滚,重置交易当且仅当获得两个节点的签名sig
a
和sig
b
才能生效;node
a
随机生成一个密码key,并在链b1上发起一个跨链交易,所述跨链交易只有提供正确的key和node
b
节点的签名sig
b
才会生效;node
b
在链b2上发起一个跨链交易,所述跨链交易只有输入key,验证正确通过后,和node
a
节点的签名sig
a
才会生效;交易在各自的区块链上进行交易共识,交易完成后,两个节点分别获得各自区块链上的交易spv证明,验证spv证明成功后发送跨链赎回交易请求;node
a
输入正确的key,获得跨链信息;node
b
获得key后利用key和自己的签名sig
b
,在链b2上进行key的验证;验证通过后,node
a
和node
b
分别获得相应的转账资产,完成原子直接跨链交换;如果在超过超时时间内没有提供正确的key和签名信息,交易自动回撤;2)不同可信第三方区块链b3由更低信任层级ca权威机构授权认证,在集中式信任中初始赋予高信任值,两个区块链之间建立强信任关系;当区块链b1上的节点nodea发起跨链交易请求,ca公证人notary转发请求,征求node
c
同意;node
c
同意跨链交易请求,ca公证人notary转发同意请求;notary分别利用在区块链b1和b3的账户向公证人notary发起跨链交易,交易共识完成后,公证人进行spv验证,验证通过后分别在区块链b1和区块链b3上进行跨链结算;(2)分布式信任1)相同信任域区块链b4和b5属于第三方,无权威机构进行授权认证,需通过信任模型的进行信任评估后建立信任关系;当区块链链b4和区块链b5上的信任委员会,分别获取信任模型相关的参数数据,计算对应目标链的信任值并进行交互验证;当计算的信任值t≥δ,认为区块链b4和b5之间存在强信任关系,采用直接跨链的方式;区块链b4上节点node
d
发起跨链交易请求,区块链b5收到请求并进行验证,验证通过后
向返回同意跨链操作响应;node
d
发起跨链交易,在区块链b4上进行交易验证,共识上链后,生成spv交易证明,将spv证明连同交易信息发送至区块链b5;对spv证明进行验证,验证通过后共识上链,完成跨链;2)间接信任区块链b4、b5和b6属于第三方,无权威机构进行授权认证,需通过信任模型的进行信任评估后建立信任关系;当区块链链b4和区块链b5上的信任委员会,分别获取信任模型相关的参数数据,计算对应目标链的信任值并进行交互验证;当计算的信任值t≥δ,认为区块链b4和b5之间存在强信任关系;区块链b5和b6存在强信任关系,但b4和b6相互隔离,无信任关系;当b4和b6需要跨链时采用间接跨链的方式;区块链b4上节点node
d
发起跨链交易请求时,广播向全网获取区块链b6的情况,b5收到请求信息,将信任的区块链b6的情况进行响应返回,节点node
d
收到广播消息回应,进行验证然后发送跨链交易请求;区块链b5收到请求并进行验证,验证通过后,向b6发送跨链请求后,依次返回同意跨链操作响应;node
d
发起跨链交易,在区块链b4上进行交易验证,共识上链后,生成spv交易证明,将spv证明连同交易信息发送至区块链b5,对spv证明进行验证;验证通过后共识上链;当区块链b5上完成跨链交易后,生成spv交易证明,将spv证明连同交易信息发送至区块链b6,b6对spv证明进行验证,验证通过后共识上链,完成跨链;3)委员会跨链区块链b4、b5和b6属于第三方,无权威机构进行授权认证,需通过信任模型的进行信任评估后,建立信任关系;当间接信任广播后没有收到广播响应,或者当有信任有偏差的区块链需要跨链以及部分区块链信任评估值在[μ,δ]范围内时,采用委员会跨链方式;委员会跨链方式需要组建跨链委员会,采用委员会选举的哈希碰撞算法,根据参与跨链的区块链上的节点的token持有数;根据选举算法,确定哈希碰撞难度,分别计算哈希值并判断是否符合难度要求;根据委员会的份额分配算法,分配跨链委员会中参与跨链区块链的节点数,当b1、b2和b3区块链的信任值分别为0.6、0.8、1.0,根据份额分配得跨链委员会份额分配比例为num(b1,b2,b3)=3:4:5;跨链节点node
d
广播一个随机种子,跨链委员会中的节点收到广播种子后,计算vrf随机证明;根据证明排序,选择第一个主节点发起跨链交易事务,在跨链委员会中进行跨链共识;利用pbft共识算法,当跨链委员会节点分别在prepare阶段和commit阶段收到2/3的节点的共识验证通过,进入reply阶段;将跨链共识结果发送给区块链b5和b6,跟随最新的区块按照跨链挂载结构挂载在目标区块链上,完成跨链。7.一种应用如权利要求1~6任意一项所述的多模信任跨链共识方法的多模信任跨链共识系统,其特征在于,所述多模信任跨链共识系统包括:区块链基础设施初始化模块,当区块链上的节点和账户均已进行初始化,并持有相应的token数量、公私钥对以及地址,集中式信任管理有可信第三方担保背书的区块链账本,根据可信第三方权威机构的信任层级,赋予高信任阈值;构建信任委员会模块,用于根据各自区块链上的节点根据所持有的token数额,根据token数额选取前2n个节点作为信任委员会的候补成员;跨链需求节点广播随机种子后,2n个节点计算vrf可验证随机函数值,最终获取符合要求的前n个节点作为信任委员会c
t
;计算信任值建立信任模块,用于取各种参数数据计算信任值建立信任;信任委员会c
t

的所有节点,开始收集区块链中通信信任、安全信任、数据信任、历史信任、奖惩情况和参与度信任的参数数据;跨链方案选择模块,用于根据信任模型计算的信任值评估目标链的信任关系,并选用不同的跨链方案。8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1~6任意一项所述的多模信任跨链共识方法。9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1~6任意一项所述的多模信任跨链共识方法。10.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求7所述的多模信任跨链共识系统。

技术总结


本发明属于区块链跨链技术和区块链应用技术领域,公开了一种多模信任跨链共识方法、系统、介质、设备及终端,初始化区块链基础平台并构建信任委员会;收集信任模型参数并计算信任值;查询比较信任值并构建信任关系;根据信任关系选择跨链模式;跨链共识完成并挂载上链。本发明通过制定完善的区块链信任模型、多模跨链规则和委员会构建机制,解决不同信任关系下区块链之间跨链互联互通;通过构建信任模型对区块链系统进行评估,根据评估结果建立不同的信任关系,设计多模跨链共识方案,避免单一跨链模式存在的缺陷,增加信任约束保证系统操作安全性,使账本间互通互联互信,实现各账本间的价值流转,解决账本孤岛式问题,促进区块链行业发展。块链行业发展。块链行业发展。


技术研发人员:

裴庆祺 沈国阳 吴志辉 王乐

受保护的技术使用者:

西安链融科技有限公司

技术研发日:

2022.06.14

技术公布日:

2022/12/19

本文发布于:2024-09-20 12:29:29,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/42461.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:区块   节点   委员会   共识
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议