本发明专利技术涉及区块链跨链通讯技术领域,使用了基于智能合约的高性能服务,和基于可验证随机函数的跨链服务共识,以提高跨链服务的性能和安全性。具体公开了一种跨联盟链通讯方法、装置、计算机设备及存储介质,该方法包括:提交跨链请求,在区块链A上部署提供跨链服务的智能合约,在区块链A上向跨链服务智能合约发起向区块链B进行跨链请求;选择节点跨链,通过可验证随机函数从服务节点池中的k个节点中选择N个节点到区块链B上进行跨链;跨链数据共识,各个节点获得的数据,在智能合约中通过可验证随机函数达到共识和激励,并将结果存储到服务数据池;读取跨链数据,跨链节点将跨链的具体操作在区块链B上执行,将结果写回区块链A合约中。中。中。
【技术实现步骤摘要】
一种跨联盟链通讯方法、装置、计算机设备及存储介质
[0001]本申请涉及区块链跨链通讯
,尤其涉及一种跨联盟链通讯方法、装置、计算机设备及存储介质。
技术介绍
[0002]当前主流区块链系统中,公有链如比特币、以太坊,联盟链如Hyperledger Fabric、蚂蚁区块链等,各个区块链系统的结构、节点组成完全不同,难以实现高效的数据互通,形成了以链为单位的信息孤岛,即不同区块链无法互操作。跨链互操作的核心是数据的互通,然而,一个节点只运行一条区块链的情况下,如何在运行过程中获得另一条区块链的数据,如金融区块链获得物流区块链的数据以进行进一步贷款授信等业务,成为重要而紧迫的业界痛点。因此,联盟链系统需要一种跨链技术以实现不同链间的互操作。
[0003]业界中主流的跨链技术,大体上可分为哈希时间锁定、公证人机制、侧链/中继者机制等。哈希时间锁定等,依赖大量的时间锁定来保证安全性,从而牺牲了性能,无法满足联盟链下高性能的业务需求。为了达到较高的跨链性能,许多跨链技术采用了公证人机制、侧链中继机制等,这些机制会导致一定程序的中心化,降低了区块链网络的安全性。
技术实现思路
[0004]本申请提供了一种跨联盟链通讯方法、装置、计算机设备及存储介质,以提高跨链通讯的性能和安全性。
[0005]第一方面,本申请提供了一种跨联盟链通讯方法,所述方法以实现两个区块链之间的通讯,两个区块链分别为区块链A和区块链B,包括服务节点池和服务数据池,所述服务节点池用于同时维护区块链A和区块链B的节点列表,所述服务数据池包括跨链交互中的数据;包括:
[0006]提交跨链请求,在区块链A上部署提供跨链服务的智能合约,在区块链A上向跨链服务智能合约发起向区块链B进行跨链请求;
[0007]选择节点跨链,通过可验证随机函数从服务节点池中的k个节点中选择N个节点到区块链B上进行跨链;
[0008]跨链数据共识,各个节点获得的数据,在智能合约中通过可验证随机函数达到共识和激励,并将结果存储到服务数据池;
[0009]读取跨链数据,跨链节点将跨链的具体操作在区块链B上执行,将结果写回区块链A合约中。
[0010]第二方面,本申请还提供了一种跨联盟链通讯装置,所述装置包括:
[0011]跨链请求单元,用于提交跨链请求,在区块链A上部署提供跨链服务的智能合约,在区块链A上向跨链服务智能合约发起向区块链B进行跨链请求;
[0012]节点选择单元,用于选择节点跨链,通过可验证随机函数从服务节点池中的k个节点中选择N个节点到区块链B上进行跨链;
[0013]数据共识单元,用于跨链数据共识,各个节点获得的数据,在智能合约中通过可验证随机函数达到共识和激励,并将结果存储到服务数据池;
[0014]执行单元,用于读取跨链数据,跨链节点将跨链的具体操作在区块链B上执行,将结果写回区块链A合约中。
[0015]第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的跨联盟链通讯方法。
[0016]第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的跨联盟链通讯方法。
[0017]本申请公开了一种跨联盟链通讯方法、装置、设备及存储介质,通过提交跨链请求,在区块链A上部署提供跨链服务的智能合约,在区块链A上向跨链服务智能合约发起向区块链B进行跨链请求;选择节点跨链,通过可验证随机函数从服务节点池中的k个节点中选择N个节点到区块链B上进行跨链;跨链数据共识,各个节点获得的数据,在智能合约中通过可验证随机函数达到共识和激励,并将结果存储到服务数据池;读取跨链数据,跨链节点将跨链的具体操作在区块链B上执行,将结果写回区块链A合约中。该方法可以提高跨链通讯的性能和安全性。
附图说明
[0018]为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1是本申请的实施例提供的一种跨联盟通讯的方法的示意流程图;
[0020]图2是本申请的实施例提供的跨联盟通讯的方法的子步骤示意流程图;
[0021]图3是本申请的实施例提供的跨联盟通讯的方法的另一子步骤示意流程图;
[0022]图4为本申请实施例提供的一种跨联盟链通讯装置的示意性框图;
[0023]图5为本申请一实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
[0024]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0025]附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
[0026]本申请的实施例提供了一种跨联盟链通讯方法、装置、计算机设备及存储介质。其中,该跨联盟链通讯方法可以应用于终端或服务器中,以实现两个区块链之间的通讯,提高区块链跨链通讯的性能和安全性能。
[0027]下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
[0028]请参阅图1,图1是本申请的实施例提供的一种跨联盟链通讯方法的示意流程图。本方法用于实现两个区块链之间的通讯,以下称区块链A和区块链B,其包括服务节点池和服务数据池,服务节点池用于同时维护区块链A和区块链B的节点列表,从区块链A上接受跨链请求,并到区块链B上进行跨链操作后,向区块链A返回区块链状态数据或跨链交易结构。服务数据池包括跨链交互中的数据,比如区块链B上的状态数据、交易数据等。
[0029]本申请的跨联盟链通讯方法包括步骤S101至步骤S104。
[0030]S101、提交跨链请求,在区块链A上部署提供跨链服务的智能合约,在区块链A上向跨链服务智能合约发起向区块链B进行跨链请求。
[0031]其中,区块链A为多个节点维护的区块链数据,此部分的数据是对所有区块链记账节点公开的,区块链A上部署有提供跨链服务的智能合约。区块链B为另一条区块链,区块链A要读取区块链B上的数据。跨链服务智能合约,用于接受区块链上交易跨链请求,并持续提供跨链数据,该合约部署于区块链A上,对区块链A提供区块链B的数据。跨链服务智能合约包括上述的服务节点池和服务数据池。
[0032]S102、本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种跨联盟链通讯方法,以实现两个区块链之间的通讯,两个区块链分别为区块链A和区块链B,包括服务节点池和服务数据池,所述服务节点池用于同时维护区块链A和区块链B的节点列表,所述服务数据池包括跨链交互中的数据;其特征在于,包括:提交跨链请求,在区块链A上部署提供跨链服务的智能合约,在区块链A上向跨链服务智能合约发起向区块链B进行跨链请求;选择节点跨链,通过可验证随机函数从服务节点池中的k个节点中选择N个节点到区块链B上进行跨链;跨链数据共识,各个节点获得的数据,在智能合约中通过可验证随机函数达到共识和激励,并将结果存储到服务数据池;读取跨链数据,跨链节点将跨链的具体操作在区块链B上执行,将结果写回区块链A合约中。2.根据权利要求1所述的跨联盟链通讯方法,其特征在于,所述跨链请求的字段包括:请求类型、目标合约、目标输入和跨链节点数,所述请求类型包括状态请求或交易请求,所述目标合约为区块链B上执行的智能合约,所述目标输入为区块链B上执行的交易输入,跨链节点数为所需要的跨链节点数。3.根据权利要求1所述的跨联盟链通讯方法,其特征在于,所述通过可验证随机函数从服务节点池中的k个节点中选择N个节点到区块链B上进行跨链,包括:服务节点池中的k个节点,通过各自的私钥,根据跨链请求内容的十六进制编码后的值,计算得到各自的可验证随机数,同时各个节点各自生成证明并验证其他节点的随机数证明;通过对k个随机数进行聚合,取得随机数的平均值,并将各个节点距离平均值的绝对值的大小进行升序排列,将获得前N个节点作为随机节点。4.根据权利要求3所述的跨联盟链通讯方法,其特征在于,所述各个节点获得的状态数据和交易数据,在智能合约中通过可验证随机函数达到共识和激励,并将结果存储,包括:执...
【专利技术属性】
技术研发人员:罗少龙,胥勇,张海勤,
申请(专利权)人:深圳前海移联科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。