买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于可验证随机函数分配验证者奖励的异步BFT&DPOS共识机制_广东工业大学_201911049650.4 

申请/专利权人:广东工业大学

申请日:2019-10-31

公开(公告)日:2023-03-14

公开(公告)号:CN110855432B

主分类号:H04L9/08

分类号:H04L9/08;H04L9/32

优先权:

专利状态码:有效-授权

法律状态:2023.03.14#授权;2020.03.24#实质审查的生效;2020.02.28#公开

摘要:本发明公开基于可验证随机函数分配验证者奖励的异步BFTDPOS共识机制,主要包括:S1:系统初始化;S2:选出超级节点;S3:选出验证者;S4:区块的产生;S5:区块的确认;S6:奖励的分配;S7:超级节点的切换。本发明引入“验证者”的角色,验证者让备用节点不再闲置,而是会参与区块的验证工作,验证者可以在超级节点串通作恶攻击系统的第一时刻,通过行使验证权使系统停止运行,从而能使基于VBDPOS共识机制的系统能在第一时间阻止攻击者对系统的攻击,提高了系统的安全性。通过区块确认方案的设计,使得VBDPOS共识机制在提高整体安全性的基础上,同时使性能不过多降低,可以满足现有商业要求。

主权项:1.基于可验证随机函数分配验证者奖励的异步BFTDPOS共识方法,其特征在于,包括以下步骤:S1:系统初始化,在VBDPOS共识方法里,想要成为节点候选人的申请人通过提交设备、设施、人员资料说明和证明,候选人通过申请后成为节点;S2:选出超级节点,代币持有者通过投票系统对各个节点候选人进行投票,根据票数排名选出票数最高的21个节点为超级节点,每生产252个区块为一个区块周期,每一个区块周期开始时,都会实时更新投票数,对超级节点和验证者排名进行更新;S3:选出验证者,当备用节点满足以下的三个条件,即可申请成为验证者,参与系统的区块验证和确认工作;三个条件为:备用节点获取的票数权重须大于系统X%的总票数,X%为根据网络得票率实时计算的能领取100EOS奖励的最低票数权重;参与验证的备用节点需锁仓一定数量的EOS保证金到特定账户,保证金提交的特定账户可以是权威机构的指定账户,或者由智能合约保证的特定账户;验证者需持续和所有超级节点和其他验证者保持实时通信状态;S4:区块的产生,与异步BFT-DPOS共识方法一致,在一轮区块生产过程中,超级节点会按照规定的算法安排好顺序生产区块,当前负责出块的超级节点会收集交易信息将其打包进区块,并将打包好的区块广播给其他超级节点和验证者验证,在等待区块确认的过程中,会同时产生新区块;如果一个节点在最近的24个小时内都没有产生区块,那么它将被移出超级节点的候选名单;S5:区块的确认,其他超级节点和验证者会对新区块进行验证,并把验证和签名结果广播,当负责出块的超级节点在广播后会持续监听网络,收集到15个超级节点的签名确认和超过23验证者的签名确认和凭证后,超级节点和验证者会根据不同的情况,按照VBDPOS共识方法的区块确认方案,来做出不同的选择;S6:奖励的分配,根据基于可验证随机函数挑选获奖者的奖励分发方法的奖励分发机制,每一轮区块确认完成后,系统内的节点都会比较出一个最小凭证,对最小凭证达成共识,而持有最小凭证的验证者即是此轮区块的获奖者,可以获得这轮区块的验证奖励;S7:超级节点的切换,在区块的产生过程中,如果属于A超级节点的12个区块内,则上一个区块没确认时,A超级节点便会开始生产下一个区块,因为A超级节点可以相信自己没有作假;但如果A超级节点生产完12个区块,轮到B超级节点生产区块时,B超级节点会等到自己确认A超级节点的第12个区块已经获得其他15个超级节点和验证者确认后才会接着生产区块;所述步骤S6具体包括以下步骤:s61:验证者条件满足;s62:验证者的凭证生成;s63:验证者参与验证工作;s64:获奖者的挑选和验证过程;在步骤s61中,在一个区块周期开始时,备用节点需满足以下条件才能成为验证者的资格,条件如下:a:备用节点获取的票数权重须大于系统X%的总票数,X%为实时计算的能领取100EOS奖励的最低票数权重;b:参加验证的备用节点需锁仓一定量的EOS保证金到特定账户;c:验证者需持续和所有超级节点和其他验证者保持实时通信状态;在步骤s62中,VBDPOS共识方法对新区块达成共识的过程和现有DPOS共识方法的区别在于VBDPOS在验证这一步多了验证者资格审核和验证者参与区块验证,VBDPOS会基于当前的种子参数公布一个随机算法,就是可验证的随机函数VRF,VRF一个关键参数是用户的私钥,这个私钥只有用户本人才知道;接着,每个备用节点使用自己的私钥对种子参数签名并输入哈希函数后,得到自己的凭证;凭证通过零知识证明,可以在完全不泄露私钥的基础上,证明某个凭证的所有者拥有权;凭证包含5个特性:A:种子参数是不断更新的,种子参数不可预测的,所以凭证也是不断更新,凭证是随机数;B.哈希函数和私钥确保每一个凭证的所有人都是特定;C.非对称密钥算法和零知识证明确保凭证的所有者可以证明凭证的所有权;D.凭证不可伪造;E.凭证是在本地进行,需要私钥生成却又可以不需要公开私钥的同时全网验证;在步骤s63中,当新区块没有公布之前,备用节点只知道自己是否是验证者,无法知道自己是否是获奖者,只有当区块完成生产和验证后,验证者才知道自己是否获得了此轮区块验证的验证奖励;在结果没出来之前,攻击者无法预测凭证,不知道哪个凭证是最小,在结果出来之后,攻击者无法更改历史;在步骤S5中,设所有验证者数量为Nall,23验证者数量为N23,区块高度为第r轮,第r轮产生的区块为B1,第r+1轮产生的区块为B2,第r轮的种子参数为Qr,负责出块的超级节点为A超级节点,设某个时刻A超级节点收到的验证者签名和凭证数量为X,区块的确认具体步骤如下:s51:区块、种子参数的生产与广播,第r-1轮的最小凭证Qr,即为第r轮的种子参数Qr,在第r轮区块生产过程中,超级节点会按照规定的算法安排好顺序生产区块,当前负责出块的超级节点会收集交易信息将其打包进区块,并将打包好的区块B1和此轮区块的种子参数Qr,广播给其他超级节点和验证者验证,在等待区块确认的过程中,会同时产生新区块B2;s52:区块的验证与凭证的生成,系统里的超级节点和验证者时刻在线,监听着网络,当他们收到新区块B1和种子参数Qr后,首先会根据基于可验证随机函数挑选获奖者的算法流程生成各自的凭证;其次各自独立对区块B1进行验证,确保交易信息无误和无作假后;每一个超级节点和验证者会把第r轮的区块B1和各自的「签名+凭证」在网络里广播;s53:区块B1得到系统确认,A超级节点在广播区块B1后会持续监听网络,当收集到超过15个超级节点的签名确认和超过23验证者的签名确认和凭证后,即可视为区块B1得到了系统确认,超级节点会将区块B1添加到区块链上,将之前生产好的第r+1轮的区块B2和种子参数Qr+1广播,进入第r+1轮的区块确认;区块B1得到系统确认,因为网络延迟的缘故,会有两种不同的处理方式,得到二种不同的处理结果,确保系统正常运行,延迟被控制在一秒以内;A超级节点会时刻判断收集到的超级节点的签名确认数量,一旦超级节点签名确认数量大于等于15个,A超级节点会进入计时状态,并判断收集到的验证者的签名确认数量。

全文数据:

权利要求:

百度查询: 广东工业大学 基于可验证随机函数分配验证者奖励的异步BFT&DPOS共识机制

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。