面向复杂数字资产的多阶段PBFT共识系统及方法技术方案

技术编号:18116135 阅读:61 留言:0更新日期:2018-06-03 08:46
本发明专利技术提供了一种面向复杂数字资产的多阶段PBFT共识系统及方法,其中,面向复杂数字资产的多阶段PBFT共识系统,包括:交易检验器,在Commit阶段完成与交易相关的一致性、安全性校验;主节点自检器,在ViewChange消息处理过程中进行处理;交易批量共识器,负责将多笔交易批量处理;View轮转器,用于完成在ViewChange协议过程中的主节点的选择、新一轮view的更新以及记录上一个view信息确保新view的延续;共识消息处理器,通过不同阶段的共识过程实现消息在全局的一致性;区块构建器,能够完成与区块相关的交易提交、排序以及区块的构建、区块校验、区块防分叉保证等操作。

【技术实现步骤摘要】
面向复杂数字资产的多阶段PBFT共识系统及方法
本专利技术涉及区块链
,具体而言涉及一种面向复杂数字资产的多阶段PBFT共识系统及方法。
技术介绍
数字资产是以电子数据形式存在的各种资产,如数字货币、数字音乐等。目前数字资产管理平台如电子商务平台、物流平台等,采用单一中心化机制,所有数据(数字资产)和相关服务均集中在单一中心化平台上。由于数字资产管理平台是中心化运行的,一旦中心化服务器出现问题,就会对整个市场灾难性的后果,同时增加数据的维护成本。当单一中心化平台遭受攻击或者平台内部人员私自篡改数据时,由于数据只保存在单一中心化平台上,不与其他平台进行数据交叉验证,被篡改的数据也会被作为真实数据,故单一中心化平台提供的数据的可信性难以保证。区块链具有不可篡改、全网共享数据等特性,可保证数据不可篡改,实现数据高可信,故可基于区块链重构高可信的数字资产交易环境。共识机制保障了区块链技术在分布式场景下能够达成一致性,并且使用去中心化的思想解决节点之间的信任问题,使众多节点达到一种较为平衡的状态。在传统的比特币等货币型区块链的共识方法大多存在浪费能源、效率低下、无法达到最终一致性等问题,PoW工作量证明机制依赖机器算力来获得记账权,资源消耗巨大;PoS权益证明机制根据节点所占代币的比例进而相应比例地降低挖矿难度,从而获得记账权,其方法在一定程度上缩短了共识的时间,但是本质上仍需要挖矿。DpoS与PoS原理相同,DpoS通过持币者持币比例确定投票影响力,持币者投票选举出一定数量的节点,由选举出的代理节点完成验证和记账,该方法极大减少了验证和记账节点的数量,但是整个共识机制依赖于代币。Fabric使用的拜占庭容错算法(PBFT:PracticalByzantineFaultTolerance)提供了(n-1)/3的容错性,该容错算法将共识阶段分为Request、Pre-prepare、Prepare、Commit、Reply五个阶段,实现了基于余额的交易一致性保证,但是,对于形式多样的数字资产来说,其状态并非一个简单的余额可以表示,为了适应更多种类的数字资产,需要进一步对该算法进行扩充。
技术实现思路
为此,本专利技术的主要目的在于提供一种面向复杂数字资产的多阶段PBFT共识系统及方法,以达到如下目的:解决区块链技术在分布式场景下的高效共识,提供了一种多阶段PBFT共识系统及方法。多阶段PBFT共识系统在PBFT容错算法共识五阶段的基础上加入了交易批量共识器、交易校验器、主节点自检器、区块构建器等部分,完成了多阶段的消息处理和校验处理,实现了消息的高效传输,从而为数字资产状态一致性和数字资产多状态安全转换提供了保障。多阶段PBFT共识系统及方法,实现了更少的错误率,保证了高效的共识流程和健壮的共识结构。为实现上述目的,本专利技术提供如下技术方案:本专利技术的一样态,一种面向复杂数字资产的多阶段PBFT共识系统,包括:交易检验器100,在Commit阶段完成与交易相关的一致性、安全性校验;主节点自检器200,在ViewChange消息处理过程中进行处理;交易批量共识器300,负责将多笔交易批量处理;View轮转器400,用于完成在ViewChange协议过程中的主节点的选择、新一轮view的更新以及记录上一个view信息确保新view的延续;共识消息处理器500,通过不同阶段的共识过程实现消息在全局的一致性;区块构建器600,能够完成与区块相关的交易提交、排序以及区块的构建、区块校验、区块防分叉保证等操作。优选地,所述的面向复杂数字资产的多阶段PBFT共识系统,其中所述交易校验器包括:交易一致性校验部件101,校验交易的最新资产状态、交易时间戳;交易Hash校验部件102,校验构建新交易的内容,保障内容未经篡改。优选地,所述的面向复杂数字资产的多阶段PBFT共识系统,其中所述主节点自检器包括:共识消息超时处理部件,负责判断消息在共识时,是否发生超时现象并且进行处理;主节点超时处理部件,负责判断主节点在进行广播消息时,是否发生超时现象并且进行处理,若发生超时现象,将触发后续的ViewChange协议。优选地,所述的面向复杂数字资产的多阶段PBFT共识系统,其中所述交易批量共识器包括:Request批量封装部件,负责将客户端发送的多条请求进行封装处理;已处理Request检测部件,负责检测发送的请求是否有重复请求情况并且进行重复请求删除处理。优选地,所述的面向复杂数字资产的多阶段PBFT共识系统,其中所述View轮转器包括:主节点选举部件,能够通过轮转的方式选举一个副本节点作为主节点;旧共识消息处理部件,负责记录上一个view信息,处理上一个view还没来得及完全处理好的请求;View更新部件,负责更新新一轮的View,包括处理上一轮view的请求信息和更新时段来的新请求。优选地,所述的面向复杂数字资产的多阶段PBFT共识系统,其中所述共识消息处理器,包括:Request消息处理部件,用于将客户端发送来的请求加上时间戳,为后面的请求处理做准备;Pre-Prepare消息处理部件,使主节点将Pre-Prepare信息广播给副本节点,副本节点对收到的消息进行处理操作;Prepare消息处理部件,使进入prepare阶段的副本节点发送prepare信息给其他所有节点,所有节点综合信息进行消息处理;Commit消息处理部件,使节点广播commit信息给其他所有节点,并且根据收到的消息进行状态判断处理;Block消息处理部件,将节点构建的区块广播给网络中的其他节点;CheckPoint消息处理部件,负责将之前的请求信息删除,使得最后达到一种stableCheckPoint状态;ViewChange消息处理部件,能够根据主节点自检器处理情况,按照一个view一个block的原则进行view的轮转;NewView消息处理部件,能够通过轮转的方式产生新的view,进入下一个view阶段。优选地,所述的面向复杂数字资产的多阶段PBFT共识系统,其中所述区块构建器,包括:共识交易处理部件,按照交易的Nonce值提交完成共识的交易;账户交易排序部件,按照账户编码进行交易排序;区块Hash值生成部件,通过密码学方法计算区块的hash值;OneViewOneBlock部件,按照一个view一个block的生成效率进行区块的构建;区块校验部件,进行区块hash值的正确性验证、主节点签名校验、区块状态校验操作;区块防分叉部件,在每一个view中,只判定一个区块的合法性,从而防止多个区块判定产生的分叉问题。本专利技术的二样态,一种面向复杂数字资产的多阶段PBFT共识方法,其中,根据本专利技术的一样态所述的面向复杂数字资产的多阶段PBFT共识系统的共识消息处理流程为:步骤A01,主节点选举,由View轮转器进行主节点(primary)选举,在一个View里,有一个主节点,其余的副本(replica)都叫做副本节点(backups);步骤A02,主节点批量封装Request,主节点负责将来自客户端的Request批量封装处理;步骤A03,已处理Request检测其正确性,判断是否存在重复提交的Request,若否,进入步骤A05;步骤A04,检测到存在重复的req本文档来自技高网
...
面向复杂数字资产的多阶段PBFT共识系统及方法

