基于信誉的PBFT共识系统及方法、区块链数据处理系统技术方案

技术编号:21142602 阅读:20 留言:0更新日期:2019-05-18 05:35
本发明专利技术属于区块链技术领域,公开了一种基于信誉的PBFT共识系统及方法、区块链数据处理系统;设计一个轻量级的信誉评估模型,基于节点重要性和服务反馈来计算节点的混合信誉值;选举信誉值高于阈值的一部分节点作为经典实用拜占庭容错共识机制的参与者;在参与者中运行PBFT共识机制,基于新的leader选举和交易验证方法达成共识,并广播共识结果。由于经典PBFT共识机制可扩展性受限,故本发明专利技术达成共识不受网络规模的影响;由于加入了节点信誉评估和参与者选举方法,故本发明专利技术具有比经典PBFT更高的安全性;由于计算所得的节点信誉可以指导下一次交易,故本发明专利技术评估节点信誉的算力是有效算力。

【技术实现步骤摘要】
基于信誉的PBFT共识系统及方法、区块链数据处理系统
本专利技术属于区块链
,尤其涉及一种基于信誉的PBFT(拜占庭容错PracticalByzantineFaultTolerance,PBFT)共识系统及方法、区块链数据处理系统。
技术介绍
目前,业内常用的现有技术是这样的:区块链是一种分布式共享账本,以其去中心化、不可篡改性等特性,成为业界的研究热点。区块链技术是一系列技术组合的产物,包括P2P网络技术、共识机制、密码学技术、智能合约等,其中共识机制被称为区块链的灵魂。区块链中的共识机制是指根据最新产生的交易集形成的区块的一致性,一组参与者更新区块链系统整体状态。现在已经有大量的共识机制被提出和使用。工作量证明机制(ProofofWork,PoW)广泛用于Bitcoin加密货币中,参与者通过算力竞争来获取记账权,达成共识和广播区块;然而PoW每个参与者都参与算力竞争,浪费了大量的算力,不适用于大规模和资源有限的联盟链。权益证明机制(ProofofStake,PoS)部分应用于以太坊区块链平台中,根据参与者持有的币龄不同相应地降低竞争难度,通过算力竞争来获取记账权,达成共识和广播区块;虽然PoS降低了竞争难度,但参与者竞争依旧浪费了大量的算力,也不适用于大规模和资源有限的联盟链。此外,PoW和PoS都不适用于节点具有身份的联盟链。实用拜占庭容错(PracticalByzantineFaultTolerance,PBFT)共识机制应用于HyperladgerFabricv0.6中,参与者通过多次验证和认证消息传递来达成共识,随后广播区块;但参与者共识过程传递消息的复杂度是O(n^2)且参与者中只能容忍不超过1/3的拜占庭对手,极大地限制了区块链网络的规模且容易造成共识失败,同样不适用于大规模和资源有限的联盟链。为了克服经典PBFT的不足,业界已经提出了一些改进方案。Tendermint提出将联盟链中节点身份赋予不同的权重,在共识过程中,只需要一致性节点的权重值之和达到一定的阈值即可达成共识;但这种方法依旧默认所有节点都参与共识,没有从根本上解决高消息复杂度问题。XFT机制基于拜占庭对手很难同时控制整个网络的假设,提出了狡猾的消息模型,能够提高参与者中容忍的拜占庭对手的比例。综上所述,现有技术存在的问题是:目前联盟链网络规模受限、容错率低,容易造成大规模和资源有限联盟链的共识失败。解决上述技术问题的难度和意义:针对经典PBFT公式机制,如何在大量节点之间快速地完成全网状态共识是BFT类共识机制用于大规模和资源有限联盟链的最大技术难题之一。本专利技术设计了一种基于信誉的PBFT共识系统和方法,其难点在于P2P节点信誉如何分布式计算和评估、如何保证节点信誉值可靠可信、如何抵制恶意节点影响信誉值的动态行为策略、如何选举适当数量的节点参与PBFT共识。随着区块链3.0时代的到来,“区块链+”成为区块链技术新的发展方向,区块链去中心化、防篡改、可追溯等特性使其具有良好的应用潜力和前景。基于信誉的PBFT共识系统及方法可以用于大规模和资源有限联盟链,促进区块链项目真正落地。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种基于信誉的PBFT共识系统及方法、区块链数据处理系统。本专利技术是这样实现的,一种基于信誉的PBFT共识方法,所述基于信誉的PBFT共识系方法包括:第一步,设计一个轻量级的信誉评估模型,基于节点重要性和交易满意度反馈来计算节点的混合信誉值;第二步,选举信誉值高于阈值的一部分节点作为经典PBFT共识机制的参与者;第三步,在参与者中运行PBFT共识机制,基于新的leader选举和交易验证方法达成共识,并广播共识结果。进一步,在周期t计算节点临时的混合信誉值公式如下:其中,RA(t)表示在周期t节点A临时的混合信誉值,表示在周期t第i个信誉计算参数,其中i=1,2,...,m且wi表示第i个信誉计算参数的权重,其中i=1,2,...,m且w1+w2+…+wm=1。进一步,在周期t计算节点最终的混合信誉值公式如下:其中,表示在周期t节点A最终的混合信誉值;当在周期t计算的节点临时的混合信誉值小于在周期t-1计算的节点临时的混合信誉值时,在周期t节点最终的混合信誉值是两者的算术平均数;当在周期t计算的节点临时的混合信誉值不小于在周期t-1计算的节点临时的混合信誉值时,在周期t节点最终的混合信誉值是两者在整个时间周期内的加权平均数。进一步,计算节点在周期t内发起的交易所收到的满意度评分的计算公式如下:其中,表示节点A在周期t内发起的交易所收到的满意度的加权平均数,和分别表示SA,i(t)的权重,NA(t)表示节点A在周期t内发起的交易总数;SA,i(t)表示节点A在周期t内发起的第i个交易所收到的满意度评分,SA,i(t)∈[0,1];表示提供第i个交易的满意度评分的节点在周期t-1的信誉,表示节点A在周期t内发起的第i个交易的交易金额占所有交易的总交易金额的比例。进一步,根据上一个周期选举的参与者数量自动调整阈值的大小,满足参与者选举的需求,系统生成阈值的公式如下:其中,rT(t)表示在周期t系统产生的阈值,Ravg(t-1)表示在周期t-1内选举出来的参与者中信誉的中间数,Rlow(t-1)表示在周期t-1内选举出来的参与者中信誉的最小值,R2low(t-1)表示在周期t-1内选举出来的参与者中信誉的第二小值,Np(t-1)表示在周期t-1内选举出来的参与者的数量。进一步,共识过程分为三个流程,包括:pre-prepare:leader将交易列表发送给所有参与者;prepare:参与者模拟执行交易列表并将执行结果摘要广播给其他参与者;commit:参与者收到其他节点的执行结果摘要并验证,如果大多数摘要与自己的一致,则广播COMMIT消息给其他参与者;如果没有大多数摘要与自己的一致,则不进行任何操作。进一步,在一个周期内,每生成一个区块都会在参与者中重新选举leader来生成下一个区块,具体来说,每个周期生成的第一个区块的leader是所有参与者中信誉值最高的节点,生成第i个区块的leader是由第i-1个leader随机产生并随区块广播给所有参与者的,随机产生是伪随机数发生器Random执行的;参与者收到leader发送的交易列表后,验证发送交易列表的leader的数字签名与上一个周期末收到的新的leader的身份标识是否一致,若一致则继续执行经典PBFT共识机制,若不一致,则不进行任何操作。本专利技术的另一目的在于提供一种实现所述基于信誉的PBFT共识方法的基于信誉的PBFT共识系统,所述基于信誉的PBFT共识系统包括用于大规模和资源有限的联盟链,联盟链具体包括:一个注册机构,只用于联盟链节点注册,包括创建节点账户,分配唯一的密钥对标识账户和分配节点身份标识,所述的身份标识代表节点在联盟链中的重要性;若干节点,用于产生和广播交易和交易满意度反馈。进一步,所述节点内部具有支持共识机制的模块,包括:交易产生模块,用于产生交易,交易通常包括接收方的账户地址、交易细节、发送方的数字签名、时间戳内容;网络模块,用于发送和接收消息以及建立参与者路由表,消息包括交易细节消息、用于节点信誉计算的消息、交易列表消息本文档来自技高网
...

