System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种引入第二领导者与信誉模型的共识算法及其改进方法和应用技术_技高网

一种引入第二领导者与信誉模型的共识算法及其改进方法和应用技术

技术编号:40660152 阅读:5 留言:0更新日期:2024-03-18 18:52
本发明专利技术公开了一种引入第二领导者与信誉模型的共识算法及其改进方法和应用,属于区块链共识算法技术领域。本发明专利技术通过修改了RAFT算法的节点结构和存储结构,并将共识算法的角色分为领导节点、第二领导节点、从节点,设置节点的信誉度与任期号,分别用来筛选节点和判断节点的任期信息是否为最新。领导节点用来接收客户端的请求信息并将信息转发第二领导节点,第二领导节点通过改进后的存储结构来验证领导节点信息的准确,然后将正确的信息同步到从节点。此外,本发明专利技术解决了RAFT算法在不可信环境下不可运行的问题,同时构建一个信誉模型,通过改进后的存储结构可以验证节点的行为,实施一系列的奖惩措施和算法快速恢复,保障了一致性与灵活性。

【技术实现步骤摘要】

本专利技术属于区块链共识算法,更具体地说,涉及一种引入第二领导者与信誉模型的共识算法及其改进方法和应用


技术介绍

1、区块链其本质上就是一个分布式数据库,采用p2p对等网络与密码学来保证链上数据的安全性、可追溯性、不可篡改性、高度透明性等。区块链按公开程度与许可制可划分为三种类型:公有链、私有链、联盟链。公有链是指公开的链,任何人都可以参与和访问的链,具有完全去中心化的特点。私有链是指只有许可节点才可以参与和查看数据,不具有去中心化的特点,一般应用于公司内部。联盟链是指由多个组织或者机构管理数据的链,具有半去中心化特点。

2、目前区块链技术广泛应用于金融、教育、物联网等各种领域。区块链换种说法就是一个账本,它具有不可篡改、可共享、可追溯的特性,而共识机制是保持各个节点的数据的一致性。共识机制可以说是一种解决分布一致性问题的算法。

3、paxos算法由lamport于1998年提出,广泛应用于解决分布一致性问题,但是paxos最大特点就是难以理解、难以实现;raft算法在斯坦福由diego ongaro和john ousterhout于2013年提出,raft算法明显比paxos算法更容易理解,然而raft算法是强领导者,如果raft主节点宕机要重新筛选,会增加算法延迟,raft算法不能容忍作恶节点的存在;pbft算法是由miguel castro等人于1999年提出的,用于解决原始的拜占庭容错算法效率不高的问题,然而pbft算法不能动态加入节点、在节点数目多的情况下不适用。

4、在实际使用上,raft算法与pbft算法依然是主流,但是raft算法只能工作在可信的环境中,筛选领导节点存在冲突的情况,即节点获取选票的数目持平,或者获得最多选票的节点未获取大多数节点的投票。pbft算法虽然可以在不可信的环境下运行,但是在实际使用中通信复杂度大,而且当节点数目过多的情况下,系统集群达成一致性的效果明显很差,而且不能动态加入节点。

5、目前,针对现在raft算法与pbft算法的优化上,存在以下的问题:

6、zhang提出一种在信誉维度上进行分组的共识算法,信誉机制不能根据节点数目动态调整,存在局限性。liu通过信誉模型构建的raft算法,没有考虑到投票数目相同的处理。sun提出了分组策略,采用raft算法选择领导者,没有考虑leader节点宕机之后的通信代价,每次共识的时间复杂也相对比较高。wang提出医疗数据的安全共识算法sca_md,采用信誉模型筛选算法中的角色,但是没有考虑到节点动态加入后的处理措施。wang仅仅把raft算法用在选举领导节点上,没有考虑选举获得投票数少于大多数节点的情况。


技术实现思路

1、1.要解决的问题

