掌桥专利:专业的专利平台
掌桥专利
首页

一种区块链共识方法

文献发布时间:2023-06-19 11:26:00


一种区块链共识方法

技术领域

本发明涉及区块链共识机制,具体涉及一种区块链共识方法。

背景技术

区块链技术(Block Chain)是指通过去中心化的方式集体维护一个可靠数据库的技术方案,该技术方案主要让区块(Block)通过密码学方法关联起来,每个区块包含了一定时间内系统全部的数据信息,并且生成数字签名以验证信息的有效性,同时链接到下一个数据块形成一条主链。其中,区块是区块链中的一条记录,包含并确认待处理的交易。

近年来随着区块链技术的兴起,各种区块链共识机制纷纷面世。当前,区块链的共识机制主要包括PoW、Pos、PBFT。

PoW(ProofofWork,工作量证明机制):PoW机制中根据矿工的工作量来执行货币的分配和记账权的确定。算力竞争的胜者将获得相应区块记账权和比特币奖励。因此,矿机芯片的算力越高,挖矿的时间越长,就可以获得更多的数字货币。

PoS(ProofofStake,权益证明机制):POS机制采用类似股权证明与投票的机制,选出记帐人,由它来创建区块。持有股权愈多则有较大的特权,且需负担更多的责任来产生区块,同时也具有获得更多收益的权力。

简单来说,PoS就是把PoW由算力决定记账权变成由持有币数来决定记账权。在PoW中,是按照算力占有总算力的百分比,决定获得本次记账权的概率;在PoS中,持有币数占系统总币数的百分比,决定着获得本次记账权的概率。

PBFT(Practical Byzantine FalutTolerance,实用拜占庭容错)算法是一种共识算法。目前,现有基于PBFT共识算法的区块链平台,存在节点选择的随机性不高,容易出现风险,并且算法本身存在效率较低的问题。

发明内容

(一)解决的技术问题

针对现有技术所存在的上述缺点,本发明提供了一种区块链共识方法,能够有效克服现有技术所存在的共识结果存在风险、共识机制效率较低的缺陷。

(二)技术方案

为实现以上目的,本发明通过以下技术方案予以实现:

一种区块链共识方法,包括以下步骤:

S1、将当前区块的哈希值以及所有虚拟节点的哈希值映射到同一个哈希环上,根据当前区块映射到哈希环上的地址,确定主节点;

S2、判断当前区块是否具备获得共识节点的资格,并根据判断结果继续获取共识节点;

S3、任一主节点接收共识请求时,将该共识请求广播至全网中的其他主节点,任一共识节点接收共识请求时,将该共识请求广播至当前区块中的主节点和其他共识节点;

S4、主节点、共识节点接收到广播的共识请求后,生成用于响应的回传信息;

S5、接收到共识请求的主节点,或者接收到共识请求的共识节点所属的主节点通过拜占庭共识算法对回传信息进行统计,并根据统计结果判断是否进行数据上链。

优选地,S1中根据当前区块映射到哈希环上的地址,确定主节点,包括:

若当前区块映射到哈希环上的地址位置存在虚拟节点,则将该虚拟节点作为主节点;

若当前区块映射到哈希环上的地址位置不存在虚拟节点,则沿哈希环顺时针寻找第一个虚拟节点,作为主节点。

优选地,S2中判断当前区块是否具备获得共识节点的资格,包括:

当前区块包含内容达到区块可容纳交易数量上限,或者当前区块的任务处理等待时间达到产生区块的上限时间时,当前区块具备获取共识节点的资格;否则,当前区块无法继续获得共识节点。

优选地,S2中根据判断结果继续获取共识节点,包括:

当前区块具备获取共识节点的资格时,当前区块中的主节点以自身为中心,向外进行距离扫描,并将距离最近的虚拟节点依次纳入当前区块,作为共识节点。

优选地,所述当前区块中的主节点、共识节点均具有属于各自的私钥和公钥,以及全网中其他所有虚拟节点的信息,包括公钥、地址位置和节点名称。

优选地,S4中主节点、共识节点接收到广播的共识请求后,生成用于响应的回传信息,包括:

主节点、共识节点缓存共识数据后,生成用于响应该共识请求的回传信息,并利用自身的私钥对回传信息进行加密签名。

优选地,S5中接收到共识请求的主节点,或者接收到共识请求的共识节点所属的主节点通过拜占庭共识算法对回传信息进行统计之前,包括:

