一种基于孤立森林算法的实用DPoS共识改进方法
- 国知局
- 2024-09-11 14:35:24
本发明涉及区块链,尤其是涉及一种基于孤立森林算法的实用dpos共识改进方法。
背景技术:
1、委托权益证明dpos(deledated proof of stake)由权益证明共识算法(proof ofstake,pos)演化而来,最早由bitshares的首席开发者dan larimer在2014年4月提出并应用。在dpos中,用户通过抵押代币获得投票权,系统通过投票选举出块节点,仅部分出块节点完成共识验证,从而实现共识效率提升。现有的dpos共识算法流程主要包括:节点互相投票、票数统计、代理节点选举、代理节点出块、出块奖励结算。通过部分受托节点执行出块与共识验证,dpos解决了工作量证明共识机制(proof of work,pow)中算力集中于过度资源浪费的问题。投票机制解决了权益证明共识算法仅根据币龄决定记账权导致的马太效应。
2、与现有主流共识算法相比,dpos可以在性能与去中心化方面实现权衡效果,但它仍然面临着去中心化程度低、节点不积极、恶意节点缺乏监管等问题:首先,单纯依靠权益选举代理人可能会导致代理节点缺乏变动,使得出块的权利可能依然集中在少数大型节点手中,从而影响整个网络的去中心化程度。其次,在只有代理人的出块行为才可以得到奖励的情况下,其余普通节点可能会表现出不积极的投票态度。此外,在选举代理节点的选举过程中,缺乏对候选者的网络状态进行评估,可能导致选举产生网络通信状况差的代理人,从而影响区块验证过程。最后,对节点的恶意行为(如:提交无效交易、生产无效区块等恶意行为)缺乏监管。如果这些恶意节点成为代理节点,可能对整个共识流程的性能产生负面影响。
3、通过以上分析,可以发现dpos依然存在去中心化程度低、节点不积极及对恶意行为缺乏监管等问题,这些问题影响了其共识的公平性和效率,增加了安全风险。
技术实现思路
1、本发明的目的是提供一种基于孤立森林算法的实用dpos共识改进方法,引入节点行为记录以及异常节点检测与剔除来对dpos算法进行优化,提升了dpos共识机制的实用性。
2、为实现上述目的,本发明提供了一种基于孤立森林算法的实用dpos共识改进方法,包括以下步骤:
3、s1、根据历史行为信息与,对未参与上一轮共识的普通节点和参与上一轮共识的代理节点进行异常节点的检测与剔除,输出可参与代理节点选举的候选者集合;
4、s2、将可参与代理节点选举的候选者集合与参与竞选的节点集合取交集得到竞选者集合,通过本轮不参与共识的普通节点对竞选者集合中的节点进行自由投票,最终得到候选者对应的选票数量集合;
5、s3、对选票数量集合进行递减排序,输出前个候选者作为代理节点集合;
6、s4、将代理节点集合中的代理节点进行打乱,轮流进行出块操作,并进行块验证,在完成 k次出块操作后,结束本轮共识(表示个候选者, k表示 k次出块操作,两者数值相同,但含义不同);
7、在每轮共识中,记录这 k次共识中的节点的行为信息;
8、s5、根据节点的行为信息对参与上一轮共识的代理节点进行代币奖励;
9、s6、输入本轮共识中的节点的行为信息以及历史节点行为情况,更新行为信息。
10、优选的,步骤s1中:
11、未参上一轮与共识的普通节点,其中,表示第个普通节点,表示普通节点总数;
12、参与上一轮共识的代理节点,其中,表示上一轮共识中的第个代理节点, k代表代理节点数量;
13、为未参与上一轮共识的普通节点对应的历史行为信息;为参与上一轮共识的代理节点对应的历史行为信息;
14、,其中,表示第个普通节点的特征;
15、;
16、其中,表示节点交易活跃度;表示发送的无效交易数;表示参与投票次数;表示节点离线次数;表示节点离线时长;表示节点进入网络时长;
17、,其中,表示上一轮第个代理节点的特征;
18、;
19、其中,表示生产的无效区块数;表示共识延迟;表示参与共识的次数。
20、优选的,步骤s1中,可参与代理节点选举的候选者集合,表示合法的第个候选人,表示筛选出的合法候选人总数。
21、优选的,步骤s1中,对未参与上一轮共识的普通节点和参与上一轮共识的代理节点进行异常节点的检测与剔除,输出可参与代理节点选举的候选者集合,包括如下步骤:
22、s11、针对未参与上一轮共识的普通节点和参与上一轮共识的代理节点分别确定抽样样本组数,每个样本组内的样本数量以及树最大高度;
23、s12、将每个样本组内的样本放到一棵树的根节点,此时,当前节点为根节点;
24、s13、对于当前节点,随机选择一个行为特征及该行为特征的分界值以对样本进行分类;
25、小于该分界值的样本放入当前节点的左孩子,大于分界值的样本放入该节点的右孩子,形成当前节点的子分支,此时,当前节点的任务结束,接下来进入其孩子节点的划分中;
26、s14、分别以步骤s13中的左孩子和右孩子作为新的当前节点,重复递归步骤s13,当新的当前节点对应的样本集合中只有一个样本时,该节点成为叶子节点,无法再生成下一层孩子节点,到达当前节点的子分支的递归边界,跳出当前节点的子分支的操作,对其余未操作节点及其子分支进行操作;
27、当整个树的高度达到最大高度时,该树的生成完成;
28、s15、在每个样本组中执行步骤s12~s14以形成森林;
29、s16、定义样本的高度为其最后所在的叶子节点的高度,训练结束后,对于每棵树,设定安全高度值,;
30、对于每个样本,高度小于安全高度值的样本即认定为非正常数据;
31、s17、集成个树的学习成果,当一个样本在数量的树中均显示为非正常时,即判定为异常,将对应的节点进行剔除,不允许其作为候选者参与本轮代理节点的选举,其中,。
32、优选的,步骤s11中,对于未参与上一轮共识的普通节点,设置树最大高度;
33、对于参与上一轮共识的代理节点,设置树最大高度;
34、在总样本数量为的情况下,通过式确定组内样本数量,确定抽样样本组数,与是调节训练速度和准确率的参数,其中0<,。
35、优选的,步骤s4中,为满足行为信息可追溯的要求,在多轮共识后,累积的行为信息达到一条交易大小时,历史行为信息记录作为一条交易信息进入交易池,并在下一轮共识中上链。
36、因此,本发明采用上述一种基于孤立森林算法的实用dpos共识改进方法,其技术效果如下:
37、(1)对于选举节点剔除,由于网络中的大部分节点都拥有相似的网络通信能力,并且往往表现出较高的积极性以及无恶意性行为,因此,在异常检测算法的筛选下,“正常的”“大部分”的共识节点将被筛选出来。这些节点将可以获得被选举的资格,并结合节点本身是否参与选举的意愿,形成了下一轮代理节点的被选举人集合。
38、(2)通过引入节点行为的记录以及节点剔除阶段,本发明分别针对节点的投票积极性、共识验证及时性、共识参与积极性进行了促进,同时,对生产无效交易、生产无效区块以及新入网节点可能存在的恶意行为进行了抑制。这些优化措施有助于解决原始dpos的去中心化程度低、节点参与程度低、部分节点的恶意行为没有监管抑制的问题,有效抵制了代理委员会的接管等恶意事件,提高了共识机制的公平性、效率和安全性。
39、下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本文地址:https://www.jishuxx.com/zhuanli/20240911/291495.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。