本发明涉及区块链技术领域,尤其涉及一种区块链的分域验证机制。
背景技术:
目前区块链一般都是一个统一的共识验证范围,所有的节点都属于该网络内,必须在网络内达成一致才能确认交易成功。
随着区块链技术的普及,越来越多的用户加入区块链系统,区块链系统的节点数呈几何倍数增长,导致共识验证效率越来越低,基于区块链的应用处理自然也就越来越慢。
技术实现要素:
本发明的目的是为了解决现有技术中的问题,而提出的一种区块链的分域验证机制。
为了实现上述目的,本发明采用了如下技术方案:
一种区块链的分域验证机制,所述区块链系统划分为根区域和子区域,所述子区域内的节点以主备方式接入两个根区域节点,且子区域与根区域连通,所述根区域有且只有一个,且根区域不可分割,所述子区域可以自由增加,所述区块链系统的交易分为:子区域内交易、跨子区域交易和漫游客户端交易。
优选的,所述区块链账户地址包括:地址前缀和地址后缀,所述地址前缀可根据子区域进行有序分配,所述地址后缀根据规则随机生成。
优选的,所述地址前缀可根据区块链自身情况设置为16位、32位或者其他位。
优选的,所述子区域内交易的流程如下:(4.1)、子区域1内的用户a和用户b之间发起交易;(4.2)、所述子区域1内的节点对该交易进行验证;(4.3)、完成共识验证后,所述子区域1将验证后的结果上报至根区域;(4.4)、所述根区域接收到子区域1的交易验证结果后,将该交易的验证结果广播给其他子区域,实现信息同步。
优选的,所述跨子区域交易的流程如下:(5.1)、子区域1内的用户a与子区域2内的用户c之间发起交易;(5.2)、根据地址前缀判断该交易属于非区域内交易,则子区域1内的节点构建跨域交易报文,并发送给根区域内的节点;(5.3)、所述根区域的节点根据目的地址的地址前缀信息,找到目标子区域2,并将该交易信息发给子区域2的节点进行验证;(5.4)、所述所述子区域2的节点完成交易验证后,将验证后的信息反馈给子区域1的节点;(5.5)、若交易验证不通过,则立即通知废弃该交易;若交易验证通过,子区域1与子区域2共同确认过交易验证信息,然后由子区域1的节点向根区域上报该跨域交易的验证信息;(5.6)所述根区域收到子区域1与子区域2的跨域交易的验证结果后,将该跨域交易的验证结果广播给其他子区域,实现信息同步。
优选的,所述漫游客户端交易的流程如下:(6.1)某客户端由子区域3漫游到子区域4时,发起交易;(6.2)区块链系统利用dns进行物理地域划分区块链的子区域,即根据dns就近接入子区域4,当发现交易不在子区域3时,则上报给根区域;(6.3)所述根区域根据源地址找出对应的子区域3,并交给子区域3的节点进行交易验证,交易验证通过后,子区域3将该交易的验证信息上报给根区域;(6.4)所述根区域接收到交易验证信息后,将该交易广播给其他子区域,实现信息同步;(6.5)其他子区域接收到交易验证成功的消息后,根据接入情况通知客户端交易已成功。
优选的,所述子区域3内部完成的验证交易可直接通知客户端已成功。
与现有技术相比,本发明提供了一种区块链的分域验证机制,具备以下有益效果:该区块链的分域验证机制,通过将整个区块链验证域进行多域划分,根据网络自然地域,设定多个域,每个域内交易可以自行完成共识验证,对于跨域交易则执行跨域验证,域之间进行信息同步,多个域可以并行处理大部分交易,将促使整个区块链系统的吞吐量大幅度提高。
该装置中未涉及部分均与现有技术相同或可采用现有技术加以实现,本发明结构简单,操作方便。
附图说明
图1为本发明提出的一种区块链的分域验证机制的结构示意图;
图2为本发明实施例2子区域内交易的结构示意图;
图3为本发明实施例2子区域内交易的流程图;
图4为本发明实施例3跨子区域交易结构示意图;
图5为本发明实施例3跨子区域交易的流程图;
图6为本发明实施例4漫游客户端交易的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1
如图1所示,一种区块链的分域验证机制,区块链系统划分为根区域和子区域,子区域内的节点以主备方式接入两个根区域节点,且子区域与根区域连通,根区域有且只有一个,且根区域不可分割,子区域可以自由增加,区块链系统的交易分为:子区域内交易、跨子区域交易和漫游客户端交易。
进一步的,区块链账户地址包括:地址前缀和地址后缀,地址前缀可根据子区域进行有序分配,地址后缀根据规则随机生成。
进一步的,地址前缀可根据区块链自身情况设置为16位、32位或者其他位。
根区域作为整个系统的核心枢纽区域,负责收集所有子区域交易的验证信息,并将这些信息同步到子区域,最终实现整个区域的信息同步;子区域负责收集自己内部交易验证结果信息,并报送给根区域,子区域接收来自根区域的验证信息,并同步到自己的域内所有节点;通过在区块地址设置了地址前缀信息,可以约束其跨域交易时进行双花的可能,用户发起的交易必须在自己所属子区域进行,而目的地址可以是任意地址。
实施例2
如图2-3所示,一种区块链的分域验证机制,子区域内交易的流程如下:
(4.1)、子区域1内的用户a和用户b之间发起交易;
(4.2)、子区域1内的节点对该交易进行验证;
(4.3)、完成共识验证后,子区域1将验证后的结果上报至根区域;
(4.4)、根区域接收到子区域1的交易验证结果后,将该交易的验证结果广播给其他子区域,实现信息同步。
实施例3
如图4-5所示,一种区块链的分域验证机制,跨子区域交易的流程如下:
(5.1)、子区域1内的用户a与子区域2内的用户c之间发起交易;
(5.2)、根据地址前缀判断该交易属于非区域内交易,则子区域1内的节点构建跨域交易报文,并发送给根区域内的节点;
(5.3)、根区域的节点根据目的地址的地址前缀信息,找到目标子区域2,并将该交易信息发给子区域2的节点进行验证;
(5.4)、子区域2的节点完成交易验证后,将验证后的信息反馈给子区域1的节点;
(5.5)、若交易验证不通过,则立即通知废弃该交易;若交易验证通过,子区域1与子区域2共同确认过交易验证信息,然后由子区域1的节点向根区域上报该跨域交易的验证信息;跨域验证需要子区域1、子区域2和根区域协同完成;
(5.6)根区域收到子区域1与子区域2的跨域交易的验证结果后,将该跨域交易的验证结果广播给其他子区域,实现信息同步。
实施例4
如图6所示,一种区块链的分域验证机制,漫游客户端交易的流程如下:
(6.1)某客户端由子区域3漫游到子区域4时,发起交易;
(6.2)区块链系统利用dns进行物理地域划分区块链的子区域,即根据dns就近接入子区域4,当发现交易不在子区域3时,则上报给根区域;
(6.3)根区域根据源地址找出对应的子区域3,并交给子区域3的节点进行交易验证,交易验证通过后,子区域3将该交易的验证信息上报给根区域;
(6.4)根区域接收到交易验证信息后,将该交易广播给其他子区域,实现信息同步;
(6.5)其他子区域接收到交易验证成功的消息后,根据接入情况通知客户端交易已成功。
进一步的,子区域3内部完成的验证交易可直接通知客户端已成功。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。