[发明专利]一种基于投票与信用机制的POVT共识算法有效
申请号: | 202110031188.6 | 申请日: | 2021-01-11 |
公开(公告)号: | CN112769936B | 公开(公告)日: | 2022-08-16 |
发明(设计)人: | 王瑞锦;郭上铜;赵芸伟 | 申请(专利权)人: | 电子科技大学;国家计算机网络与信息安全管理中心 |
主分类号: | H04L67/1042 | 分类号: | H04L67/1042;G06Q40/04 |
代理公司: | 成都金英专利代理事务所(普通合伙) 51218 | 代理人: | 袁英 |
地址: | 610041 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 投票 信用 机制 povt 共识 算法 | ||
本发明公开了一种基于投票与信用机制的POVT共识算法,所述基于投票与信用机制的POVT共识算法通过引入投票机制来更加公平地选择出块节点,彻底避免节点之间的算力竞争,并且引入的信用机制能够保证参与共识的节点的可靠性,同时降低权益对记账权分配的影响,从而增大对系统发起权益粉碎攻击等的难度。
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于投票与信用机制的POVT(Proofof Vote and Trust)共识算法。
背景技术
区块链作为一种分布式数据库,最基本也是最核心的要求是所有的节点能对所保存的数据达成一致,因此共识机制一直是被研究的重点。
区块链技术常用的共识算法有工作量证明PoW(Proof of Work)、权益证明PoS(Proof of Stake)与实用拜占庭容错算法PBFT(Practical Byzantine Fault Tolerance)等。目前,如何更加公平的选择出块节点,彻底避免节点之间的算力竞争,提高参与共识的节点的可靠性,同时降低权益对记账权分配的影响,增大对系统发起权益粉碎攻击和双花攻击的难度,是一个亟需解决的技术问题。
发明内容
为了解决上述问题,本发明提供了一种基于投票与信用机制的POVT共识算法,所述基于投票与信用机制的POVT共识算法包括如下步骤:
S1:在周期开始前,根据节点的权益及STrust值形成一个共识节点集合;
S2:在集合中从范围为(1,2,…,Nump)的生产节点中选择编号与随机数R相同的节点成为出块节点;
S3:投票节点在收到生产节点发出的区块验证请求后,对区块中的数据进行验证;
S4:根据生产节点接收的消息,选择记录此时时间的时间戳,或立即取消该节点的共识资格;
S5:判断每个被选择的生产节点出块时间是否超过设定的时间Tb;
S6:在每一轮周期结束后,成功参与共识的节点会获得STrust值奖励。
优选的,步骤S2,所述出块节点从交易池中取出一些交易打包并组装成区块,随后将区块广播给投票节点并准备接受投票节点的反馈消息,如果产生的区块是创世区块,则随机数R为1;如果产生的区块是非创世区块,则随机数R由上一生产节点在生成新区块的过程中产生。
优选的,所述随机数R的生成过程如下:
生产节点在向投票节点提交区块后同时收集投票节点的反馈消息,即Signature[i](1≤i≤Numv),同时根据时间戳Timestamp由式(1)的到Rsource:
对得到的Rsource进行哈希运算,然后取字符串的后32位将其转化成整数,得到R',如式(2):
R'=StrToInt(SubStringEnd32(Hash(Rsource))) (2)
将R'由(3)可得随机数R:
R=R' mod Nump(1≤R≤Nump) (3)
优选的,所述步骤S3:若验证数据无误,则签名、加盖时间戳,并广播确认信息;若发现数据有误,则广播一个拒绝消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学;国家计算机网络与信息安全管理中心,未经电子科技大学;国家计算机网络与信息安全管理中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110031188.6/2.html,转载请声明来源钻瓜专利网。