2、针对现有raft算法只能在可行环境下运行、节点存储信息不可验证的局限性,本专利技术提供了一种引入第二领导者与信誉模型的共识算法及其改进方法,通过改进raft算法,确保节点存储信息的可靠性,在节点作恶或宕机的情况下,可以快速处理并恢复算法运行,保障算法正常运行。

3、本专利技术还提供了上述共识算法的应用,用于区块链技术和共识技术,实现了在不可信环境下分布式存储数据,规范节点的存储行为,使节点诚实合法存储信息,并达成分布式集群数据的共识。

4、2.技术方案

5、为了解决上述问题,本专利技术所采用的技术方案如下:

6、本专利技术的一种引入第二领导者与信誉模型的共识算法改进方法,包括以下步骤:

7、步骤s1、构造raft算法的节点结构;

8、步骤s2、构造节点的存储结构,形成一条哈希链;

9、步骤s3、构造信誉模型,设置奖惩机制;

10、步骤s4、节点集群初始化,筛选领导节点和第二领导节点;

11、步骤s5、客户端向节点集群发送请求,节点集群同步请求,达成一致性;

12、步骤s6、数据同步结束,节点集群等待客户端下一次请求。

13、作为本专利技术的进一步改进,步骤s1中,构造的节点结构包括节点地址、网络地址、端口号、节点信息、唯一识别编号、节点状态、信誉值、领导节点编号、第二领导节点编号、当前领导者对应的任期和最新的日志索引值。

14、作为本专利技术的进一步改进,步骤s2中,通过修改节点键值对存储的形式,在日志上添加了索引哈希的字段,索引哈希采用的加密算法为sha256加密算法,然后将日志序列通过索引哈希构造成为一条哈希链。

15、作为本专利技术的进一步改进,步骤s3中,在节点初始化之前,构建信誉模型,信誉值默认为creditinit,并且设置阈值上限为creditmax,防止信誉值过大,对于不同类型的节点有不同的奖惩措施,设置奖励因子为α,惩罚因子为β,且满足α=β。

16、作为本专利技术的进一步改进,所述奖惩机制具体为:

17、

18、其中,r表示不同类型节点对应的奖励值,p表示不同类型节点对应的惩罚值,credit表示节点不同行为对应的信誉值变化。

19、作为本专利技术的进一步改进,步骤s4中,筛选领导节点和第二领导节点的方法如下:

20、当nodegroup集群初始化后,所有节点的状态都是从节点,首先筛选领导节点,算法集群会递归比较节点的信誉值大小,若前者的信誉值大于等于后者的,默认后者大,在比较完成后,nodegroup集群会记录当前信誉值最大的节点编号,并且同步所有的节点的leaderid为当前节点编号;

21、然后筛选第二领导者,在非领导节点中比较信誉值大小,在比较完成后,nodegroup集群会记录当前非领导节点信誉值最大的节点编号,并且同步所有的节点的secondleaderid为当前节点编号。

22、作为本专利技术的进一步改进,步骤s5中,当客户端发来请求后,只能由领导节点进行处理,其他节点收到该请求会自动转发到领导节点,领导节点存储信息后进行自验证阶段,连续三次自验证失败,则判断领导节点为作恶节点,重新筛选领导节点;若自验证通过,则向第二领导节点同步日志;

23、第二领导节点接受到来自领导节点发来的信息后,验证领导节点是否作恶,若作恶,则重新筛选领导节点,若诚实,第二领导节点进入自验证阶段,自验证失败,则判断第二领导节点为作恶节点,重新筛选第二领导节点;若自验证通过,则向从节点同步日志;

24、当所有从节点分别接收到第二领导节点的请求,每个从节点单独会同步信息,并进入验证阶段,即第二领导节点会验证从节点是否成功同步数据,若验证失败,则判断从节点为作恶节点,若验证成功,则判断从节点为诚实节点;

25、最后,当算法中半数或者超过半数的从节点均验证为诚实节点,即已经完成诚实存储数据,则表明节点集群达成一致性。

