一种基于VRF与节点信誉的DPoS改进算法的制作方法

专利检索2024-11-23  24


本发明属于区块链,具体为一种基于vrf与节点信誉的dpos改进算法。


背景技术:

1、区块链是一个去中心化、无需信任的、不可篡改的分布式账本,它涉及到众多的计算机技术,如分布式存储、共识算法、拜占庭容错、点对点传输以及智能合约等技术,它通过让网络中所有的节点共同管理、监督所有链上数据,摆脱了网络中单一节点或者单一的节点集群中心化管控,从而达到去中心化、不可伪造以及可追溯的特点。

2、区块链按照去中心化程度分为公有链、联盟链和私有链,公有链主要使用pow工作量证明、pos权益证明、dpos授权股份证明三种共识算法;联盟链主要使用pbft共识算法;私有链主要使用paxos、raft两种共识算法,其中,dpos算法是在pos算法基础上改进而来的一种共识算法,其具有能耗低、吞吐量高、交易时延低、无区块分叉的优势,但由于dpos算法将出块的权力集中在有限的见证人节点上,由各见证人轮流生产区块,可能存在见证人节点中心化或做出有害系统运行的情况,以及投票节点消极参与投票的情况,影响系统的正常运行,针对dpos共识算法现存的问题,提出了一种基于可验证随机函数(verifiablerandom function,vrf)与节点信誉的dpos改进算法(verifiable random function andnode reputation delegated proof of stake,vnr-dpos),以解决见证人节点中心化与非见证人节点消极参与投票等问题。


技术实现思路

1、本发明的目的在于提供一种基于vrf与节点信誉的dpos改进算法,以解决上述背景技术中提出的问题。

2、为了实现上述目的,本发明提供如下技术方案:一种基于vrf与节点信誉的dpos改进算法,具体步骤如下:

3、步骤一:系统准备阶段

4、该阶段对vnr-dpos算法中的信誉值公式奖惩因子大小、信誉等级门限值及vrf函数范围值value的值进行设置;

5、步骤二:信誉计算阶段

6、该阶段先根据上一轮共识过程中各节点的行为,计算各节点的信誉值影响因素;再根据信誉值影响因素计算各节点信誉值;完成信誉值计算后根据信誉等级门限值对节点信誉等级进行分类,等级为不合格的节点移出区块链系统;

7、步骤三:见证人选举阶段

8、该阶段优秀节点使用vrf函数计算随机数,由其他节点对其随机数进行验证,完成全部随机数的计算与验证后,符合范围值value的优秀节点成为见证人节点,其他节点成为普通节点;

9、步骤四:系统共识阶段

10、该阶段各见证人节点轮流生产区块,并对区块进行广播与验证,直至本轮所有区块提交结束,完成系统区块共识。

11、优选地,步骤二中所述信誉值影响因素包括有区块可信度,区块可信度指的是见证人节点所提交区块的可信程度。

12、优选地,步骤二中所述信誉值影响因素包括有选举参信度,选举参信度指的是系统中所有节点积极参与见证人选举vrf函数验证的程度与优秀节点选举时输出vrf随机值的可信程度。

13、优选地,步骤二中所述利用节点信誉值能够有效防止节点做出危害系统正常运行的恶意行为。

14、优选地,步骤二中所述节点信誉等级可以分为:优秀节点、合格节点、不合格节点,当节点信誉等级为不合格节点时,将其移出区块链系统。

15、优选地,步骤三中所述的见证人从优秀节点中进行随机选取,避免出现某节点操纵投票长期维持见证人节点身份的行为。

16、优选地,步骤三中所述见证人在选举开始前由系统设置范围值value,通过vrf函数计算得出随机数在value内的优秀节点即可成为见证人节点,例如设置value的值为0.5,则随机数在0至0.5内的优秀节点都可成为见证人节点。

17、优选地,步骤三中所述开始选举后,优秀节点a调用智能合约进行随机数计算,首先通过ed25519签名算法生成公钥pb_ka与私钥pv_ka,接着a向vrf函数输入区块链中当前最新区块的哈希值hash与私钥pv_ka,函数输出a的随机数r_na与身份证明ida,当优秀节点提交其随机数r_n与身份证明id后,系统中的节点即可通过证明函数vrf_p对其进行验证,向该函数输入哈希值hash、节点公钥pb_k、随机数r_n与身份证明id,即可输出随机数真伪的结果。

18、优选地,步骤三中所述完成对所有优秀节点的全部随机数的计算与验证后,诚实且随机数符合范围值value的节点成为见证人节点,负责区块打包、维持系统运转等工作。

