一种可插拔共识协议框架模型、共识协议及其实现方法技术

技术编号:21549221 阅读:39 留言:0更新日期:2019-07-06 22:13
本发明专利技术提供了一种可插拔的共识协议框架模型,其特征在于:包括三部分,分别为:成员管理,角色管理和共识管理,三个部分形成的一个循环称为一轮,一轮就是一次共识协议运行的完整过程,通过三个部分,决议在一轮中达成明确的结果,即通过或者不通过,一旦达成,框架模型再次运行成员管理,开始新的一轮共识过程,三个部分均支持参数配置定义策略,通过不同的参数配置,实现不同的共识协议。还提供了一种基于可插拔的共识协议框架模型建立的共识协议FBFT(Fast Byzantine Fault Tolerance)以及实现方法,通过定义不同的规则集合将现有和未来的共识协议进行统一,通过参数的定义决定使用具体的共识协议的实现,以实现一种可插拔的统一的共识协议框架。

A Framework Model of Pluggable Consensus Protocol, Consensus Protocol and Its Implementation

【技术实现步骤摘要】
一种可插拔共识协议框架模型、共识协议及其实现方法
本专利技术涉及分布式账本
,特别是涉及分布式账本技术中共识协议的开发与实现。
技术介绍
共识协议被视为分布式账本技术的核心价值,它详细规定了系统内部节点的交互、打包交易与验证、区块锻造、数据路由与转发、记账人选举与账本维护等规则集合,对分布式账本技术通证经济的奖励模型设计,系统的交易处理能力,稳定性与扩展性具有决定性的影响。随着分布式账本技术的发展,越来越多的共识协议被提出,这里对主流共识协议进行简单分类,如表1所示:表1.共识协议分类每种共识协议都是基于不同问题解决的角度和理论依据提出来的,因而具备自身的特点和缺点。现有技术中没有关于现有以及不断涌现的种类繁多的共识协议背后的本质分析,也没有抽象出一套统一的共识协议框架。因此无法通过定义不同的规则集合将现有和未来的共识协议进行统一,通过参数的定义决定使用具体的共识协议的实现,以实现一种可插拔的统一的共识协议框架,也就没有根据框架建立的共识协议,无法形成统一的解决问题的角度。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种本专利技术提出一种可插拔共识协议框架模型、共识协议及其实本文档来自技高网...

【技术保护点】
1.一种可插拔的共识协议框架模型,其特征在于:包括三部分,分别为:成员管理,角色管理和共识管理,三个部分形成的一个循环称为一轮,一轮就是一次共识协议运行的完整过程,通过所述三个部分,决议在一轮中达成明确的结果,即通过或者不通过,一旦达成所述明确的结果,所述框架模型再次运行成员管理,开始新的一轮共识过程,所述三个部分均支持参数配置定义策略,通过不同的参数配置,实现不同的共识协议。

【技术特征摘要】
1.一种可插拔的共识协议框架模型,其特征在于:包括三部分,分别为:成员管理,角色管理和共识管理,三个部分形成的一个循环称为一轮,一轮就是一次共识协议运行的完整过程,通过所述三个部分,决议在一轮中达成明确的结果,即通过或者不通过,一旦达成所述明确的结果,所述框架模型再次运行成员管理,开始新的一轮共识过程,所述三个部分均支持参数配置定义策略,通过不同的参数配置,实现不同的共识协议。2.根据权利要求1所述的一种可插拔的共识协议框架模型,其特征在于:所述成员管理负责每一轮参与成员节点的管理,包括:节点的加入和退出,节点成员列表,对于成员的管理通过定义不同的参数字段实现不同的策略,所述策略包括但不限于:Solo策略以及DPOS策略,定义所述Solo策略,则管理节点成员中仅存在当前节点;定义所述DPOS策略,则管理节点从系统合约获取节点成员。3.根据权利要求1所述的一种可插拔的共识协议框架模型,其特征在于:所述角色管理负责每一轮成员节点角色的管理,包括但不限于:角色分配,更改角色;所述角色管理包括:首先定义当前轮中存在什么角色列表;接着根据角色分配策略对当前成员进行角色分配,最后定义各类角色的奖惩机制,即各个成员根据角色定义执行任务获得的奖励,如果执行失败或者执行过程中出现作恶的情形,如何进行惩罚,所述角色管理的所述角色列表,角色分配策略以及奖惩机制均可通过参数配置进行定义。4.根据权利要求1所述的一种可插拔的共识协议框架模型,其特征在于:所述共识管理负责每一轮节点之间如何就一个或多个提议达成共识,即共识算法,所述共识算法与所述角色管理强相关,即所述角色管理中角色的定义来自于所述共识管理所提供的共识算法;所述共识管理中定义的共识算法规定了不同角色之间交互的行为,即通信协议。5.一种基于权利要求1-4任一所述可插拔的共识协议框架模型建立的共识协议FBFT(FastByzantineFaultTolerance),包括:所述共识协议的所述成员管理定义为:委托投票,即节点间通过委托的方式投票竞选进入成员列表,成员列表在每一轮共识协议执行过程均更新一次,以当时的投票情况为准,并且按序排列;所述角色管理首先定义两类角色,即锻造者和见证者,锻造者用于搜集交易和锻造区块,见证者用于对区块进行验证和签名,见证区块的产生,角色分配规则根据块高与成员个数的关系确定锻造者,每一轮仅存在一名锻造者,其余节点为见证者;所述共识管理定义简化的拜占庭协议作为共识算法,即由锻造者发起提议,该提议附带锻造者的签名,随后锻造者将提议广播给所有见证者,见证者收到提议后,将提议保存本地的临时队列中,并独立对提议进行验证,验证通过后添加自己的签名,将签名和提议的摘要返回给锻造者,如果未通过验证,则不给锻造者返回任何消息,仅保存提议,当锻造者收不少于三分之二的回复后,锻造者将搜集所有回复的签名,然后附带提议的摘要,哈希和签名集合给所有见证者,见证者收到消息后确认签名个数不少于成员个数的三分之二,则将该提议所包含的块加签名集合写入数据库;至此,一轮共识协议结束,系统紧接着进入下一轮,如此进行下去。6.根据权利要求5所述的一种共识协议FBFT(FastByzantineFaultTolerance),其特征在于:所述见证者和锻造者启用定时器避免锻造者造假或意外离线以及见证者超时未回复。7.根据权利要求5所述的一种共识协议FBFT(FastByzantineFaultTolerance),其特征在于:所述共识协议FBFT的入口为成员管理,从成员管理获取节点成员列表,随后根据角色管理管理定义的角色类型...

【专利技术属性】
技术研发人员:樊云龙赵祯龙荆帅帅白文腾刘康孟庆龙
申请(专利权)人:北京世纪诚链科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1