区块链主子链的构建方法及其跨链方法与流程

文档序号:25992181发布日期:2021-07-23 21:04阅读:609来源:国知局
区块链主子链的构建方法及其跨链方法与流程

本发明属于区块链构建及跨链技术领域,特别是涉及区块链主子链的构建方法及其跨链方法。



背景技术:

链技术:原本存储在特定区块链上的资产可以转换成为另一条链的资产,简单支付验证技术,用于验证一笔交易存在于区块链中,spvclient存储着连续的区块头,但没有区块体,因此只需占用很小的存储空间,当获得一笔交易和这笔交易的merklepath后,可以验证这笔交易是否存在于区块链上。

区块链技术有很多特点及优点,其中包括:去中心化、开放性、可编程和不可篡改等。区块链的去中心化是指数据的存储、验证和传输均是由分布式的网络节点来完成,系统中节点的权利和义务都是均等的,不依赖于中心的管理节点。无论是新的节点加入到系统中,还是系统原有节点突然停止工作,都不会影响系统的整体运作,从而能够实现数据的分布式记录、存储和更新。

未解决上述问题,本发明提供区块链主子链的构建方法及其跨链方法。



技术实现要素:

本发明的目的在于提供区块链主子链的构建方法及其跨链方法,通过网络管理节点采用actor集群实现接收以及并发处理,主链与子链间通过主链跨链合约以及子链跨链合约进行跨链交互;实现各子链上的并行处理,保证子链访问吞吐量下的性能稳定,解决区块链网络拥堵的技术问题。

为解决上述技术问题,本发明是通过以下技术方案实现的:

本发明为一种区块链主子链的构建方法,包括如下过程:

a0:建立主链与初始子链间的索引信息,包括如下:

a01:配置主子链的节点网络通信参数,包括ip地址、通信端口以及安全证书;

a02:主链节点初始化子链读取区块及访问信息,基于初始子链的信息生成区块hashtree、访问hashtree以及状态hashtree;

a03:主链新区块的区块头上记录所述区块hashtree根,当主链产生新区块时,用于通知被索引的初始子链;

a04:当初始子链接收到主链新区块的生成消息,记录主链新区块高度并更新索引信息;

a1:若初始子链访问量大于访问限制时,则创建初始子链,包括如下:

a11:网络管理节点发送初始访问至初始子链用于创建管理合约,根据初始子链提供的子链id创建一新子链;

a12:网络管理节点或token所有者向区块链网络广播新访问;

a13:判断初始子链的访问量是否大于访问限制;若是,则执行a14;若否,则新子链创建失败;

a14:通过子链提供的服务完成新子链的注册;

a15:新子链的注册完成后,网络管理节点放弃用当前子链请求,终止服务请求后子链停止当前子链的索引工作;

a2:网络管理节点采用actor集群实现接收以及并发处理;

a3:主链与子链间通过主链跨链合约以及子链跨链合约进行跨链交互。

作为一种优选的技术方案,a02中网络管理节点采用actor集群实现接收以及并发处理过程如下:

b00:网络管理节点接收从用户发过来的访问并接收服务处理访问请求,依据当前访问的子链id将访问放入不同的子链访问队列中;

b01:子链从子链方位队列中按顺序读取并发送给相对应的worker;

其中,任一子链均有对应worker负责当前子链上访问的处理;

b02:worker组中各worker对应处理完访问后,将处理结果以及错误访问返回给子链供新子链区块实用;

其中,任一网络管理节点均有对应的worker组,负责网络管理节点接收的访问的处理。

作为一种优选的技术方案,worker组中的worker数量根据访问队列中待处理访问的数量动态调整。

一种区块链主子链的跨链方法,包括如下过程:

c00:在主链上通过主链跨链合约发起跨链交易请求并记录在交易请求表中;

c01:主链跨链插件监听主链发起的跨链交易请求;

c02:当主链跨链插件收到跨链交易成功后发送给子链跨链插件;

c03:当子链跨链插件接收到主链交易请求后,调用子链跨链合约验证主链交易请求;

c04:当主链交易请求验证通过后,子链跨链插件监听子链交易;

c05:当子链宽脸插件监听到子链交易成功后发送至主链跨链插件;

c06:当主链跨链插件收到子链交易成功后,删除交易请求表中的跨链交易请求。

作为一种优选的技术方案,c03中调用子链跨链合约验证主链交易请求包括如下过程:

子链跨链插件调用子链跨链合约通过核验插件验证主链交易请求。

作为一种优选的技术方案,c06中当主链跨链插件收到子链交易成功后,主链跨链插件调用核验插件核验子链交易成功。

作为一种优选的技术方案,核验插件运行过程如下:

d00:通过区块编号验证是否能够连接到最新的节点;

d01:在处理分叉时,通过后者代替前者的方式实现对分叉的处理,而后删除旧数据;

d02:通过区块id验证是否能够连接到最新节点;

d03:构造区块头并验证秘钥签名。

本发明具有以下有益效果:

