[发明专利]基于可信性评估的区块链共识方法有效
| 申请号: | 201910166471.2 | 申请日: | 2019-03-06 |
| 公开(公告)号: | CN109949034B | 公开(公告)日: | 2022-09-20 |
| 发明(设计)人: | 王冠;张文月;陈建中;周珺 | 申请(专利权)人: | 北京工业大学 |
| 主分类号: | G06Q20/38 | 分类号: | G06Q20/38;G06Q20/06;H04L9/06;H04L9/32 |
| 代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 刘萍 |
| 地址: | 100124 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明涉及基于可信性评估的区块链共识方法。本方法采用基于信任值的加权投票共识,按照信任值排名动态随机组成共识组。每个共识组的成员都有与其信任值成正比的投票权重,而信任值由长时间累计的综合表现决定。所以,只有诚实的节点,表现长时间的正常并且有规律,才可能成为共识组的一员。共识组中会有一矿工被随机选中成为领导者,领导者可以产生微块对交易进行打包,其它节点对微块进行共识,一轮工作结束。本方法有三大改进:第一,发明一种新型的领导者和共识组的创建方法,保证选择的随机性和公平行。第二,基于长时间累计的综合表现所创建的信任值计算方式。第三,创造了一种基于改进的raft的共识算法,可以扩大吞吐量。 | ||
| 搜索关键词: | 基于 可信性 评估 区块 共识 方法 | ||
【主权项】:
1.一种基于可信性评估的区块链共识协议,其特点在于包括以下步骤:步骤1:计算内部信任值;步骤1.1:计算由一个矿工在区块链中的所有时期创建的密钥块的平均值meank;如公式(1)所示,其中Ki表示在第i个大块中矿工创造的密钥块数量,L表示当前区块链的长度;
步骤1.2:计算由一个领导者在区块链中的所有时期创建的微块的平均meanm;如公式(2)所示,其中mj表示在第j轮矿工所生产的微块被验证成功的数量;m表示一个领导者被预定的生成的微块数;N表示矿工被选为领导者的次数;
步骤1.3:计算sk即meank的标准差;如公式(3)所示,其中c表示大块的大小,大块中包含系统预先定义数量的键块;t表示
(向上取整)是长度为L的区块链中包含的大块数量;
步骤1.4:计算sm即meanm的标准差;如公式(4)所示,其中N表示矿工被选为领导者的次数,mj表示在第j轮矿工所生产的微块被验证成功的数量;m表示一个领导者被预定的生成的微块数;
步骤1.5:计算矿工定期为系统贡献算力的能力y1;如公式(5)所示,分子meank表示矿工生成的固定密钥块的百分比,表示矿工为整个系统贡献的有效工作的分数;在分母中sk是矿工生成的固定键块的标准偏差,表示矿工对每个块的贡献的规律性;它们共同保证了矿工的信任值是根据矿工的综合能力计算出来的;
步骤1.6:计算领导者在选择微块时提交定义数量的微块的“规律性”y2;如果N>=1,即此矿工当过领导者,那么如公式(6)所示,分母meanm表示生成的微块的百分比,在分母中sm是矿工生成的固定微块的标准差,表示矿工对每个块的贡献的规律性;如果N<1,那么y2为1,如公式(7)所示;
y2=1 (7)步骤1.7:计算矿工的综合能力x;如公式(8)所示,其中y1表示矿工定期为系统贡献算力的能力,y2表示领导者在选择微块时提交定义数量的微块的“规律性”,L为区块链总长度;x=y1y2L (8)步骤1.8:计算根据时间要求控制信任增长的趋势f(x);f(x)的公式是一个sigmoid函数;如公式(9)所示,其中,α,λ为系统参数,x为综合实力;α=10000,λ=50000;
步骤2:计算外部信任值,外部信任值表示为目标矿工在进行历史交易中的信任情况,取值为[0,1],信任值为1表示对目标矿工完全信任,信任值为0表示目标矿工为恶意矿工,信任值为0.5则表示对目标矿工的信任度没有把握;步骤2.1:本方法使用三元组T={b,d,u}来描述矿工的信任评价;b、d、u分别代表对目标矿工的信任程度,不信任程度和不确定程度;三者满足的关系如公式(11)所示:b+d+u=1,{b,d,u}∈[0,1] (11)步骤2.2:计算调控因子调控网络中的不确定因素wc;如公式(12)所示,在一轮交易时间内,目标矿工的交易数量为E,如果交易对方对交易有异议则会发送发警告消息给目标矿工,又称否定事件,否定事件数量为s,肯定事件r,s和r都必须小于E;
步骤2.3:计算b、d、u;如公式(13)(14)(15)所示,其中p表示对矿工否定事件的惩罚因子,取值为[1,4],r为肯定事件数量,s为否定事件数量,wc是于步骤2.2计算出的调控因子调控网络中的不确定因素的值;![]()
![]()
步骤2.4:计算外部信任值Ext;如公式(16)所示,其中p表示对矿工否定事件的惩罚因子,取值为[1,4],r为肯定事件数量,s为否定事件数量,u为不确定程度;
步骤3:计算整体信任值R;如公式(17)所示,其中f(x)表示内部信任值,Ext表示外部信任值,β控制内部信任值和外部信任值的比重;β取值范围(0,0.1];R=min(1,f(x)+β(Ext‑0.5)) (17)第二部分选取领导者;步骤4:根据信任值排序,随机选择分数大于中位数的矿工进入共识组;如公式(18)所示,其中SK为该矿工的私钥,INFO为当时的数学难题的Nonce随机数,result为哈希值,按哈希值最小的顺序选入共识组;result=VRF_hash(SK,INFO) (18)步骤5:通过工作量证明挖掘密钥块的矿工根据以下方法选取领导者;如公式(19)所示,其中X为共识组成员个数,reuslt为挖到密钥块的矿工根据VRF随机函数得到的哈希值,在共识组中第g个成员成为领导者;g=result mod|X| (19)第三部分,基于RAFT的共识认证;步骤6:领导者发送微块给共识组;步骤7:共识组依次对微块进行验证,如果成功则签署自己的签名;步骤8:共识组发送微块给领导者;步骤9:领导者根据收到的微块,计算此微块是否达到共识条件,即参与签名的共识成员超过一半;且其信任值值为总共识成员信任值和的2/3或者以上;步骤10:如果通过共识认证,领导者广播成功的微块和成功消息给共识组,否则广播微块和失败消息;一轮认证结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910166471.2/,转载请声明来源钻瓜专利网。





