System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及智能合约领域,具体涉及一种基于智能合约安全审计的共识方法、装置及可读介质。
技术介绍
1、智能合约是一种基于区块链技术的自动执行程序。它是一段预先编写好的、在区块链上运行的计算机代码,可以在满足特定条件时自动执行合同条款。智能合约可以在去中心化的环境中自动处理交易、验证信息和执行合同,从而降低信任成本、减少人为错误和欺诈行为,提高合约的执行效率。随着区块链技术的普及,智能合约在各领域的应用日益广泛,而智能合约的安全性问题也日益凸显。现有的中心化审计方式中心化机构虽然通常拥有专业的审计团队和成熟的审计流程,可以完成智能合约的审计工作。但是由于审计需求的增加,中心化机构可能面临审计资源不足的问题,从而影响审计效率,同时审计质量、安全与信任等方面存在局限性。
2、在现有的研究中,针对传统中心化审计机构过程繁琐,审计时间长的问题,us 11,301,361b2这个专利通过在侧链上测试智能合约,以便在不影响主链的情况下检测智能合约的漏洞。这样,即使智能合约在侧链上有漏洞,也不会对主链上的账户造成经济损失。此外,只有在第二模块授予权限后,主链上的第四账户才能参与对智能合约的侧链测试,并成为第二账户。这有效地防止了主链上的第四账户对侧链上的智能合约进行恶意攻击,智能合约可以在侧链上由众多第二账户进行测试。虽然第二账户有能力检测出智能合约中存在的漏洞,但存在提高审计效率低下,人工审计时间和成本高昂的问题,也没有对区块链的共识过程进行改进,增加其性能。
技术实现思路
1、针
2、第一方面,本专利技术提供了一种基于智能合约安全审计的共识方法,包括以下步骤:
3、获取区块链网络中任务发布者发布的审计任务及其任务要求信息,获取服务提供商部署的深度学习模型并进行评估,确定能够作为审计工作者的深度学习模型,选择满足任务要求信息的审计工作者接收审计任务并提取审计任务中的智能合约进行审计,生成对应的审计报告成为共识候选节点并筛选出共识候选小组;
4、通过共识候选小组中的共识候选节点执行一致性协议流程,完成一次共识活动后执行智能合约;
5、智能合约根据每个节点在共识活动的表现情况以及任务发布者对审计工作者提供的审计报告的评分更新每个共识候选节点的信誉值,根据审计报告的完成情况以及参与共识活动情况为每个共识候选节点分配区块奖励和/或评估奖励。
6、作为优选,任务要求信息包括对审计工作者的最低信誉值的要求、投标截止时间和任务截止时间,满足最低信誉值的要求的审计工作者才能接收审计任务。
7、作为优选,信誉值由深度学习模型的性能值、评价值以及节点参与共识活动的得分构成,其中,性能值由深度学习模型检测智能合约是否存在漏洞的准确率、深度学习模型的精确率与召回率的调和平均数f1-score以及深度学习模型完成一份智能合约审计所需的平均检测时间t_avg三者决定,评价值根据任务发布者对审计报告的评价分数计算得到,节点参与共识活动的得分取决于节点参与共识活动成功次数与失败次数。
8、作为优选,准确率采用下式计算:
9、
10、其中tp为合约无漏洞且深度学习模型正确判断的样本数量,tn为合约有漏洞且深度学习模型正确判断的样本数量,fp为合约有漏洞且深度学习模型错误判断的样本数量,fn为合约无漏洞且深度学习模型错误判断的样本数量;
11、f1-score采用下式计算:
12、
13、
14、
15、其中,precision为深度学习模型的精确率,recall为深度学习模型的召回率;
16、平均检测时间t_avg采用下式计算:
17、
18、其中,tn表示单个深度学习模型第n次检测所花费时间,n为检测次数;
19、性能值采用下式计算:
20、pi(t)=l1ai(t)+l2fi(t)+l3t_avgi(t);
21、其中,l1、l2、l3为根据实际情况设定不同的参数,l1>l3,l2>l3;
22、节点参与共识活动的得分采用下式计算:
23、
24、其中,s表示节点成功完成共识活动的次数,f表示节点参与了但没有完成共识活动的次数,p为惩罚因子,p>1;
25、评价值采用下式计算:
26、
27、其中,snew表示新的评价值,β是一个介于0和1之间的常数,表示衰减因子,sold表示旧的评价值,fbm表示任务发布者对审批报告的评价分数,fbm∈[1,k],k表示评价分数的最大值,m表示最高可能的评价分数,γ是一个大于0的常数;
28、信誉值采用下式计算:
29、ri(t)=w1pi(t)+w2ci(t)+w3snew(t);
30、其中,w1、w2、w3分别表示对应的权重。
31、作为优选,获取服务提供商部署的深度学习模型并进行评估,具体包括:
32、采用服务提供商部署的深度学习模型对已知漏洞类型的智能合约进行审计,评估者根据审计结果评估深度学习模型的初始的信誉值,评估者所在节点由链上各节点投票选出。
33、作为优选,共识候选小组的筛选方式包括如下步骤:
34、每轮共识活动结束后进行视图切换,清空上一轮共识候选小组的成员;
35、审计工作者需在此轮共识活动开始前完成智能合约审计,审计完成后的节点进入共识候选小组并成为共识候选节点;
36、收到共识请求后,共识候选小组中的每个节点获取所有成员的信誉值并排序,生成一份共识名单,信誉值排名前g的节点有权进入共识候选小组并参与本次共识,其中,信誉值最高的节点将担任领导节点,其余节点则为验证节点,进行一致性协议流程。
37、作为优选,一致性协议流程具体包括:
38、请求阶段,客户端向领导节点发送请求以执行特定的操作,请求包括操作详情和客户端的签名;
39、预准备阶段,领导阶段收到请求后将其转换成一个操作,并分配一个唯一的序列号,创建预准备消息,预准备消息包括序列号、操作详情和领导节点的签名,并将预准备消息广播给所有的验证节点;
40、准备阶段,当验证节点收到预准备消息后,先验证领导节点的签名和序列号,若验证通过,验证节点则保持该操作,并进入准备状态,而后创建一个准备消息,准备消息包括序列号、操作详情和验证节点的签名,并将准备消息广播给所有节点;
本文档来自技高网...
【技术保护点】
1.一种基于智能合约安全审计的共识方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于智能合约安全审计的共识方法,其特征在于,所述任务要求信息包括对审计工作者的最低信誉值的要求、投标截止时间和任务截止时间,满足所述最低信誉值的要求的审计工作者才能接收所述审计任务。
3.根据权利要求1所述的基于智能合约安全审计的共识方法,其特征在于,所述信誉值由所述深度学习模型的性能值、评价值以及节点参与共识活动的得分构成,其中,所述性能值由深度学习模型检测智能合约是否存在漏洞的准确率、深度学习模型的精确率与召回率的调和平均数F1-Score以及深度学习模型完成一份智能合约审计所需的平均检测时间T_avg三者决定,所述评价值根据所述任务发布者对所述审计报告的评价分数计算得到,所述节点参与共识活动的得分取决于节点参与共识活动成功次数与失败次数。
4.根据权利要求3所述的基于智能合约安全审计的共识方法,其特征在于,所述准确率采用下式计算:
5.根据权利要求1所述的基于智能合约安全审计的共识方法,其特征在于,所述获取服务提供商部署的深度学习模型并
6.根据权利要求5所述的基于智能合约安全审计的共识方法,其特征在于,所述共识候选小组的筛选方式包括如下步骤:
7.根据权利要求6所述的基于智能合约安全审计的共识方法,其特征在于,所述一致性协议流程具体包括:
8.一种基于智能合约安全审计的共识装置,其特征在于,包括:
9.一种电子设备,包括:
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
...【技术特征摘要】
1.一种基于智能合约安全审计的共识方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于智能合约安全审计的共识方法,其特征在于,所述任务要求信息包括对审计工作者的最低信誉值的要求、投标截止时间和任务截止时间,满足所述最低信誉值的要求的审计工作者才能接收所述审计任务。
3.根据权利要求1所述的基于智能合约安全审计的共识方法,其特征在于,所述信誉值由所述深度学习模型的性能值、评价值以及节点参与共识活动的得分构成,其中,所述性能值由深度学习模型检测智能合约是否存在漏洞的准确率、深度学习模型的精确率与召回率的调和平均数f1-score以及深度学习模型完成一份智能合约审计所需的平均检测时间t_avg三者决定,所述评价值根据所述任务发布者对所述审计报告的评价分数计算得到,所述节点参与共识活动的得分取决于节点参与共识活...
【专利技术属性】
技术研发人员:郭荣新,廖生龙,冯建龙,吴金飞,汤婉婷,张佳源,
申请(专利权)人:华侨大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。