【技术保护点】
1.一种基于信誉的PBFT共识方法,其特征在于,所述基于信誉的PBFT共识系方法包括:第一步,设计一个轻量级的信誉评估模型,基于节点重要性和交易满意度反馈来计算节点的混合信誉值;第二步,选举信誉值高于阈值的一部分节点作为经典PBFT共识机制的参与者;第三步,在参与者中运行PBFT共识机制,基于新的leader选举和交易验证方法达成共识,并广播共识结果。

【技术特征摘要】
1.一种基于信誉的PBFT共识方法,其特征在于,所述基于信誉的PBFT共识系方法包括:第一步,设计一个轻量级的信誉评估模型,基于节点重要性和交易满意度反馈来计算节点的混合信誉值;第二步,选举信誉值高于阈值的一部分节点作为经典PBFT共识机制的参与者;第三步,在参与者中运行PBFT共识机制,基于新的leader选举和交易验证方法达成共识,并广播共识结果。2.如权利要求1所述的基于信誉的PBFT共识方法,其特征在于,在周期t计算节点临时的混合信誉值公式如下:其中,RA(t)表示在周期t节点A临时的混合信誉值,表示在周期t第i个信誉计算参数,其中i=1,2,...,m且wi表示第i个信誉计算参数的权重,其中i=1,2,...,m且w1+w2+…+wm=1。3.如权利要求1所述的基于信誉的PBFT共识方法,其特征在于,在周期t计算节点最终的混合信誉值公式如下:其中,表示在周期t节点A最终的混合信誉值;当在周期t计算的节点临时的混合信誉值小于在周期t-1计算的节点临时的混合信誉值时,在周期t节点最终的混合信誉值是两者的算术平均数;当在周期t计算的节点临时的混合信誉值不小于在周期t-1计算的节点临时的混合信誉值时,在周期t节点最终的混合信誉值是两者在整个时间周期内的加权平均数。4.如权利要求1所述的基于信誉的PBFT共识方法,其特征在于,计算节点在周期t内发起的交易所收到的满意度评分的计算公式如下:其中,表示节点A在周期t内发起的交易所收到的满意度的加权平均数,和分别表示SA,i(t)的权重,NA(t)表示节点A在周期t内发起的交易总数;SA,i(t)表示节点A在周期t内发起的第i个交易所收到的满意度评分,SA,i(t)∈[0,1];表示提供第i个交易的满意度评分的节点在周期t-1的信誉,表示节点A在周期t内发起的第i个交易的交易金额占所有交易的总交易金额的比例。5.如权利要求1所述的基于信誉的PBFT共识方法,其特征在于,根据上一个周期选举的参与者数量自动调整阈值的大小,满足参与者选举的需求,系统生成阈值的公式如下:其中,rT(t)表示在周期t系统产生的阈值,Ravg(t-1)表示在周期t-1内选举出来的参与者中信誉的中间数,Rlow(t-1)表示在周期t-1内选举出来的参与者中信誉的最小值,R2low(t-1)表示在周期t-1内选举出来的参与者中信誉的第二小值,Np(t-1)表示在周期t-1内选举出来的参与者的数量。6.如权利要求1所述的基于信誉的PBFT共识方法,其特征在于,共识过程分为三个流程,包括:pre-prepare:leader将交易列表发送给所有参...

【专利技术属性】
技术研发人员:沈玉龙佟威姜晓鸿董学文郑佳伟马诗洋刘启航赵六顺杨凌霄
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

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

1