跳池攻击Pool hopping attack

矿池对收益的结算模式

几种主流的方式

Proportional

       这是一种比较直接的奖励机制,它使用当前矿池发现的上一个区块到下一个区块被发现作为一个周期,统计在这之间每个矿工所提交的share,然后计算每个矿工所占的份额,即百分比,然后发放区块奖励

       其实这样就很容易导致一种情况,随着一个周期时间的增长你在这个矿池所提交的share会变得越来越不值钱,因为什么时候能挖到块是不确定的,而如果在一个周期的一开始就挖到了块,哪怕你只提交了几个share也能获取比在之后提交几百个share更多的收益,看得出来这种模式并不健康

       这种模式是早期比特币矿池采用的奖励机制,但是这种模式容易导致矿工采用一种跳池(Pool hopping)的策略来获取更多收益,这个我们后面再叙述,所以这种模式目前基本被弃用了

Pay-per-share (PPS)

       在这种模式下,矿池将按照矿工所提交的share即刻支付费用,矿池会根据你的算力在矿池的占比,并估算矿池的算力每天所能取得的收入来给你分配收益,一般每个sahre的费用是固定的,这样的话矿工每天所能取得的收入就比较稳定了,不过这样的话矿池就得承担一定的风险,所以就需要对矿工收取更高的手续费,这也算是稳定所需要付出的代价吧

Pay-per-last-N-shares (PPLNS)

       PPLNS与PPS很类似,但是它取的是区块发现前提交的N个share来分发奖励,N是固定了,但是什么时候发现区块并不确定,所以总share大于N就得舍弃一部分,小于N又得重复计算一部分,这样的好处是避免了Proportional中share不断的贬值情况,于是也就能防范跳池的矿工

Slush’s Method

       这种方法是在Proportional的基础上进行了改进,初衷是想对抗跳池的策略,它按矿工提交的share计算积分,而每个share所值的积分随着时间的增长而不断提高,这算是对于Proportional中时间较长的周期的最后一个share的奖励过低的一部分补偿,但是这种方法并没有完全消除Proportional的影响,发现的两个区块间隔较短的时候,每个share依然非常值钱,理论上来讲还是存在跳池的可能

Geometric method

       这种方法是对Slush’s Method的进一步改进,它也是对share进行积分,越后面的share获得的积分也越多,但是积分的增长方式不同,这里是以指数级增长,所以随时间的推移每个share所取得的回报也呈现指数级的下降,这就遏制了前面提交的share的价值

当然了,具体的算法设计要更加精巧,最终计算得到的奖励的期望在采取跳池策略与否的情况下是相同的,所以可以完全避免跳池策略的攻击

       除了这些方法还有很多的奖励分发模式,比如MPPS,SMPPS,ESMPPS等,这里就不一一介绍了,有兴趣的可以自行了解

矿池的类型

托管矿池

       托管矿池应该算是目前的主流,即一个矿池有一个中心服务器,对其下属的所有矿机进行协调与管理,同时这个服务器一般也会与一个或多个完全节点进行同步,这样就可以帮助下属的矿工完成对区块的验证,从而缓解矿机的压力,毕竟一个完整的区块副本还是很大的,这样矿工们也可以投入更多的算力获取更多的利润

p2p矿池

       因为托管矿池的管理员存在作弊的可能,尤其是那些大矿池,如果有那个意愿他们是可以控制区块的走向,所以后面又出现了p2p 矿池

       如它的名字所示这种矿池没有中心服务器,取而代之的是一个名为份额链的类似于区块链的系统,矿工们在这条链上进行挖矿,这条链的难度远低于比特币,基本上30秒一个块,大家在这里计算并由该份额链统计share,当份额链有一个区块头的hash满足比特币的难度需求时,这个区块就算是挖矿成功的结果了,并将被广播出去,然后份额链将对区块奖励按照统计的share进行分发,其实就是使用一个区块链系统实现了一个中心服务器

       不过这种矿池相比托管矿池要复杂的多,效率也相对比较低下,所以现在也在慢慢淡出市场,毕竟资本总是逐利的

矿池攻击

Pool hopping

       这个其实在前面我们已经提到过几次了,对于Proportional的奖励模式,如果有矿池的运气不太好很长时间都没有挖到区块,在这个矿池里的矿工的share就开始不断贬值,相当于算力越来越不值钱,这时候一些矿工就可以选择将其算力转到另一个刚挖到区块的矿池下去挖矿,因为这时候时间刚开始计算,每个share的价值比较高,相当于算力也比较值钱,如果一段时间没有挖到,他也可以选择再次跳池,一直去寻找share价值比较高的地方,至于前面所耗费的算力能值多少钱就不用太关心了

       采用这种策略在统计学上来讲最终获得的收益肯定是要比你一直待在一个池里不动的收益要来得多的,不过随着现在矿池的收益分发策略的改变这种攻击策略已经不可行了

Block withholding

感兴趣可看原文了解

参考:

矿池攻击了解一下
The Miner’s Dilemma
Analysis of Bitcoin Pooled Mining Reward Systems
区块链中的自私挖掘研究与分析
关于比特币中 BWH 攻击的一个注记
POW共识算法中的博弈困境分析与优化

猜你喜欢

转载自blog.csdn.net/qq_41084082/article/details/121398467