[发明专利]一种基于投票与信用机制的POVT共识算法有效
申请号: | 202110031188.6 | 申请日: | 2021-01-11 |
公开(公告)号: | CN112769936B | 公开(公告)日: | 2022-08-16 |
发明(设计)人: | 王瑞锦;郭上铜;赵芸伟 | 申请(专利权)人: | 电子科技大学;国家计算机网络与信息安全管理中心 |
主分类号: | H04L67/1042 | 分类号: | H04L67/1042;G06Q40/04 |
代理公司: | 成都金英专利代理事务所(普通合伙) 51218 | 代理人: | 袁英 |
地址: | 610041 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 投票 信用 机制 povt 共识 算法 | ||
1.一种基于投票与信用机制的POVT共识算法,其特征在于,所述基于投票与信用机制的POVT共识算法包括如下步骤:
S1:在周期开始前,根据节点的权益及STrust值形成一个共识节点集合;其中,STrust值为节点的信用值;
S2:在共识节点集合中从范围为(1,2,…,Nump)的生产节点中选择编号与随机数R相同的节点成为出块节点,所述出块节点从交易池中取出一些交易打包并组装成区块,随后将区块广播给投票节点并准备接受投票节点的反馈消息,如果产生的区块是创世区块,则随机数R为1;如果产生的区块是非创世区块,则随机数R由上一生产节点在生成新区块的过程中产生;其中,Nump为生产节点的个数;
S3:投票节点在收到生产节点发出的区块验证请求后,对区块中的数据进行验证;
S4:根据生产节点接收的消息,选择记录此时时间的时间戳,或立即取消该节点的共识资格:若生产节点收到Numv/2+1个投票节点的确认消息则表明已对该区块达成共识,生成一个记录此时时间的时间戳,并对该区块进行后续的签名、广播操作;若网络中存在超过Numv/2+1个投票节点发出拒绝消息则判定该生产节点有恶意行为,立即取消该节点的共识资格,并由编号为R+1的生产节点继续进行共识流程,同时在候补节点中根据编号顺序递补成为新的生产节点;其中,Numv为投票节点的个数;
S5:判断每个被选择的生产节点出块时间是否超过设定的时间Tb;
S6:在每一轮周期结束后,成功参与共识的节点会获得STrust值奖励;
所述POVT共识算法通过综合考虑一个节点的有效出块数、有效投票数、参与度的因素,并使用STrust值来定量描述一个节点的可信度,再结合节点本身的权益来决定节点是否能够参与共识过程;
所述节点的有效出块数是指生产节点在整个周期内生成的有效区块的数量,若一个生产节点在属于它的时隙内成功生成一个通过验证的区块,则认定该节点生成一个有效区块,反之,则为无效区块,节点有效投票数γ表示为:
其中表示节点i在第s个时隙内是否成功生成区块,若成功生成区块则为1,否则为0,t是节点生成区块的时间,γ随着t的增大而减小,c(c∈[0,1])是调节因子,根据实际考虑调节出块时间的影响大小,a是权重,根据实际需要做出调节;
所述有效投票数是指节点在整个周期内投出的有效票数,有效票数是指若节点在正确验证区块及数据无误后按要求签名确认则认定为有效投票;
所述参与度指节点参与交易的情况。
2.如权利要求1所述的一种基于投票与信用机制的POVT共识算法,其特征在于,所述随机数R的生成过程如下:
生产节点在向投票节点提交区块后同时收集投票节点的反馈消息,即Signature[i](1≤i≤Numv),同时根据时间戳Timestamp由式(1)的到Rsource:
其中,Numv为投票节点的个数;对得到的Rsource进行哈希运算,然后取字符串的后32位将其转化成整数,得到R',如式(2):
R'=StrToInt(SubStringEnd32(Hash(Rsource))) (2)
将R'由(3)可得随机数R:
R=R'mod Nump(1≤R≤Nump) (3)。
3.如权利要求1所述的一种基于投票与信用机制的POVT共识算法,其特征在于,所述步骤S3:若验证数据无误,则签名、加盖时间戳,并广播确认信息;若发现数据有误,则广播一个拒绝消息。
4.如权利要求1所述的一种基于投票与信用机制的POVT共识算法,其特征在于,所述步骤S4:若生产节点收到Numv/2+1个投票节点的确认消息,则生成一个记录此时时间的时间戳,并对该区块进行后续操作;若生产节点接收到超过Numv/2+1个投票节点发出拒绝消息,则立即取消该节点的共识资格,并由编号为R+1的生产节点继续进行共识流程,同时在候补节点中根据编号顺序递补成为新的生产节点。
5.如权利要求1所述的一种基于投票与信用机制的POVT共识算法,其特征在于,所述步骤S5:若超过时间Tb还没能完成出块,则由编号R+1的生产节点继续完成下一个区块的产生。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学;国家计算机网络与信息安全管理中心,未经电子科技大学;国家计算机网络与信息安全管理中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110031188.6/1.html,转载请声明来源钻瓜专利网。