来自 @不能说的秘密的提问: 什么是扣块攻击,为什么说它让矿池蒙受损失,而不会损害矿工的利益? 知矿大学小编 @OWEN 的回答: 扣块攻击有两种,一种是为了“双花”而发起的攻击,由比特币链上交易的第一位接受者HalFinney提出,因此这种攻击也被称为“芬尼攻击”。 第二种扣块攻击是指矿工找到合法的区块之后,私自把区块扣下不对外发布。@不能说的秘密 的提问,指的就是这一种,下面我们就来介绍这类扣块攻击。 01 要说扣块攻击,得从矿池的概念说起。知矿大学在《什么是比特币矿场和矿池?》中介绍过:
扣块攻击的问题就出在提交工作成果上。 找到符合比特币系统要求的解,对于单独的矿工来说,是极小概率事件。矿池为了更好衡量矿工们的工作量,会给矿工们设置一个合理的提交工作成果(Share)的门槛。 挖矿这个过程类似一个抛256枚硬币的游戏,假设系统规定挖出新区块需要从第一枚硬币开始至少连续20枚硬币正面朝上,这个难度对于单个矿工来说太难了,矿池为了更好衡量矿工们的工作量,规定矿工只要从第一枚硬币开始至少连续10枚硬币正面朝上的结果,便计作该矿工的有效工作量证明。 扣块攻击是指,恶意矿工在找到满足矿池要求结果,但不满足比特币系统要求的结果时,正常向矿池提交工作证明;一旦得到满足比特币系统要求的结果时,也就是真的挖到区块时,则把这个结果私自扣下,不向矿池提交,矿池便因此损失了对应的奖励。 02 扣块攻击对矿池的伤害很大。第三次产出减半之后被扣下一个块,就损失了6.25枚BTC(忽略打包矿工费),按目前价格,约?40万。矿池持续遭受扣块攻击,矿池的幸运值长期偏低,蒙受巨大损失,严重的甚至会导致矿池的倒闭。 为什么说发起扣块攻击对恶意矿工几乎不会有影响呢?这要从矿池的结算方式说起。目前主流的结算方式是FPPS和PPS+。矿池根据矿工提交的工作量证明,也就是按照理论产出给矿工结算收益。 欲对矿池发起“扣块攻击”的恶意矿工,肯定也是选择这样的结算方式。对于恶意矿工来说,提交满足矿池要求的工作量证明(Share)与提交满足比特币系统要求工作量证明,这两者的频次之比是相当悬殊的,初略估计前者是后者的数十万倍,也就是说,矿工向矿池提交数十万次工作量证明,才会有机会碰到一次扣块攻击,10万次有效的工作量变成了9.9999万次,这对矿工收益的影响可以忽略不计。但这个行为频次虽然很低,但每次都是数十万元的损失,这对矿池的损害特别大。 ▲矿工发起扣块攻击频次示意图 那么问题来了,矿工为什么要发起扣块攻击这种“损人不利己”的行为呢?答案是矿池之前的恶性竞争。矿池是一个竞争非常激烈的赛道。有的矿池为了搞垮竞争对手,会把自己的算力“卧底”到其他矿池,意图发起扣块攻击,给对方造成经济损失,削弱竞争者的实力。 ▲神鱼曾在微博上公开指责过这种恶意竞争的行为 03 因为比特币底层协议的原因,目前在技术层面上,矿池对扣块攻击没有有效的预防手段。矿池只能在察觉到幸运值异常之后,再去核对单个用户的出块情况。如果发现某些用户出块数据显著低于平均水平,就把这些有明显嫌疑的矿工移出矿池。当然,这种做法是有可能会错杀的,把没有发起过扣块攻击矿工判定为恶意矿工,但矿池要截断亏损,只能把嫌疑矿工踢出矿池,这也是不得已而为之。 矿池可以通过改变收益的分配模式来防止矿工发起扣块攻击。矿池把分配模式从PPS类换成PPLNS,PPLNS的分配模式下,矿池和矿工的关系相当于公司与公司合伙人,合伙人与公司是命运共同体,盈亏与公司同步。 既然这样,那矿池主流的分配模式是PPS类,而不是PPLNS呢?限于篇幅,我们就不在此展开了,后续找机会再来分解。 感谢李世胜和闪电对本文的指导。 本文来源:知矿大学 —- 编译者/作者:知矿大学 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
「知矿大学问答」什么是扣块攻击?
2020-07-03 知矿大学 来源:火星财经
LOADING...
相关阅读:
- 雷凯趋势:比特币早间成功抓获第一波200点的利润2020-10-31
- starlink星链|中国信通院发布2020年区块链行业十大趋势2020-10-31
- bitFlyer推出区块链房屋租赁2020-10-31
- 伊朗将允许矿工向央行出售比特币等加密货币?2020-10-31
- DigiFinex(D网)阿波罗新项目—HOLLY.GOLD影视公司携五大作勇闯好莱坞2020-10-31