26、本专利技术的一种引入第二领导者与信誉模型的共识算法,采用上述的改进方法对现有raft算法进行改进,即得到改进后的raft算法,记为sc-raft算法。

本文档来自技高网...

【技术保护点】

1.一种引入第二领导者与信誉模型的共识算法改进方法,其特征在于:包括如下步骤:

2.根据权利要求1所述的引入第二领导者与信誉模型的共识算法改进方法,其特征在于:步骤S1中,构造的节点结构包括节点地址、网络地址、端口号、节点信息、唯一识别编号、节点状态、信誉值、领导节点编号、第二领导节点编号、当前领导者对应的任期和最新的日志索引值。

3.根据权利要求1所述的引入第二领导者与信誉模型的共识算法改进方法,其特征在于:步骤S2中,通过修改节点键值对存储的形式,在日志上添加了索引哈希的字段,索引哈希采用的加密算法为SHA256加密算法,然后将日志序列通过索引哈希构造成为一条哈希链。

4.根据权利要求1所述的引入第二领导者与信誉模型的共识算法改进方法,其特征在于:步骤S3中,在节点初始化之前,构建信誉模型,信誉值默认为creditinit,并且设置阈值上限为creditmax,防止信誉值过大,对于不同类型的节点有不同的奖惩措施,设置奖励因子为α,惩罚因子为β,且满足α=β。

5.根据权利要求4所述的引入第二领导者与信誉模型的共识算法改进方法,其特征在于:所述奖惩机制具体为:

6.根据权利要求1-5中任一项所述的引入第二领导者与信誉模型的共识算法改进方法,其特征在于:步骤S4中,筛选领导节点和第二领导节点的方法如下:

7.根据权利要求1-5中任一项所述的引入第二领导者与信誉模型的共识算法改进方法,其特征在于:步骤S5中,当客户端发来请求后,只能由领导节点进行处理,其他节点收到该请求会自动转发到领导节点,领导节点存储信息后进行自验证阶段,连续三次自验证失败,则判断领导节点为作恶节点,重新筛选领导节点;若自验证通过,则向第二领导节点同步日志;

8.一种引入第二领导者与信誉模型的共识算法,采用如权利要求1-7中任一项所述的改进方法对现有RAFT算法进行改进,即得到改进后的RAFT算法,记为SC-RAFT算法。

9.一种如权利要求8所述的引入第二领导者与信誉模型的共识算法的应用,其特征在于:将SC-RAFT算法应用于区块链技术和共识技术中,用于在不可信环境下分布式存储数据,来规范节点的存储行为,使节点诚实合法的存储信息,最终达成分布式集群数据的一致性。

...

【技术特征摘要】

1.一种引入第二领导者与信誉模型的共识算法改进方法,其特征在于:包括如下步骤:

2.根据权利要求1所述的引入第二领导者与信誉模型的共识算法改进方法,其特征在于:步骤s1中,构造的节点结构包括节点地址、网络地址、端口号、节点信息、唯一识别编号、节点状态、信誉值、领导节点编号、第二领导节点编号、当前领导者对应的任期和最新的日志索引值。

3.根据权利要求1所述的引入第二领导者与信誉模型的共识算法改进方法,其特征在于:步骤s2中,通过修改节点键值对存储的形式,在日志上添加了索引哈希的字段,索引哈希采用的加密算法为sha256加密算法,然后将日志序列通过索引哈希构造成为一条哈希链。

4.根据权利要求1所述的引入第二领导者与信誉模型的共识算法改进方法,其特征在于:步骤s3中,在节点初始化之前,构建信誉模型,信誉值默认为creditinit,并且设置阈值上限为creditmax,防止信誉值过大,对于不同类型的节点有不同的奖惩措施,设置奖励因子为α,惩罚因子为β,且满足α=β。

5.根据权利要求4所述的引入第二领导者与信誉模型的共识算...

【专利技术属性】
技术研发人员:袁志祥王涛
申请(专利权)人:安徽工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1