一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于可验证随机函数的跨链通信方法与流程

2021-12-04 01:51:00 来源:中国专利 TAG:


1.本发明涉及通信技术领域,特别涉及一种基于可验证随机函数的跨链通信方法。


背景技术:

2.自2008年名为中本聪发明比特币以来,源自于比特币底层技术的区块链受到了世界各国的关注。区块链是一种具有去中心化、不可篡改、可追溯、多方共同维护特性的分布式数据账本。随着区块链技术的高速发展,区块链已被运用到金融、供应链、医疗健康、物联网等多个领域。区块链的运用提高了业务处理效率、降低了交易成本,并能够提供安全、可信的数据存储和信息交换服务。
3.虽然区块链有诸多的优点与广泛的前景,但目前存在的区块链项目仍是一个一个相互隔绝单独个体,项目之间不能进行互联互通难以跨平台协作,导致区块链之间难以进行有效的价值流转与数据传递,其次目前区块链的输出性能与扩展性不够,不能应付高频交易与大规模场景中的应用。为了应对这一挑战,跨链技术成为了当前区块链领域关注的焦点。
4.跨链技术的基础需求可以分为两类:链与链之间发生了资产互换、链与链之间发生了资产转移。资产互换是指将一条链上的资产兑换成另一条链上等值的资产,资产所有权发生了变化;资产转移是指将一条链上的资产转移到另一条链上,即将原链上的资产进行锁定,在另一条链上重新铸造等量等值的资产。
5.当前业界主流的区块链跨链方案简单分为以下四种:公证人机制、侧链/中继、哈希锁定和分布式秘钥控制。但上述跨链方案主要聚焦于区块链上层事务的资产互换与资产转移,未涉及解决区块链间的底层通信信任难题。由于区块链项目的安全建设是以该区块链实例为边界的,未涉及链与链之间的信任,只能保证该区块链实例内部的安全,而申请跨链事务的区块链节点可能是无资格或是恶意的。因此在进行跨链事务之前,区块链间的信任建立是有必要的。本发明属于区块链技术领域,尤其涉及一种基于可验证随机函数的跨链通信认证方法。
6.与本发明相关的现有技术一
7.中国发明专利,名称:跨链场景下异构区块链的身份认证方法,申请号201910768793.4,公开号cn 110505058 a;中提出了一种跨链场景下异构区块链的身份认证方法。该方法实现了跨链场景下,架构中采用不同公钥密码体制的区块链系统间的身份认证,继而异构区块链系统双方可以安全地通信。其特征在于,公钥密码基础设施pki区块链系统中的用户节点a和无证书公钥密码体制clc区块链系统中的用户节点b分别与跨链平台进行注册,用户节点a执行签密算法,用户节点b执行解签密算法。
8.现有技术一的缺点
9.该方法存在的不足之处是:方法中两种不同架构的区块链系统之间的认证实际上是通过所述的跨链平台完成的,通过跨链平台来协商通信秘钥,区块链中的用户节点都需要在跨链平台中注册。这给予了跨链平台过大的权限,加强了中心化,如果跨链平台被攻击
或是恶意的,会导致严重后果。且源链中的每个需要跨链的节点都需要与目的链中的节点协商会话秘钥,这会导致通信复杂度增加。
10.与本发明相关的现有技术二
11.中国发明专利,名称:跨链通信的方法、装置、网络节点和存储介质”,申请号202010813044.1,公开号cn 112104607 a中,提供了一种跨链通信的方法、装置、网络节点和存储介质。在该发明中在该发明中当接入第一区块链的第一节点获取到用户向第二区块链发起跨链请求的信息时,需要第一节点为第一区块链和第二区块链共同的可信节点集合中的可信节点,第二区块链处理交易时需验证第一节点是否为两个链的共同的可信节点,并且消息中需包含可信节点集合与合法签名。
12.现有技术二的缺点
13.第一区块链与第二区块链是在相同对等网络中运行的,也就是两区块链间存在相同节点,一个节点上可以运行第一区块链也可以运行第二区块链,所以能够判定共同的可信节点,但此方法不涉及跨对等网络的节点认证及通信。
14.本发明缩略语和关键术语定义
15.vrf:可验证随机函数(verifiable random function,简写vrf)。vrf本质上是一类具有验证功能的伪随机函数。对于一个特定的输入以及输入者的私钥,vrf会输出一个随机数以及一个零知识证明,验证者可以通过输出的随机数、证明和输入这三部分验证出随机数是否是由该输入产生。这个过程不必暴露输入者的私钥,因此是安全的。vrf具有三大特性:可验证性、唯一性和随机性。
16.区块链:区块链是一种具有去中心化、不可篡改、可追溯、多方共同维护特性的分布式数据账本。区块链技术能够为各行业提供安全、可靠、可信的信息交换和数据存储的技术保障。
17.跨链:在区块链所面临的诸多问题中,区块链之间互通性极大程度的限制了区块链的应用空间。不论对于公有链还是私有链,跨链技术就是实现价值互联网的关键。跨链技术连接了分散的区块链孤岛,是区块链向外拓展和连接的桥梁。
18.门限签名:门限签名是数字签名的一个重要分支,是门限秘密共享技术和数字签名的一种结合。(t,n)门限签名意味着:由n个成员组成的一个签名群体至少需要t个诚实的成员组合可以代表群体用群私钥进行签名,任何人可利用该群体的公钥进行签名验证。


