当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于马尔可夫决策过程的PoW共识协议安全评估方法技术

技术编号:33432658 阅读:11 留言:0更新日期:2022-05-19 00:22
本发明专利技术涉及一种基于马尔可夫决策过程的PoW共识协议安全评估方法,首先使用爬虫从对应的PoW共识协议应用浏览器中爬取得到区块链应用网络环境的实时数据,通过ns3网络模拟器编程模拟待评估的区块链应用的网络环境,包括挖矿过程和交易过程的模拟,获得模拟实验结果值。再和PoW共识协议的其它一些仿真参数一起直接输入到MDP模型的模拟器中。利用MDP模型模拟诚实矿工和恶意矿工的挖矿过程、交易过程和恶意矿工的攻击过程,通过目标函数量化共识协议抗攻击能力得到共识协议安全的一轮评估结果后判断是否到达预设定的阈值并调整下轮的输入参数。经过固定轮次的马尔可夫决策过程,给PoW共识协议的创建者提供该共识协议的修改建议。建议。建议。

【技术实现步骤摘要】
一种基于马尔可夫决策过程的PoW共识协议安全评估方法


[0001]本专利技术涉及一种评估方法,具体涉及一种基于马尔可夫决策过程的PoW共识协议安全评估方法,属于区块链中的共识协议安全评估的


技术介绍

[0002]近年来,区块链技术作为一种分布式数据库系统已逐渐兴起,其是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链其去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点正是区块链技术逐渐兴起的原因。其中去中心化、不可篡改等特点保证了区块链交易和系统本身的安全性。但是区块链是一个没有中央权威的分布式对等系统,导致如何保证区块链系统安全的运行成为当前区块链研究的重点。虽然权力下放可以防止各方的腐败行为,但是它必需要有一个可靠的共识协议来作出决策。
[0003]目前使用较多的区块链应用是Bitcoin,使用的共识协议是中本聪共识协议(NakamotoConsensus),相类似的有Litecoin和Dogecoin。由于共识协议本身的限制以及存在恶意矿工为了自身挖矿收益的最大,进行破坏整体利益的攻击行为,导致共识协议的安全性面临风险。但是共识协议是实时应用在区块链系统上的,即使有源代码也无法对共识协议安全进行直接评估,比较常用的评估方法包括形式化验证和使用蒙特卡罗算法进行模拟的方法,缺点就在于很难进行不同共识协议的扩展,难以形成大规模的系统评估。同时也包括马尔可夫决策过程的使用,他们相比本专利技术的缺点在于他们对网络环境和交易过程的模拟很少,大多只使用算力和攻击者通信能力通过单一的自私挖矿攻击或者双花攻击进行评估,并没有多种攻击结合的评估方法也没有指标体系的构建,因此,迫切的需要一种新的方案解决上述技术问题。

技术实现思路