【技术保护点】
一种面向复杂数字资产的多阶段PBFT共识系统,其特征在于包括:交易检验器100,在Commit阶段完成与交易相关的一致性、安全性校验;主节点自检器200,在ViewChange消息处理过程中进行处理;交易批量共识器300,负责将多笔交易批量处理;View轮转器400,用于完成在ViewChange协议过程中的主节点的选择、新一轮view的更新以及记录上一个view信息确保新view的延续;共识消息处理器500,通过不同阶段的共识过程实现消息在全局的一致性;区块构建器600,能够完成与区块相关的交易提交、排序以及区块的构建、区块校验、区块防分叉保证等操作。

【技术特征摘要】
1.一种面向复杂数字资产的多阶段PBFT共识系统,其特征在于包括:交易检验器100,在Commit阶段完成与交易相关的一致性、安全性校验;主节点自检器200,在ViewChange消息处理过程中进行处理;交易批量共识器300,负责将多笔交易批量处理;View轮转器400,用于完成在ViewChange协议过程中的主节点的选择、新一轮view的更新以及记录上一个view信息确保新view的延续;共识消息处理器500,通过不同阶段的共识过程实现消息在全局的一致性;区块构建器600,能够完成与区块相关的交易提交、排序以及区块的构建、区块校验、区块防分叉保证等操作。2.根据权利要求1所述的面向复杂数字资产的多阶段PBFT共识系统,其特征在于所述交易校验器包括:交易一致性校验部件101,校验交易的最新资产状态、交易时间戳;交易Hash校验部件102,校验构建新交易的内容,保障内容未经篡改。3.根据权利要求1所述的面向复杂数字资产的多阶段PBFT共识系统,其特征在于所述主节点自检器包括:共识消息超时处理部件,负责判断消息在共识时,是否发生超时现象并且进行处理;主节点超时处理部件,负责判断主节点在进行广播消息时,是否发生超时现象并且进行处理,若发生超时现象,将触发后续的ViewChange协议。4.根据权利要求1所述的面向复杂数字资产的多阶段PBFT共识系统,其特征在于所述交易批量共识器包括:Request批量封装部件,负责将客户端发送的多条请求进行封装处理;已处理Request检测部件,负责检测发送的请求是否有重复请求情况并且进行重复请求删除处理。5.根据权利要求1所述的面向复杂数字资产的多阶段PBFT共识系统,其特征在于所述View轮转器包括:主节点选举部件,能够通过轮转的方式选举一个副本节点作为主节点;旧共识消息处理部件,负责记录上一个view信息,处理上一个view还没来得及完全处理好的请求;View更新部件,负责更新新一轮的View,包括处理上一轮view的请求信息和更新时段来的新请求。6.根据权利要求1所述的面向复杂数字资产的多阶段PBFT共识系统,其特征在于所述共识消息处理器,包括:Request消息处理部件,用于将客户端发送来的请求加上时间戳,为后面的请求处理做准备;Pre-Prepare消息处理部件,使主节点将Pre-Prepare信息广播给副本节点,副本节点对收到的消息进行处理操作;Prepare消息处理部件,使进入prepare阶段的副本节点发送prepare信息给其他所有节点,所有节点综合信息进行消息处理;Commit消息处理部件,使节点广播commit信息给其他所有节点,并且根据收到的消息进行状态判断处理;Block消息处理部件,将节点构建的区块广播给网络中的其他节点;CheckPoint消息处理部件,负责将之前的请求信息删除,使得最后达到一种stableCheckPoint状态;ViewChange消息处理部件,能够根据主节点自检器处理情况,按照一个view一个block的原则进行view的轮转;NewView消息处理部件,能够通过轮转的方式产生新的view,进入下一个view阶段。7.根据权利要求1所述的面向复杂数字资产的多阶段PBFT共识系统,其特征在于所述区块构建器,包括:共识交易处理部件,按照交易的Nonce值提交完成共识的交易;账户交易排序部件,按照账户编码进行交易排序;区块Hash值生成部件,通过密码学方法计算区块的hash值;OneViewOneBlock部件,按照一个view一个block的生成效率进行区块的构建;区块校验部件,进行区块hash值的正确性验证、主节点签名校验、区块状态校验操作;区块防分叉部件,在每一个view中,只判定一个区块的合法性,从而防止多个区块判定产生的分叉问题。8.一种面向复杂数字资产的多阶段PBFT共识方法,其特征在于,根据权利要求1至7的任一项所述的面向复杂数字资产的多阶段PBFT共识系统1000的共识消息处理流程为:步骤A01,主节点选举,由View轮转器进行主节点(primary)选举,在一个View里,有一个主节点,其余的副本(replica)都叫做副本节点(backups);步骤A02,主节点批量封装Request,主节点负责将来自客户端的Request批量封装处理;步骤A03,已处理Request检测其正确性,判断是否存在重复提交的Request,若否,进入步骤A05;步骤A04,检测到存在重复的request,将重复的request删除;步骤...

【专利技术属性】
技术研发人员:郑永清孔兰菊李庆忠肖宗水杨春燕
申请(专利权)人:山大地纬软件股份有限公司
类型:发明
国别省市:山东,37

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

1