一种基于权重的区块链网络节点通信方法与流程

文档序号:12887989阅读:2256来源:国知局
一种基于权重的区块链网络节点通信方法与流程

本发明属于区块链技术领域,具体涉及一种基于权重的区块链网络节点通信方法。



背景技术:

在区块链网络中,作为保存数据副本的服务器节点可担任不同角色,如发出、验证、接收和通知等;网络系统中任意两个节点通过相互发送、接收、处理、返回数据的模式形态以实现节点通信。

在常规技术方案下,区块链交易启动后,发布和记录交易时,会采用全网广播的模式进行账本复制,然后通过共识机制达成共识后予以交易确认,随后根据时间指纹信息,线性的追加在交易记录中。此种情况下,在全网广播、达成共识的过程,将会产生o(n2)的时间复杂度,尤其是随着区块链规模的变大后,多种不同类型的硬件设备对数据的处理能力和速度会逐渐出现较大差异化,如此复杂度将不堪重负,严重降低交易的实时性(即节点或节点分组对数据请求和响应的时间效率)。



技术实现要素:

鉴于上述,本发明提供了一种基于权重的区块链网络节点通信方法,能够解决全网广播、验证和确认实时性差的问题,利用节点和节点分组的信息优化通信过程。

一种基于权重的区块链网络节点通信方法,包括如下步骤:

(1)根据逻辑以及物理关系对区块链网络中的所有节点进行分类,得到n个节点分组,并为每个节点分组分配一个全局唯一的分组指纹gid,n为大于1的自然数;

(2)对于任一节点分组,通过相应算法从该分组内选取出一个节点作为中转节点,并设定最小共识达成比例t且50%<t≤100%;

(3)当网络中的任一节点a进行交易通信时,其通过所在分组内的中转节点a1主动发起交易,中转节点a1先将交易数据在组内进行广播,然后再广播给其他分组内的中转节点;

(4)对于其他任一分组内的中转节点b1,其收到交易数据后根据最小共识达成比例t随机从组内选取部分节点进行数据拷贝以及数据验证过程,这些节点若验证成功后则向中转节点b1进行反馈;若中转节点b1收到组内超过tgb个节点返回的共识响应,则将本组的分组指纹gid以及共识达成结果发送给中转节点a1,然后再对组内未参与共识的节点进行数据拷贝;gb为中转节点b1所在分组内的节点数量;

(5)若中转节点a1收到包括其自身在内超过tn个中转节点返回的共识响应,则使节点a完成交易处理,即交易完成。

进一步地,所述节点分组内的各个节点无主从和状态区分,可直接相互通信;节点分组之间则通过中转节点进行通信。

进一步地,所述中转节点a1在广播交易数据的同时,还将最小共识达成比例t发送给其他分组内的中转节点。

进一步地,所述中转节点a1将交易数据在组内进行广播,使组内其他所有节点进行数据拷贝以及数据验证过程,这些节点若验证成功后则向中转节点a1进行反馈,若中转节点a1收到组内超过tga个节点返回的共识响应,则中转节点a1所在分组达成共识;ga为中转节点a1所在分组内的节点数量。

进一步地,如果节点在未完成数据拷贝时发起数据查询操作且命中其本身,此时引入一个重定向机制,将该节点指向数据拷贝的源节点,防止节点查询失败或造成不一致情况;如出现异常造成不一致,组内将根据多数派协定修正为同一结果。

本发明利用实际区块链中节点的网络逻辑和物理拓扑结构,构建了一种新的区块链节点通信方法,该方法的核心思想是利用节点分组信息,选取有效节点进行通信,将通信过程的全网广播优化成全网局部广播,节点分组内局部广播的模式,同时根据分组和节点有选择的选取节点,用于验证和确认,加速通信过程。

本发明由于非一次性全局广播同步,全局一致性需要一个异步同步过程,故在同步时间内,查询记录信息可能需要增加一个二次查询过程,但是在技术方案整体上,二次查询过程不会对整体方案带来太多效率损失。因此,本发明方法利用网络中节点位置生成权重,能够提高交易时通信的实时性,增强区块链交易技术平台的处理能力。

附图说明

图1为区块链网络中的节点分组示意图。

图2为节点分组内的节点连接结构示意图。

图3为区块链网络中节点的交易通信流程示意图。

具体实施方式

为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。

如图1所示,整个区块链网络包含节点分组an~zn,节点分组an通过网络与节点分组bn、cn、dn……xn连接,并能相互通信。如图2所示,节点分组内各个节点构成对等网络结构,无主从和状态区分,本实施方式中节点可被视作虚拟机实例。

根据原有通信方式,如果从节点分组an中选取节点a1主动发起交易,则通信方式是由节点a1向组内广播,然后分组an再分别广播给bn、cn、dn……xn,各个分组内的节点接收到广播后,各自对数据进行克隆副本后进行验证和确认处理,节点a1则等待自己分组内所有节点和所有其他的节点分组内节点完成验证和确认处理后,接收到响应,完成自己的交易处理。

在本发明基于权重的区块链网络节点通信方法中,我们引入最小共识达成比例t(50%<t≤100%)。易知,在实际共识率r>t时,继续等待节点返回共识响应对改变结果是无意义的,故我们可以在不影响结果的情况下,放弃部分过程以达到优化的目的。

为了遍于区分分组信息,我们给每个节点分组定义全局唯一分组指纹gid,分组内节点数量gc。

如图3所示,当进行交易通信时,an中选取节点a1发起交易,在发送交易数据的同时,发送最小共识达成比例t,并对bn、cn、dn……xn等节点分组进行全局广播,每个节点分组与a1采用同样的算法选出b1、c1、d1……x1节点,该节点根据gc数量,参考t的比例,随机选取该分组的部分节点进行副本克隆和验证和确认过程,完成后将结果返回给a1,再对未参与达成共识的节点进行复制数据副本。a1在接受结果后,根据gc总量和汇报节点总量,当汇报节点总量占比大于t比例时,结合超时配置,可以迅速拿到结果。

如果在未完成数据副本复制时,存在节点发起查询操作命中本身,此时引入一个重定向机制,将选取到的本身节点指向复制副本的源节点,防止节点查询失败或者造成不一致,如出现异常造成不一致,组内将根据多数派,协定修正为同一结果。

上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。



技术特征:

技术总结
本发明公开了一种基于权重的区块链网络节点通信方法,其利用节点分组信息,选取有效节点进行通信,将通信过程的全网广播优化成全网局部广播,节点分组内局部广播的模式,同时根据分组和节点有选择的选取节点,用于验证和确认,加速通信过程。本发明方法利用网络中节点位置生成权重,能够提高交易时通信的实时性,增强区块链交易技术平台的处理能力。

技术研发人员:黄步添;刘成;王备;程雨夏;陈建海;刘振广;杨红星;向斌
受保护的技术使用者:杭州云象网络技术有限公司
技术研发日:2017.05.19
技术公布日:2017.11.07
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1