任一主节点接收共识请求时,全网中的其他主节点将各自生成的回传信息发送至接收共识请求的主节点,该主节点利用公钥对签名进行解密验证;

任一共识节点接收共识请求时,当前区块中的其他共识节点将各自生成的回传信息发送至当前区块的主节点,该主节点利用公钥对签名进行解密验证。

优选地,S5中根据统计结果判断是否进行数据上链,包括:

当主节点判断回传信息中超过半数认为共识数据真实有效时,该主节点对共识数据以及共识结果进行上链。

(三)有益效果

与现有技术相比,本发明所提供的一种区块链共识方法,通过设置哈希环来选择当前区块中的主节点,提高了主节点选择的随机性,从而能够提升共识结果的可靠性;在共识机制中设置了链间、链内两种共识实现方式,减少了共识过程中链间信息的有效传递次数,进而能够大幅提高共识机制的实现效率。

附图说明

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

图1为本发明共识机制的流程示意图。

具体实施方式

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

一种区块链共识方法,如图1所示,将当前区块的哈希值以及所有虚拟节点的哈希值映射到同一个哈希环上,根据当前区块映射到哈希环上的地址,确定主节点。

其中,根据当前区块映射到哈希环上的地址,确定主节点,包括:

若当前区块映射到哈希环上的地址位置存在虚拟节点,则将该虚拟节点作为主节点;

若当前区块映射到哈希环上的地址位置不存在虚拟节点,则沿哈希环顺时针寻找第一个虚拟节点,作为主节点。

本申请技术方案中,通过设置哈希环来选择当前区块中的主节点,提高了主节点选择的随机性,从而能够提升共识结果的可靠性。

判断当前区块是否具备获得共识节点的资格,并根据判断结果继续获取共识节点。

其中,判断当前区块是否具备获得共识节点的资格,包括:

当前区块包含内容达到区块可容纳交易数量上限,或者当前区块的任务处理等待时间达到产生区块的上限时间时,当前区块具备获取共识节点的资格;否则,当前区块无法继续获得共识节点。

其中,根据判断结果继续获取共识节点,包括:

当前区块具备获取共识节点的资格时,当前区块中的主节点以自身为中心,向外进行距离扫描,并将距离最近的虚拟节点依次纳入当前区块,作为共识节点。

本申请技术方案中,通过距离扫描的方法,将距离当前区块中主节点最近的虚拟节点依次纳入当前区块,作为共识节点,能够提高区块内部主节点与共识节点之间的信息交互效率,从而有助于提高共识机制的实现效率。

当前区块中的主节点、共识节点均具有属于各自的私钥和公钥,以及全网中其他所有虚拟节点的信息,包括公钥、地址位置和节点名称。

任一主节点接收共识请求时,将该共识请求广播至全网中的其他主节点,任一共识节点接收共识请求时,将该共识请求广播至当前区块中的主节点和其他共识节点。

主节点、共识节点接收到广播的共识请求后,生成用于响应的回传信息,具体包括:

主节点、共识节点缓存共识数据后,生成用于响应该共识请求的回传信息,并利用自身的私钥对回传信息进行加密签名。

接收到共识请求的主节点,或者接收到共识请求的共识节点所属的主节点通过拜占庭共识算法对回传信息进行统计,并根据统计结果判断是否进行数据上链。

其中,接收到共识请求的主节点,或者接收到共识请求的共识节点所属的主节点通过拜占庭共识算法对回传信息进行统计之前,包括:

任一主节点接收共识请求时,全网中的其他主节点将各自生成的回传信息发送至接收共识请求的主节点,该主节点利用公钥对签名进行解密验证;

任一共识节点接收共识请求时,当前区块中的其他共识节点将各自生成的回传信息发送至当前区块的主节点,该主节点利用公钥对签名进行解密验证。

其中,根据统计结果判断是否进行数据上链,包括:

当主节点判断回传信息中超过半数认为共识数据真实有效时,该主节点对共识数据以及共识结果进行上链。

本申请技术方案中,在共识机制中设置了链间、链内两种共识实现方式,减少了共识过程中链间信息的有效传递次数,进而能够大幅提高共识机制的实现效率。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不会使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 一种区块链共识方法及区块链共识装置
  • 区块链共识节点的重启处理方法、共识节点及区块链系统
技术分类

06120112923192