技术实现要素:

19.本发明针对现有技术的缺陷,提供了一种基于可验证随机函数的跨链通信方法。在区块链链间进行跨链事务之前,本发明通过vrf随机选取参与跨链的区块链跨链代理节点,并对跨链代理节点进行通信身份认证,并搭建新的链间共识以满足多链跨链事务,从而实现了链间信息交互真实可靠的信任基础以及跨链通信的安全性。
20.为了实现以上发明目的,本发明采取的技术方案如下:
21.一种基于可验证随机函数的跨链通信方法,包括以下子步骤:
22.s1、源链用户或应用预发起跨链事务到目的链,判断源链中跨链通信节点列表是否为空,若不为空则执行s3,若为空则执行s2。
23.s2、利用vrf随机选择节点成为跨链通信节点,跨链通信节点需要获取中继交互链
身份认证并加入中继交互链。
24.s2包括以下子步骤:
25.s21、源链中的每个共识节点将私钥sk以及自身节点标识nid作为输入,经过vrf的哈希映射函数vrf_hash得到一个随机数result,result的计算公式为result=vrf_hash(sk,nid);
26.s23、若生成的随机数满足规定的条件则认为选中为候选跨链通信节点;规定的条件用来限制选择的节点数量,设立阈值λ∈[0,1],若则认为该节点被选中。
[0027]
s24、候选跨链通信节点生成用于验证的零知识证明proof,proof的计算公式为proof=vrf_proof(sk,nid)。
[0028]
s25、候选跨链通信节点将该计算得出的result和proof,连同自身的公钥pk、身份信息、源链的基本信息通过网络传输发送给中继交互链进行认证,并附上使用自己公钥签署的数字签名。
[0029]
s26、中继交互链收到候选跨链通信节点的信息后逐步验证候选跨链通信节点的信息合规性,若满足要求则执行s27,若不满足则返回消息拒绝候选跨链节点注册请求。
[0030]
s27、中继交互链的证书颁发机构ca为验证成功的候选跨链通信节点颁发身份证书,并将候选跨链通信节点加入中继交互链网络,添加至跨链通信节点列表,此后跨链通信节点将参与中继交互链的共识,与其他跨链通信节点共同维护中继交互链。
[0031]
s28、候选跨链通信节点将中继交互链颁发的证书与vrf验证信息广播至源链,源链通过中继交互链的证书颁发机构ca验证证书正确性,根据vrf验证算法验证vrf信息的正确性,经过链内共识后,将候选跨链通信节点添加至跨链通信节点列表,验证失败则不予添加。中继交互链为参与跨链事务的区块链生成唯一区块链标识,并将跨链通信节点列表中的节点与区块链标识匹配,用以标识跨链通信节点的来源链。其中跨链通信节点列表经过固定共识轮次后清空,以定期更新跨链通信节点。
[0032]
s29、跨链通信节点列表中的跨链通信节点组成一个签名群体,设定门限值t并通过门限签名方案生成门限签名份额。
[0033]
s3、跨链事务通信,包括以下子步骤:
[0034]
s31、源链的跨链事务发起者(用户或应用)发起跨链事务,发起跨链事务的请求消息发送至跨链通信节点集合。
[0035]
s32、跨链通信节点在收到跨链事务的请求消息后验证该消息的合规性,验证成功后使用自己的组私钥碎片为跨链事务签名得到签名碎片,并将各自的签名碎片广播给其他跨链通信节点,同时等待组内其他成员的签名碎片;验证失败则拒绝签名。
[0036]
s33、第一个成功合并出组签名的跨链通信节点将组签名广播给其他跨链通信节点,并将附属组签名的跨链事务请求发送给中继交互链;其他跨链通信节点接受并验证合并的组签名后停止处理。
[0037]
s34、中继交互链上部署的智能合约负责判断收到的跨链事务请求的来源,判断判断该请求是否含有跨链事务来源链的跨链通信节点集合签名,并使用的跨链通信节点集合公钥进行签名验证的签名,根据跨链通信列表判断跨链通信节点与来源链是否匹配,验证
成功则发送给目的链,否则拒绝该请求。
[0038]
进一步地,s26中的中继交互链具体验证流程如下:
[0039]
s261、首先对收到的信息进行完整性检查,首先通过数字签名检查信息是否被篡改,其次检查信息内容是否完整,是否包含规定信息。若检查失败则返回拒绝请求,成功则进入下一步。
[0040]
s262、验证信息的正确性。一方面,验证候选跨链通信节点的vrf部分的正确性:首先通过vrf的哈希自我验证函数vrf
p2h
计算result