19、本发明的有益效果如下:

20、本算法首先根据节点的出块行为与参与选举行为对节点进行信誉值计算,然后按照信誉值对节点进行等级划分,通过将其分为优秀节点、合格节点与不合格节点,从而能够通过节点的类型判断该节点是否有权力参与见证人选举、参与共识或被移除出区块链系统,能够有效防止节点做出危害系统正常运行的恶意行为,如见证人节点不提交区块或提交坏块的行为、在见证人节点选举过程中的随机数篡改行为及消极参与随机数验证等行为,接着本算法通过使用可验证随机函数vrf在优秀节点中选举见证人节点,该函数具有的输出值无法预测的特性,能够保障见证人节点选举的随机性,避免了节点操纵选票长期维持见证人身份的中心化。



技术特征:

1.一种基于vrf与节点信誉的dpos改进算法,其特征在于:具体步骤如下:

2.根据权利要求1所述的一种基于vrf与节点信誉的dpos改进算法,其特征在于:步骤二中所述信誉值影响因素包括有区块可信度,区块可信度指的是见证人节点所提交区块的可信程度。

3.根据权利要求1所述的一种基于vrf与节点信誉的dpos改进算法,其特征在于:步骤二中所述信誉值影响因素包括有选举参信度,选举参信度指的是系统中所有节点积极参与见证人选举vrf函数验证的程度与优秀节点选举时输出vrf随机值的可信程度。

4.根据权利要求1所述的一种基于vrf与节点信誉的dpos改进算法,其特征在于:步骤二中所述利用节点信誉值能够有效防止节点做出危害系统正常运行的恶意行为。

5.根据权利要求1所述的一种基于vrf与节点信誉的dpos改进算法,其特征在于:步骤二中所述节点信誉等级可以分为:优秀节点、合格节点、不合格节点,当节点信誉等级为不合格节点时,将其移出区块链系统。

6.根据权利要求1所述的一种基于vrf与节点信誉的dpos改进算法,其特征在于:步骤三中所述的见证人从优秀节点中进行随机选取,避免出现某节点操纵投票长期维持见证人节点身份的行为。

7.根据权利要求1所述的一种基于vrf与节点信誉的dpos改进算法,其特征在于:步骤三中所述见证人在选举开始前由系统设置范围值value,通过vrf函数计算得出随机数在value内的优秀节点即可成为见证人节点,例如设置value的值为0.5,则随机数在0至0.5内的优秀节点都可成为见证人节点。

8.根据权利要求1所述的一种基于vrf与节点信誉的dpos改进算法,其特征在于:步骤三中所述开始选举后,优秀节点a调用智能合约进行随机数计算,首先通过ed25519签名算法生成公钥pb_ka与私钥pv_ka,接着a向vrf函数输入区块链中当前最新区块的哈希值hash与私钥pv_ka,函数输出a的随机数r_na与身份证明ida,当优秀节点提交其随机数r_n与身份证明id后,系统中的节点即可通过证明函数vrf_p对其进行验证,向该函数输入哈希值hash、节点公钥pb_k、随机数r_n与身份证明id,即可输出随机数真伪的结果。

9.根据权利要求1所述的一种基于vrf与节点信誉的dpos改进算法,其特征在于:步骤三中所述完成对所有优秀节点的全部随机数的计算与验证后,诚实且随机数符合范围值value的节点成为见证人节点,负责区块打包、维持系统运转等工作。


技术总结
本发明属于区块链技术领域,且公开了一种基于VRF与节点信誉的DPoS改进算法,具体步骤如下:步骤一:系统准备阶段,该阶段对VNR‑DPoS算法中的信誉值公式奖惩因子大小、信誉等级门限值及VRF函数范围值value的值进行设置。本算法首先根据节点的出块行为与参与选举行为对节点进行信誉值计算,然后按照信誉值对节点进行等级划分,通过将其分为优秀节点、合格节点与不合格节点,从而能够通过节点的类型判断该节点是否有权力参与见证人选举、参与共识或被移除出区块链系统,能够有效防止节点做出危害系统正常运行的恶意行为,如见证人节点不提交区块或提交坏块的行为、在见证人节点选举过程中的随机数篡改行为及消极参与随机数验证等行为。

技术研发人员:田锦华,张月圆,卞思远,白凤英,高雅楠,秦瑜,曹新宇
受保护的技术使用者:内蒙古电力(集团)有限责任公司鄂尔多斯供电分公司
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1146413.html

最新回复(0)