一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于预验证和信誉管理的区块链性能优化方法

2022-05-06 05:02:46 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,特别是涉及一种基于预验证和信誉管理的区块链性能优化方法。


背景技术:

2.区块链的提供的去中心化,不可篡改等优势为加密货币,版权交易,去中心化金融,分布式存储等领域提供了有前景的解决方案,并逐步成为万物互联时代的重要基础设施。
3.但随着去中心化应用的爆发增长,较低的交易确认速度成为区块链大范围落地的制约,尤其体现在货币,数据和版权交易中。现在主流的区块链开源项目的交易确认速度分别为 7tps和15tps,而中心化的交易系统比如visa可以达到4ktps,alipay可以达到256ktps,但中心化的系统同时也存在存储数据垄断,数据篡改的问题。在保证区块链系统去中心化的前提下,对区块链系统进行扩容成为区块链领域的研究热点。


技术实现要素:

4.本发明的目的是为了克服现有技术中的不足,在保证一定的去中心化前提下对区块链性能进行优化,提出了一种基于预验证和信誉管理的区块链性能优化方法,通过信誉管理选出更可靠的预验证群体,通过预验证群体来代替全网进行共识,缩短区块的验证时间,提高系统的吞吐量。
5.本发明的目的是通过以下技术方案实现的:
6.一种基于预验证和信誉管理的区块链性能优化方法,包括预验证和信誉管理两部分,其中预验证部分包括以下步骤:
7.步骤1,预验证群体通过基于bls聚合签名的预验证共识完成对区块的预验证;
8.步骤2,全网节点判断预验证群体的信誉值,当信誉值达到可信阈值q时,全网节点将用预验证群体的共识来代替全网的共识,即相信预验证群体给出的预验证聚合意见,区块无需被全网验证,只需要通过预验证群体的验证;
9.信誉管理部分包括以下步骤:
10.步骤3,根据预验证群体给出的预验证聚合意见,通过信誉计算机制计算预验证节点的信誉值;
11.步骤4,根据信誉计算的结果通过迭代机制淘汰掉预验证群体中的信誉值低于零的节点,并从预验证节点池中选入新节点加入到预验证群体中;
12.步骤5,预验证群体每完成一个迭代周期的预验证任务,通过激励机制对预验证节点进行激励。
13.进一步的,步骤1包括以下步骤:
14.(101)区块的打包节点向预验证群体中的节点广播一条请求消息《request,block,sign》 用于传送区块内容和通知新一轮共识的开始,其中消息里的“request”代表
这是一条请求消息,block是需要被预验证群体验证的区块内容,sign是对该条请求消息的签名;
15.(102)选举leader节点,通过随机数生成器生成[0,m)的随机数nonce,预验证群体中节点的序号为nonce的节点成为leader节点;
[0016]
(103)每个预验证节点在收到请求消息后,即对区块的正确性进行验证,生成预验证意见后发送给leader节点;
[0017]
(104)leader节点在收到请求消息后开始计时一段时间t1,在t1时间内收集到的有效签名将通过bls聚合签名方法被聚合,超过t1时间后将不再接收,收到签名后,全网节点首先对预验证意见进行验证,验证通过后进行聚合;
[0018]
(105)leader节点将签名聚合完成后将聚合签名发送给所有预验证节点,预验证节点收到后把区块和聚合意见打包在一起一同广播到全网;当leader节点宕机没有在t2时间内完成签名聚合时,转入步骤(102)重新选举leader节点。
[0019]
进一步的,步骤2包括以下步骤:
[0020]
(201)节点收到区块和预验证群体对区块的预验证聚合意见后,首先验证预验证聚合意见并计算预验证群体的信誉值;
[0021]
(202)如果当前预验证群体信誉值大于可信阈值q,则相信预验证群体的聚合意见,如果预验证群体认为是正确则将区块加入到自己的区块链上,如果认为是错误则拒绝该区块,不再对区块进行验证;如果当前预验证群体信誉值小于可信阈值q,则继续对区块进行验证。
[0022]
进一步的,步骤3包括以下步骤:
[0023]
(301)节点a在打包区块b的时候,会将若干条对照意见《预验证聚合意见,节点a的意见》加入到区块中,一条对照意见包括两部分:一部分是预验证聚合意见,即预验证节点对区块b的参考区块的评价;一部分是节点a对区块b的参考区块的评价,评价分两种,支持和反对;节点a在打包区块b期间收到的其他节点转发的区块和区块b的父区块称为区块b 的参考区块;
[0024]
(302)对照意见会随着区块b广播到全网,如果区块b出现在主链上,即说明区块b 被全网节点认可,也即代表节点a做出的对照意见被全网认可;与节点a做出一致预验证意见的预验证节点的信誉值将提升,反之下降;
[0025]
(303)设预验证群体的迭代周期为t,即每完成对t个区块的预验证,就根据这t个区块中包含的对照意见对预验证群体的信誉值进行计算并进行迭代。
[0026]
进一步的,步骤4包括以下步骤:
[0027]
(401)在区块链系统初始化时会在全网随机选取或者通过节点推举的形式选出第一代预验证群体,之后每打包t个区块就会触发预验证群体的迭代;
[0028]
(402)将信誉值小于零的预验证节点从预验证群体中淘汰,通过随机数生成器产生随机数,用于在预验证节点池中随机选入新的预验证节点;预验证节点池定义为主链上每个区块的打包节点,成功的次数越多,对区块链系统贡献越大,则选中的可能性越高;
[0029]
(403)将新一代预验证群体列表和淘汰节点的列表加入到区块中,并全网广播向全网公示。
[0030]
进一步的,步骤5包括以下步骤:
[0031]
(501)交易在发起时,会将一部分手续费先转向激励合约的地址作为预验证收益,该智能合约管理预验证节点的收益,预验证收益将分两部分给预验证节点,分为基础收益和信誉收益,两者各占一半;
[0032]
(502)根据当下周期预验证节点的信誉变化情况计算基础收益和信誉收益;
[0033]
(503)在下一周期结束时,将预验证收益通过智能合约发放给预验证节点。
[0034]
与现有技术相比,本发明的技术方案所带来的有益效果是:
[0035]
1.本发明与dpos和byzcoin相比,dpos中的见证人团体是投票选出,byzcoin中的开放共识组是通过算力竞争选出,而本发明中的预验证团体是通过信誉管理选举出来的,是去中心节点自治的结果,比dpos的见证任团体和byzcoin中的局部共识组更能代表全网共识,可以促进区块链系统的积极发展。
[0036]
2.本发明与repchain信誉管理方案相比,预验证团体的信誉评估过程和迭代过程都与区块链系统中区块的打包结合在一起,实现了去中心化场景下的节点信誉管理,可以有效保障信誉值和迭代结果不被篡改,提高了系统的安全性。
[0037]
3.本发明与pow相比,通过选举预验证群体,用预验证共识来代替全网共识,在保证安全性和去中心化的前提下较大的提高了系统的吞吐量,并且可以有效抵抗双花攻击,女巫攻击,串谋攻击等网络攻击,为去中心化应用的大范围落地解决了关键的吞吐量问题和安全问题。
附图说明
[0038]
图1为预验证流程示意图。
[0039]
图2为信誉管理流程示意图。
具体实施方式
[0040]
以下结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0041]
本发明提供一种基于预验证和信誉管理的区块链性能优化方法,包括预验证和信誉管理两部分,其中信誉管理包括:预验证群体的信誉计算机制,迭代机制,激励机制三部分。
[0042]
其中预验证包括如下步骤1~2,见图1:
[0043]
步骤1:预验证群体通过基于bls聚合签名的预验证共识完成对区块的预验证,具体过程为:
[0044]
(101)区块的打包节点向预验证群体中的节点广播一条请求消息《request,block,sign》 用于传送区块内容和通知新一轮共识的开始,其中消息里的“request”代表这是一条请求消息,block是需要被预验证群体验证的区块内容,sign是对这条请求消息的签名;
[0045]
(102)选举leader节点,这个阶段不需要节点间通信。leader节点的选举形式与选举新预验证节点类似,通过随机数生成器生成[0,m)的随机数nonce,预验证群体中节点的序号为nonce的节点成为leader节点;
[0046]
(103)每个预验证节点在收到请求消息后,即对区块的正确性进行验证,生成预验
证意见后发送给leader节点;
[0047]
(104)leader节点在收到请求消息后开始计时一段时间t1,在t1时间内收集到的有效签名将通过bls聚合签名方法被聚合,超过t1时间后将不再接收,收到签名后,节点首先对预验证意见进行验证,验证通过后进行聚合;
[0048]
(105)leader节点将签名聚合完成后将聚合签名发送给所有预验证节点,预验证节点收到后把区块和聚合意见打包在一起一同广播到全网;当leader节点宕机没有在t2时间内完成签名聚合时,转入步骤s2重新选举leader节点;
[0049]
步骤2:全网节点判断预验证群体的信誉值,当信誉值达到较高水平时,全网节点将用预验证群体的共识来代替全网的共识,区块不需要被全网验证,只需要通过预验证群体的验证,具体包括:
[0050]
(201)节点收到区块和预验证群体对区块的预验证聚合意见后,首先验证预验证聚合意见并计算预验证群体的信誉值。
[0051]
(202)如果当前预验证群体信誉值大于可信阈值q,则相信预验证群体的聚合意见,如果预验证群体认为是正确则将区块加入到自己的区块链上,如果认为是错误则拒绝该区块,不再对区块进行验证。如果当前预验证群体信誉值小于可信阈值q,则继续对区块进行验证
[0052]
其中信誉管理包括如下步骤3~5,见图2:
[0053]
步骤3:根据预验证群体给出的预验证聚合意见,通过信誉计算机制计算预验证节点的信誉值,具体包括:
[0054]
(301)节点a在打包区块b的时候,会将若干条对照意见《预验证聚合意见,节点a的意见》加入到区块中,一条对照意见包括两部分:一部分是预验证聚合意见,即预验证节点对区块b的参考区块的评价;一部分是节点a对区块b的参考区块的评价,评价分两种,支持和反对。节点a在打包区块b期间收到的其他节点转发的区块和区块b的父区块称为区块b 的参考区块。
[0055]
(302)对照意见会随着区块b广播到全网,如果区块b出现在主链上,即说明区块b 被全网节点认可,也即代表节点a做出的对照意见被全网认可。与节点a做出一致预验证意见的预验证节点的信誉值将提升,反之下降。
[0056]
(303)设预验证群体的迭代周期为t,即每完成对t个区块的预验证,就根据这t个区块中包含的对照意见对预验证群体的信誉值进行计算并进行迭代。
[0057]
步骤4:根据信誉计算的结果通过迭代机制淘汰掉预验证群体中的信誉值低于零的节点,并从预验证节点池中选入新节点加入到预验证群体中,具体包括:
[0058]
(401)在区块链初始化时会在全网随机选取或者通过节点推举的形式选出第一代预验证群体,之后每打包t个区块就会触发预验证群体的迭代。
[0059]
(402)将信誉值小于零的预验证节点从预验证群体中淘汰,通过随机数生成器产生随机数,用于在预验证节点池中随机选入新的预验证节点。预验证节点池定义为主链上每个区块的打包节点,成功的次数越多,对系统贡献越大,则选中的可能性越高。
[0060]
(403)将新一代预验证群体列表和淘汰节点的列表加入到区块中,并全网广播向全网公示。
[0061]
步骤5:预验证群体每完成一个迭代周期的预验证任务,通过激励机制对预验证节
点进行激励,具体包括:
[0062]
(501)交易在发起时,会将一部分手续费先转向激励合约的地址作为预验证收益,该智能合约管理预验证节点的收益,预验证收益将分两部分给预验证节点,分为基础收益和信誉收益,两者各占一半。
[0063]
(502)根据该周期预验证节点的信誉变化情况计算基础收益和信誉收益。
[0064]
(503)在下一周期结束时,将预验证收益通过智能合约发放给预验证节点。
[0065]
本发明并不限于上文描述的实施方式。以上对具体实施方式的描述旨在描述和说明本发明的技术方案,上述的具体实施方式仅仅是示意性的,并不是限制性的。在不脱离本发明宗旨和权利要求所保护的范围情况下,本领域的普通技术人员在本发明的启示下还可做出很多形式的具体变换,这些均属于本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献