=vrf
p2h(proof)
,验证结果result

和被证明者传来的result是否相同,若不同则验证失败,中止验证。若验证通过则使用vrf验证算法vrf_verify验零知识证明的正确性,计算vrf_verify(pk,nid,proof),pk,nid,proof经过vrf_verify验证后得出两个值,true或者false,true表示通过验证,false表示未通过验证。若验证失败则返回请求失败。若验证通过,表明proof是通过nid生成的,并且能够验证proof是通过计算得出result,进而推导出nid和result是否匹配,从而验证了该符合规定条件的随机数确实是该节点产生的;另一方面,验证源链的基本信息,包括源链类型、共识类型、交易类型信息。
[0041]
进一步地,中继交互链内共识可采用pbft算法,门限签名方案可才用基于rsa的门限签名方案。
[0042]
与现有技术相比,本发明的优点在于:
[0043]
一方面,在向目的链发起跨链通信前,使用vrf安全且随机的抽取节点成为跨链通信节点,vrf算法的安全随机性使得跨链通信节点的抽取不可预测,且跨链通信节点的选择还需经过中继交互链的身份认证,被选择的节点都是经过验证的,为源链的跨链节点的安全性提供了保障;
[0044]
另一方面,中继交互链由各个有跨链事务的需求的联盟链中的跨链通信节点组成,从而支持多链便捷地参与跨链事务,之后的跨链事务请求需要包含跨链通信节点的签名背书,在建立节点信任的基础上增强跨链事务的安全性。
[0045]
保证通信来源节点的安全性并降低跨链成本,从而实现了链间信息交互真实可靠的信任基础以及跨链通信的安全性。
附图说明
[0046]
图1是本发明实施例的联盟链跨链系统示意图;
[0047]
图2是本发明实施例跨链通信节点选择方法流程图;
[0048]
图3是本发明实施例跨链通信的流程图;
具体实施方式
[0049]
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0050]
下面结合附图对本发明做进一步描述。
[0051]
如图1所示,本发明实施例中包括:跨链事务发起链源链、跨链事务接受链目的链,充当链间中继的中继交互链,源链与目的链中均包含跨链智能合约;
[0052]
各节点利用函数秘钥生成算法keygen(pk,sk)生成一个秘钥对(pk,sk),其中pk是公钥,是公开的,sk是该节点的私钥,是不公开的,私钥只由被节点自己保存。
[0053]
本发明基于可验证随机函数的跨链通信方法包括跨链通信节点的选择和跨链事务通信两大步骤,在本实施例中假设目的链中跨链通信节点已加入中继交互链,在此基础上源链发起跨链事务到目的链,具体的包括以下步骤:
[0054]
s1、源链用户或应用预发起跨链事务到目的链,判断源链中跨链通信节点列表是否为空,若不为空则执行s3,若为空则执行s2。
[0055]
若源链进行的事务只是只读查询类型,不需目的链执行s2加入中继交互链,如不是则还需目的链执行s2。
[0056]
参照附图2,对本实施例的一种跨链通信节点选择步骤做进一步描述。
[0057]
s2、利用vrf随机选择节点成为跨链通信节点,跨链通信节点需要获取中继交互链身份认证并加入中继交互链。包括以下子步骤:
[0058]
s21、源链中的每个共识节点将私钥sk以及自身节点标识nid作为输入,经过vrf的哈希映射函数vrf_hash得到一个随机数result,result的计算公式为result=vrf_hash(sk,nid);
[0059]
s23、若生成的随机数满足规定的条件则认为选中为候选跨链通信节点;规定的条件用来限制选择的节点数量。示例性的,设立阈值λ=0.25,若则认为链中的节点有1/4的概率的节点生成的result满足条件即选中成为候选跨链通信节点。
[0060]
s24、候选跨链通信节点生成用于验证的零知识证明proof,proof的计算公式为proof=vrf_proof(sk,nid)。
[0061]
s25、候选跨链通信节点将该上述步骤计算得出的result和proof,连同自身的公钥pk、身份信息、源链的基本信息通过网络传输发送给中继交互链进行认证,并附上使用自己公钥签署的数字签名。
[0062]
s26、中继交互链收到候选跨链通信节点的信息后逐步验证候选跨链通信节点的信息合规性,若满足要求则执行s27,若不满足则返回消息拒绝候选跨链节点注册请求。
[0063]
具体而言,中继交互链具体验证流程如下:
[0064]
s261、首先对收到的信息进行完整性检查,首先通过数字签名检查信息是否被篡改,其次检查信息内容是否完整,是否包含规定信息。若检查失败则返回拒绝请求,成功则进入下一步。
[0065]
s262、验证信息的正确性。一方面,验证候选跨链通信节点的vrf部分的正确性:首先通过vrf的哈希自我验证函数vrf
p2h
计算result

