logo好方法网

一种区块链共识方法及系统


技术摘要:
本发明涉及一种区块链共识方法及系统,采用双重拜占庭容错算法达成共识机制,参与区块链的任一节点均有权创建一条请求信息,并提交相应的数字协议,然后向其所在私链广播该请求信息,其所处私链中的验证节点基于拜占庭容错算法对该请求信息进行验证,达成共识后将请求  全部
背景技术:
起源于比特币的区块链技术是分布式数据存储、点对点传输、共识机制、加密算法 等计算机技术的新型应用模式,其本质是一种去中心化的数据库,具有不可篡改、全程留痕 可追溯、集体维护、公开透明等特点,其丰富的应用场景主要是基于区块链能够解决信息不 对称问题,实现多个主体之间的协作信任与一致行动。因此,共识机制是区块链技术的核 心。比特币采用PoW(Proof  of  work)共识算法,参与网络的每一节点均进行工作量计算,并 广播和接收全网信息,当共识达成后产生新的区块,并写入信息。PoW的容错性是50%,也就 是说只要超过一半的节点是诚实的,就可以保证区块链数据的有效性。但是,PoW算法存在 出块慢、吞吐量小及耗电量大等局限。基于此,PoS、BFT等共识算法被提出,用于提高区块链 的计算效率。已授权专利CN201610901226.8公开了一种区块链的分组共识方法及系统,其 通过指定的交易验证节点及交易打包节点对网络中的交易信息进行验证和封装,避免了 PoW算法中所有节点均需参与工作量验证,克服了区块链处理速度慢的缺点。然而,其无法 保证其委托的信赖节点不会被攻击或是签名后的广播信息不会被篡改,导致区块链网络陷 入拜占庭问题,从而失效或是给出错误的信息。另一已授权专利CN201610752879.4公开了 一种应用于区块链的拜占庭容错共识算法,来节省计算资源,避免算力竞争。并且为了克服 授权节点发生叛变的问题,其通过不断更新本地共识节点列表的方式保证共识机制的可靠 性。然而,其采用普通的拜占庭容错算法,其天然特性导致其安全边界为恶意节点不超过1/ 3,远低于PoW算法的1/2。当恶意节点数较大时仍存在失效风险。
技术实现要素:
基于现有技术存在的以上问题,本申请提出了一种区块链共识方法及系统,以解 决现有技术中存在的缺陷。本发明采用双重拜占庭容错算法达成共识机制,具体通过以下 技术方案实现: 一种区块链共识方法,其特征在于,采用双重拜占庭容错算法达成共识机制,所述 区块链包括私链和公链,任一参与节点均可在区块链中创建一条请求信息,并提交相应的 数字协议,然后向其所在私链广播该请求信息,所在私链的验证节点对该请求信息进行验 证,如验证其数字签名是否合法,及操作是否合法,若该请求信息基于拜占庭容错算法无法 达成共识,该请求被驳回,请求信息及数字协议被清除;若该请求信息基于拜占庭容错算法 达成共识,则被进一步提交到公链,基于随机算法从不同私链中任意选取相应参与节点作 为第二层验证节点,组成随机区块网络,对请求信息进行二次验证,二次验证同样对请求信 息的数字签名及操作的合法性进行验证,并验证一次验证结果的一致性。若二次验证基于 拜占庭容错算法无法达成共识,则请求被驳回,请求信息及数字协议被清除;若二次验证基 于拜占庭容错算法达成共识,则请求被认证; 3 CN 111614468 A 说 明 书 2/6 页 优选的,所述区块链共识方法,当二次验证结果与私链验证节点验证结果不一致 时,对冲突信息进行记录,并对相应私链验证节点进行监视,当下一验证周期二次验证结果 与相应私链验证节点验证结果不一致时,对相应私链中给出冲突结果的验证节点进行更新 替换,确保参与验证的私链验证节点存在风险时被及时更新; 所述区块链共识方法的失效风险为: 其中,N和N’分别为私链和公链网络总节点数,A和A’分别为私链和公链网络遭受 攻击节点数,Ac和Ac’分别为私链和公链网络未被攻破节点数,AF和AF’分别为私链和公链网络 已被攻破节点数,C和C’分别为私链和公链网络安全节点数,其中A=Ac AF, 为紧密系数,Rpi、Rri分别为私链节点与发出请求的参与节点间的地域相关系数、关系相关 系数取值范围为0至1,数值越大相关性越强。紧密系数反映了私链参与节点与发出请求信 息节点的紧密关系,地域信息越接近、与请求信息的相关性越强,参与节点越可能与发出请 求节点熟识或存在利益关系,也越有可能给出不客观的验证信息。 另外,本发明还提供一种采以上所述共识方法的区块链系统,其特征在于,所述系 统包括私链和公链,智能管理器和执行器,所述数字协议包含预先设定的执行程序,当所述 请求信息基于权利要求1-3任一所述方法被认证后,由智能管理器读取数字协议,调用相应 执行程序,使执行器完成协议内容,并将请求信息及数字协议内容向全网进行广播,所有参 与节点接收相应信息,并对自身区块信息进行更新; 优选的,所述系统中执行器只有当智能管理器对其完成认证后才参与到区块链网 络中,其余情况下保持断开状态,以避免恶意进攻直接对执行器进行攻击; 优选的,所述系统中参与节点对自身区块信息进行更新时将前一区块链状态信息 哈希值封装于当前区块前端,以保证数据的完整性和可追溯性; 优选的,所述系统中哈希值采用SH256算法或SH512算法获得; 优选的,所述系统中执行器为物联网终端设备、智能存储器或其他可执行设备。 这里二次验证节点组成的随机区块网络与私链具有相似的结构和性质,但这些二 次验证节点随机选自不同的私链用户组。因此,整个验证过程一次验证为私链用户组内达 成共识,二次验证为私链用户组外部随机选取节点达成共识。传统区块链网络通过超过攻 击者容量来提高安全等级,也即总节点数越多,安全性越高。如此势必带来安全性与运算效 率的冲突。而随机区块网络与传统区块链网络相比其通过增加网络混淆容量来提高安全 性,很好的解决了以上冲突问题。本申请提出的双重拜占庭容错共识决策算法相比传统的 PoW算法可大大降低网络的运算量,提高网络运行效率,降低交易成本。同时本申请算法基 于随机算法从不同私链中选取参与节点作为二层验证节点构成随机区块网络进行二次验 证,提高网络的安全边界,克服了传统拜占庭容错算法安全边界低、失效率高的缺陷。 本发明的有益效果如下: 1、节省计算资源。 4 CN 111614468 A 说 明 书 3/6 页 2、交易延时低,吞吐量高,使区块链网络更加高效。 3、改善了普通拜占庭算法安全边界低的缺陷,提高了网络安全性。 4、在保证良好运行可靠性及运行速率的基础上较传统拜占庭容错算法拓宽了参 与节点个数的范围,提供了更好的可扩展性。 附图说明 图1-双重拜占庭容错算法逻辑流程图。 图2-采用双重拜占庭容错算法的随机区块链系统。
下载此资料需消耗2积分,
分享到:
收藏