公开/公告号CN114978739A
专利类型发明专利
公开/公告日2022-08-30
原文格式PDF
申请/专利权人 郑州航空港经济综合实验区空港人工智能研究院;
申请/专利号CN202210623520.2
申请日2022-06-02
分类号H04L9/40(2022.01);
代理机构郑州浩翔专利代理事务所(特殊普通合伙) 41149;
代理人牛雪姣
地址 450000 河南省郑州市航空港区科创中心8楼
入库时间 2023-06-19 16:30:07
法律状态公告日
法律状态信息
法律状态
2023-02-24
发明专利申请公布后的撤回 IPC(主分类):H04L 9/40 专利申请号:2022106235202 申请公布日:20220830
发明专利申请公布后的撤回
2022-09-16
实质审查的生效 IPC(主分类):H04L 9/40 专利申请号:2022106235202 申请日:20220602
实质审查的生效
2022-08-30
公开
发明专利申请公布
技术领域
本发明涉及区块链技术领域,具体涉及一种自私挖矿攻击防御方法。
背景技术
随着区块链技术的发展,去中心化的电子货币技术逐渐受到重视。以比特币为代表的去中心化的数字加密货币不断出现,其中比特币作为加密货币的先驱,提出了一套完整的无需第三方担保的电子货币系统。开创性的使用pow共识机制激励所有矿工破解数学难题,破解者获得电子账单记账权,并得到新发行的比特币,此过程被称为挖矿。然而随着系统算力的提升,挖矿难度不断提高(避免货币滥发),个体挖矿者需要数月甚至数年才能找到一个区块。为了避免收入的不确定性,个体挖矿者联合在一起组成矿池,在矿池领导者的管理下共同挖矿,按贡献比例分成,同时将坚持使用比特币协议的矿池称为诚实矿池。
在比特币系统中,若所有参与者都按比特币诚实规则挖矿,则个体收入将与其算力成正比。然而这种常态被Eyal和Sirer提出了自私挖矿攻击所打破,采用自私挖矿攻击方法的矿池为自私矿池,在自私挖矿攻击中,攻击者主动构建私有链,并根据主链的长度、攻击者的私链的长度等因素选择性地公布所隐藏的区块。攻击背后的关键思想是诱使诚实矿池浪费其采矿算力。因此,自私矿池可以获得比其公平份额更多的额外收入。Sapirshtein将自私挖矿建模为马尔可夫决策过程(MDP),得到了更强大的自私采矿策略,可以将收入任意接近最优解。Hou提出了一种新的框架SquirRL,该框架基于深度强化学习技术。其实验表明,当面对自私采矿时,采用自私采矿不是最佳选择。其他学者研究了多自私矿池模型,指出了矿池间博弈所造成的“囚徒困境”,并提供了一些策略来减少博弈所造成的算力浪费。但是上述研究者没能提出一种新的策略从根本上抵抗自私攻击,使自身利益损失较大。
发明内容
有鉴于此,本发明的目的是针对现有技术的不足,提供一种自私挖矿攻击防御方法,可有效抵抗区块链的自私攻击,保证自身利益损伤最小化。
为达到上述目的,本发明采用以下技术方案:
一种自私挖矿攻击防御方法,包括以下步骤:
S1:将采用偷渡挖矿方法的矿池称为偷渡矿池,当偷渡矿池在区块链系统中发现自私矿池时,派遣卧底矿工监控其隐藏区块数目以及当前所挖区块中隐藏的上一区块的hash值;
S2:根据卧底矿工信息,得到偷渡矿池当前系统中的分支长度和自私分支现状,利用这些信息进行挖矿战略部署;
S3:矿池收益仿真。
优选的,步骤S2的具体实施步骤为:
通过间谍,偷渡矿池掌握了自私矿池、自身矿池和诚实矿池的挖掘进度信息,在挖矿竞争中,自私矿池、自身矿池和诚实矿池三个矿池在挖矿竞争中在主链后持有不同的子链,即分支;
设l
令α作为自私矿池的总算力占比,β作为偷渡矿池的总算力占比,则诚实矿池的总算力占比为1-α-β;对于每一轮竞争的第一个区块,有以下情况:
(1)当诚实矿池首先挖到了区块,其概率是1-α-β,诚实矿池挖到一个区块后,会将其迅速公布到区块链公有链上,此时,自私矿池和偷渡矿池均会接受该区块,并结束本轮竞争进入下一轮竞争;
(2)当自私矿池首先挖到区块,其概率是α,具体步骤如下:
①偷渡矿池基于自私矿池的最新隐藏区块进行挖矿,未挖到时始终基于自私矿池的最新隐藏区块挖矿,挖到后拥有了自己的偷渡分支,则转至偷渡分支进行挖矿;
②偷渡矿池在扩展自身私有链的同时,观察自私矿池情况,若自私矿池公布了自身依赖的区块,则公布偷渡分支上所有的隐藏区块;
③偷渡矿池公布区块后,若l
(3)当偷渡矿池首先挖到区块,其概率是β,因为偷渡矿池在区块链公有链上处于领先地位,为了保持其采矿的领先权,选择隐藏自己发现的区块,并在其基础上进行隐式的挖矿;当持有的隐藏区块数量与其他分支数量相差小于2时,公布所有的隐藏区块,本轮竞争结束,进入下一轮竞争。
优选的,步骤S3中的偷渡矿池在自私挖矿攻击下的相对收益仿真计算方式如下:
相对收益定义如下:M={H,SM,TM}表示矿工的集合,其中H表示诚实矿池矿工的集合,SM表示自私矿池矿工的集合,TM表示偷渡矿池矿工的集合,i,j表示矿工,S
本发明的有益效果是:
本发明可避免自私挖矿攻击下矿池收益受损,而且能够给矿池带来额外收益,是一种零损失防御自私挖矿攻击的有效方法。
附图说明
图1为偷渡挖矿方法的流程图;
图2为α=β情景下偷渡矿池采用本发明方法的相对收益;
图3为α=β情景下偷渡矿池不采用任何防御方法的相对收益;
图4为相对收益相等的算力阈值线。
具体实施方式
下面结合附图和实施例对本发明作进一步描述。
一种自私挖矿攻击防御方法,包括以下步骤:
S1:将采用偷渡挖矿方法的矿池称为偷渡矿池,当偷渡矿池在区块链系统中发现自私矿池时,派遣卧底矿工监控其隐藏区块数目以及当前所挖区块中隐藏的上一区块的hash值;
S2:根据卧底矿工信息,得到偷渡矿池当前系统中的分支长度和自私分支现状,利用这些信息进行挖矿战略部署;
如图1所示,具体实施步骤为:
通过间谍,偷渡矿池掌握了自私矿池、自身矿池和诚实矿池的挖掘进度信息,在挖矿竞争中,自私矿池、自身矿池和诚实矿池三个矿池在挖矿竞争中在主链后持有不同的子链,即分支;
设l
令α作为自私矿池的总算力占比,β作为偷渡矿池的总算力占比,则诚实矿池的总算力占比为1-α-β;对于每一轮竞争的第一个区块,有以下情况:
(1)当诚实矿池首先挖到了区块,其概率是1-α-β,诚实矿池挖到一个区块后,会将其迅速公布到区块链公有链上,此时,自私矿池和偷渡矿池均会接受该区块,并结束本轮竞争进入下一轮竞争;
(2)当自私矿池首先挖到区块,其概率是α,具体步骤如下:
①偷渡矿池基于自私矿池的最新隐藏区块进行挖矿,未挖到时始终基于自私矿池的最新隐藏区块挖矿,挖到后拥有了自己的偷渡分支,则转至偷渡分支进行挖矿;
②偷渡矿池在扩展自身私有链的同时,观察自私矿池情况,若自私矿池公布了自身依赖的区块,则公布偷渡分支上所有的隐藏区块;
③偷渡矿池公布区块后,若l
(3)当偷渡矿池首先挖到区块,其概率是β,因为偷渡矿池在区块链公有链上处于领先地位,为了保持其采矿的领先权,选择隐藏自己发现的区块,并在其基础上进行隐式的挖矿;当持有的隐藏区块数量与其他分支数量相差小于2时,公布所有的隐藏区块,本轮竞争结束,进入下一轮竞争。
S3:矿池收益仿真。
偷渡矿池在自私挖矿攻击下的相对收益仿真计算方式如下:
相对收益定义如下:M={H,SM,TM}表示矿工的集合,其中H表示诚实矿池矿工的集合,SM表示自私矿池矿工的集合,TM表示偷渡矿池矿工的集合,i,j表示矿工,S
在仿真时考虑了三个代理,即诚实矿池、自私矿池和偷渡矿池,它们的相互作用被模拟为一个离散时间随机游走过程。在每一步中,其中一个池生成一个块,它具有与哈希算力成比例的概率,而其他池则根据他们的策略做出响应,模拟在50万步后结束,然后我们计算他们在这个过程中的相对收入,相对收入被定义为每个池在主链上所生成区块的占比。
首先,仿真了α=β场景下偷渡矿池与自私矿池的相对收益,从图2中可以看出同等算力下偷渡矿池采用偷渡挖矿方法时相对收益始终高于自私矿池,且随着偷渡矿池算力的提升,其相对收益迅速增加,相对收益始终高于其算力占比额度(系统中无攻击时的应得收益,在图中以点划参考线显示),而自私矿池的相对收益则迅速衰减,低于其算力占比额度。为了进行更加清晰的对比分析,继续仿真了偷渡矿池不采用任何防御方法的情景,从图3中可知同等算力下当系统中存在自私挖矿攻击时,偷渡矿池若不采用任何防御方法,则随着自私矿池算力的提升,其相对收益迅速降低,明显低于其算力占比额度。对比图2、3可得:当系统中存在影响矿池收益的自私挖矿攻击时,采用偷渡挖矿方法不仅可以避免自身收益受损,且获得了“额外收益”,显著逆转了自私挖矿攻击矿池的优势。
然后,仿真了α>β的场景,用于考虑偷渡矿池算力低于自私矿池算力时能否抵抗自私挖矿的攻击。图4中实线相对应的是RRER
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,本领域普通技术人员对本发明的技术方案所做的其他修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
机译: 通过异常会话连接终止来防御DDOS攻击的方法以及一种能够检测应用层的HTTP GET攻击的设备
机译: H-IoT一种针对异构物联网的分布式拒绝服务攻击的防御方法及其系统
机译: 一种DHCP攻击防御方法及装置