1、本发明首先建立主链与初始子链间的索引信息并配置主子链的节点网络通信参数;主链节点初始化子链读取区块及访问信息,基于初始子链的信息生成区块hashtree、访问hashtree以及状态hashtree;主链新区块的区块头上记录所述区块hashtree根,当主链产生新区块时,用于通知被索引的初始子链;实现各子链上的并行处理,保证子链访问吞吐量下的性能稳定,解决区块链网络的拥堵,提高区块链网路的并行处理效率。

2、本发明当子链跨链插件接收到主链交易请求后,调用子链跨链合约验证主链交易请求;当主链交易请求验证通过后,子链跨链插件监听子链交易;跨链交易并行,不同的跨链交易之间互不影响,可以并行执行,因此支持很大的并发量,具有安全性。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的一种区块链主子链的构建方法的流程图;

图2为本发明中网络管理节点采用actor集群实现接收以及并发处理的流程图;

图3为本发明中一种区块链主子链的跨链方法的流程图;

图4为本发明中核验插件运行的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1所示,本发明为一种区块链主子链的构建方法,包括如下过程:

a0:建立主链与初始子链间的索引信息,包括如下:

a01:配置主子链的节点网络通信参数,包括ip地址、通信端口以及安全证书;

a02:主链节点初始化子链读取区块及访问信息,基于初始子链的信息生成区块hashtree、访问hashtree以及状态hashtree;

a03:主链新区块的区块头上记录区块hashtree根,当主链产生新区块时,用于通知被索引的初始子链;

a04:当初始子链接收到主链新区块的生成消息,记录主链新区块高度并更新索引信息;

a1:若初始子链访问量大于访问限制时,则创建初始子链,包括如下:

a11:网络管理节点发送初始访问至初始子链用于创建管理合约,根据初始子链提供的子链id创建一新子链;

a12:网络管理节点或token所有者向区块链网络广播新访问;

a13:判断初始子链的访问量是否大于访问限制;若是,则执行a14;若否,则新子链创建失败;

a14:通过子链提供的服务完成新子链的注册;

a15:新子链的注册完成后,网络管理节点放弃用当前子链请求,终止服务请求后子链停止当前子链的索引工作;

a2:网络管理节点采用actor集群实现接收以及并发处理;

a3:主链与子链间通过主链跨链合约以及子链跨链合约进行跨链交互。

请参阅图2所示,a02中网络管理节点采用actor集群实现接收以及并发处理过程如下:

b00:网络管理节点接收从用户发过来的访问并接收服务处理访问请求,依据当前访问的子链id将访问放入不同的子链访问队列中;

b01:子链从子链方位队列中按顺序读取并发送给相对应的worker;

其中,任一子链均有对应worker负责当前子链上访问的处理;

b02:worker组中各worker对应处理完访问后,将处理结果以及错误访问返回给子链供新子链区块实用;

其中,任一网络管理节点均有对应的worker组,负责网络管理节点接收的访问的处理;另外,worker组中的worker数量根据访问队列中待处理访问的数量动态调整。

实际使用时,首先建立主链与初始子链间的索引信息并配置主子链的节点网络通信参数;主链节点初始化子链读取区块及访问信息,基于初始子链的信息生成区块hashtree、访问hashtree以及状态hashtree;主链新区块的区块头上记录所述区块hashtree根,当主链产生新区块时,用于通知被索引的初始子链;实现各子链上的并行处理,保证子链访问吞吐量下的性能稳定,解决区块链网络的拥堵,提高区块链网路的并行处理效率。

请参阅图3所示,一种区块链主子链的跨链方法,包括如下过程:

c00:在主链上通过主链跨链合约发起跨链交易请求并记录在交易请求表中;

c01:主链跨链插件监听主链发起的跨链交易请求;

c02:当主链跨链插件收到跨链交易成功后发送给子链跨链插件;

c03:当子链跨链插件接收到主链交易请求后,调用子链跨链合约验证主链交易请求;

c04:当主链交易请求验证通过后,子链跨链插件监听子链交易;

c05:当子链宽脸插件监听到子链交易成功后发送至主链跨链插件;

c06:当主链跨链插件收到子链交易成功后,删除交易请求表中的跨链交易请求;具体的;子链跨链插件调用子链跨链合约通过核验插件验证主链交易请求;另外,c06中当主链跨链插件收到子链交易成功后,主链跨链插件调用核验插件核验子链交易成功。

请参阅图4所示,核验插件运行过程如下:

d00:通过区块编号验证是否能够连接到最新的节点;

d01:在处理分叉时,通过后者代替前者的方式实现对分叉的处理,而后删除旧数据;

d02:通过区块id验证是否能够连接到最新节点;

d03:构造区块头并验证秘钥签名。

本发明实际使用时,建立主链与初始子链间的索引信息;若初始子链访问量大于访问限制时,则创建初始子链;网络管理节点采用actor集群实现接收以及并发处理;主链与子链间通过主链跨链合约以及子链跨链合约进行跨链交互;实现各子链上的并行处理,保证子链访问吞吐量下的性能稳定,解决区块链网络的拥堵,提高区块链网路的并行处理效率。

另外,当子链跨链插件接收到主链交易请求后,调用子链跨链合约验证主链交易请求;当主链交易请求验证通过后,子链跨链插件监听子链交易;跨链交易并行,不同的跨链交易之间互不影响,可以并行执行,因此支持很大的并发量,具有安全性。

值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1