[0004]本专利技术正是针对现有技术中存在的问题,提供一种基于马尔可夫决策过程的PoW共识协议安全评估方法,该技术方案提供了一种可量化的共识协议安全评估框架,其中能够对多种已有的针对PoW共识协议的攻击的组合进行抗攻击能力的评估。使用的量化指标大致包括恶意矿工相对收宜和颠覆增益等,不同的指标可以用来量化分析不同的攻击,其中还能结合攻击者攻击时间进行评估。
[0005]为了实现上述目的,本专利技术的技术方案如下,一种基于马尔可夫决策过程的PoW共识协议安全评估方法,包括如下步骤:
[0006]步骤1)利用爬虫获得区块链系统的共识参数和网络参数及取值。通过Python使用Scrapy 库对不同PoW共识协议应用实例的浏览器,比如blockchain.com和bitinfocharts.com网站进行爬虫,爬取区块链系统中实时的系统数据区块大小size,区块生成时间t,区块奖励r,区块传播时延lay,交易费用v,区块奖励reward,存入mysql数据库中。将爬取到的安全指标从数据库中读取出来,并定义为变量和函数参数的形式。
[0007]步骤2)使用ns3网络环境模拟器对需要进行安全评估的PoW共识协议包括NC和非NC 的共识协议的应用进行模拟,主要模拟共识协议的挖矿过程以及交易过程所需要的网络环境,将步骤1)爬虫得到的实时数据输入到模拟器中运行以后得到孤块率rs,区块传播时间 pro_time,吞吐量tho,吞吐量等仿真实验结果值。
[0008]步骤3)利用MDP对PoW共识协议进行安全评估。具体步骤如下
[0009]a)将步骤2)获取的模拟实验结果值孤块率rs以及鲸鱼攻击影响力ω,矿工算力α,确认次数c,生成的区块数量n和安全阈值threshold等安全参数直接输入到MDP模型中。
[0010]b)利用MDP模型模拟诚实矿工和恶意矿工的挖矿过程和交易过程。确定从攻击的角度使用马尔可夫决策过对共识协议进行抗攻击能力的分析所使用的攻击,包括顽固挖矿攻击、鲸鱼攻击以及顽固挖矿攻击和鲸鱼攻击的组合攻击。将这些攻击的挖矿过程结合由步骤2) 编成的PoW共识协议不同应用的网络环境,比如Bitcoin和Litcoin等,编码形成多个ns3网络模拟器的挖矿事件函数。此外由于涉及到鲸鱼攻击,所以需要进行交易的模拟,将交易过程加入到挖矿事件中。
[0011]c)定义矿工M={M1,M2,......,Mn},用来启动b)中定义的挖矿事件。并且定义恶意矿工M
a
={M
a
1,M
a
2,....,M
a
n}和诚实矿工M
h
={M
h
1,M
h
2,.....,M
h
n},且M
a
∪M
h
=M。在主函数启动整个程序,启动挖矿事件。
[0012]d)定义动作空间,即action={override,wait,adopt,compete},并将恶意矿工的挖矿中选择不同动作的情形,编码形成攻击的决策矩阵。
[0013]e)定义状态空间,即state={irrelevant,relevant,active},并结合定义的动作空间以及决策矩阵,将每次做出一个决策后所发生的状态变化和链长变化编写成矩阵的形式,即状态转移和回报矩阵,最后判断生成的区块个数是否达到预先设定的区块数。状态由三元组的形式来表示state_translation={l
a
,l
h
,state}。回报矩阵用来累计计算恶意矿工采取不同动作后,诚实矿工和恶意矿工所获得的收益情况。
[0014]f)通过b)MDP中的目标函数量化共识协议的抗攻击能力,比如量化函数可以是下式恶意矿工的相对收入,R
a
代表恶意矿工获得的收入,R
h
代表诚实矿工获得的收入,T
a
代表恶意矿工攻击失败的所进行的挖矿时间:
[0015][0016]步骤4)分析步骤3)得到的量化结果,和预先设定的阈值进行对比,修改输入的参数,再次进行一轮马尔可夫决策过程。进行多轮的马尔科夫决策过程计算,记录得到的所有量化结果以及对应的输入参数。
[0017]步骤5)对PoW共识协议安全评估结果进行分析,给出对于鲸鱼攻击和顽固挖矿攻击以及它们的组合攻击的最优抗攻击策略,并且给出完善该PoW共识协议的意见或者给PoW 共识协议的使用者提供规避风险的意见。所述步骤5)中对获得的量化结果进行多种分析,并对共识协议的创建者给出修改意见,来完善或者新建一个更优的共识协议,具体如下:
[0018](1)分析多种参数对量化结果的影响。通过模拟实验,画出折线图,分析攻击者的算力、攻击者的通信能力、交易费用以及废块率对量化结果的影响;
[0019](2)分析参数之间互相影响的关系,区块大小和区块生成时间对废块率的影响、区
块传播时间对γ的影响和区块奖励和区块的交易费用对鲸鱼攻击所需要使用的交易费用的影响以及对鲸鱼攻击影响力的影响;
[0020](3)最终结合分析得到的数之间互相影响的关系,向该PoW共识协议的创建者给出完善本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于马尔可夫决策过程的PoW共识协议安全评估方法,其特征在于,所述方法包括以下步骤:步骤1)利用爬虫获得区块链系统的共识参数和网络参数及取值;步骤2)使用ns3网络环境模拟器对需要进行安全评估的PoW共识协议包括NC和非NC的共识协议的应用进行模拟,步骤3)利用MDP对PoW共识协议进行安全评估;步骤4)分析步骤3)得到的量化结果,和预先设定的阈值进行对比,修改输入的参数,再次进行一轮马尔可夫决策过程;步骤5)对PoW共识协议安全评估结果进行分析,给出对于鲸鱼攻击和顽固挖矿攻击以及它们的组合攻击的最优抗攻击策略,并且给出完善该PoW共识协议的意见或者给PoW共识协议的使用者提供规避风险的意见。2.根据权利要求1所述的基于马尔可夫决策过程的PoW共识协议安全评估方法,其特征在于,步骤1)利用爬虫获得区块链系统的共识参数和网络参数及取值,具体如下,通过Python使用Scrapy库对不同PoW共识协议应用实例的浏览器,blockchain.com和bitinfocharts.com网站进行爬虫,爬取区块链系统中实时的系统数据区块大小size,区块生成时间t,区块奖励r,交易费用v,存入mysql数据库中,将爬取到的安全指标从数据库中读取出来,并定义为变量和函数参数的形式。3.根据权利要求2所述的基于马尔可夫决策过程的PoW共识协议安全评估方法,其特征在于,步骤2)使用ns3网络环境模拟器对需要进行安全评估的PoW共识协议包括NC和非NC的共识协议的应用进行模拟,模拟共识协议的挖矿过程以及交易过程所需要的网络环境,将步骤1)爬虫得到的实时数据输入到模拟器中运行以后得到孤块率rs,区块传播时间pro_time,吞吐量tho,吞吐量等仿真实验结果值。4.根据权利要求3所述的基于马尔可夫决策过程的PoW共识协议安全评估方法,其特征在于,步骤3)利用MDP对PoW共识协议进行安全评估,具体步骤如下:a)将步骤2)获取的模拟实验结果值孤块率rs以及鲸鱼攻击影响力ω,矿工算力α,确认次数c,生成的区块数量n和安全阈值threshold安全参数直接输入到MDP模型中;b)利用MDP模型模拟诚实矿工和恶意矿工的挖矿过程和交易过程,确定从攻击的角度使用马尔可夫决策过对共识协议进行抗攻击能力的分析所使用的攻击,包括顽固挖矿攻击、鲸鱼攻击以及顽固挖矿攻击和鲸鱼攻击的组合攻击,将这些攻击的挖矿过程结合由步骤2)编成的PoW共识协议不同应用的网络环境,编码形成多个ns3网络模拟器的挖矿事件函数;c)定义矿工M={M1,M2,......,Mn},用来启动b)中定义的挖矿事...

【专利技术属性】
技术研发人员:王璐璐孙薛湧包骐豪李必信
申请(专利权)人:东南大学
类型:发明
国别省市:

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

1