=vrf
p2h(proof)
,验证结果result

和被证明者传来的result是否相同,若不同则验证失败,中止验证。若验证通过则使用vrf验证算法vrf_verify验零知识证明的正确性,计算vrf_verify(pk,nid,proof),pk,nid,proof经过vrf_verify验证后得出两个值,true或者false,true表示通过验证,false表示未通过验证。若验证失败则返回请求失败。若验证通过,表明proof是通过nid生成的,并且能够验证proof是通过计算得出result,进而推导出nid和result是否匹配,从而验证了该符合规定条件的随机数确实是该节点产生的;另一方面,验证源链的基本信息,包括源链类型、共识类型、交易类型等信息。
[0066]
s27、中继交互链的证书颁发机构ca为验证成功的候选跨链通信节点颁发身份证书,并将候选跨链通信节点加入中继交互链网络,添加至跨链通信节点列表,此后跨链通信节点将参与中继交互链的共识,与其他跨链通信节点共同维护中继交互链。
[0067]
s28、候选跨链通信节点将中继交互链颁发的数字身份证书与vrf验证信息广播至源链,源链通过中继交互链的证书颁发机构ca验证证书正确性,根据vrf验证算法验证vrf信息的正确性,经过链内共识后,将候选跨链通信节点添加至跨链通信节点列表,验证失败则不予添加。中继交互链为参与跨链事务的区块链生成唯一区块链标识,并将跨链通信节点列表中的节点与区块链标识匹配,用以标识跨链通信节点的来源链。
[0068]
其中跨链节点列表经过固定共识轮次后清空,以定期更新跨链通信节点。
[0069]
s29、跨链通信节点列表中的跨链通信节点组成一个签名群体,设定门限值t为跨链通信节点总数的2/3,并通过门限签名方案生成门限签名密钥。
[0070]
参照附图3,对本发明的步骤3做进一步的描述。
[0071]
s3、跨链事务通信步骤,在s2步骤中源链通过上述基于vrf的节点通信认证方法选择部分节点成为了跨链通信节点,且跨链通信节点得到了中继交互链的认证并加入了中继交互链参与共识。包括以下子步骤:
[0072]
s31、源链的跨链事务发起者(用户或应用)发起跨链事务,发起跨链事务的请求消息发送至跨链通信节点集合。
[0073]
s32、跨链通信节点在收到跨链事务的请求消息后验证该消息的合规性,验证成功后使用自己的组私钥碎片为跨链事务签名得到签名碎片,并将各自的签名碎片广播给其他跨链通信节点,同时等待组内其他成员的签名碎片;验证失败则拒绝签名。
[0074]
s33、第一个成功合并出组签名的跨链通信节点将组签名广播给其他跨链通信节点,并将附属组签名的跨链事务请求发送给中继交互链;其他跨链通信节点接受并验证合并的组签名后停止处理。
[0075]
s34、中继交互链上部署的智能合约负责判断收到的跨链事务请求的来源,判断判断该请求是否含有跨链事务来源链的跨链通信节点集合签名,并使用的跨链通信节点集合公钥进行签名验证的签名,根据跨链通信列表判断跨链通信节点与来源链是否匹配,验证成功则发送给目的链,否则拒绝该请求。
[0076]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献