由于 Chia矿池协议漏洞,第一家Chia新协议矿池关闭

2021年8月8日,Chia新协议矿池Maxiopool正式宣布关闭。据该矿池的官方公告,Maxiopool矿池关闭原因是Chia官方池协议代码中有重大缺陷,导致矿池无法继续运营。据知情用户反馈,Maxiopool矿池关闭的原因一是采用的Chia官方池协议存在漏洞,二是服务器成本过高导致的财务危机。


​以下是云基础设施架构师Chris Dupres针对协议漏洞的分析:

​8月8日,Chia新协议矿池Maxiopool宣布永久关闭。这是一个不幸的消息,不过我们更应该关注的是他们关闭的原因:MaxioPool在链上池协议中发现了一个漏洞。他们发现、测试并证明,作恶矿工可以提交不完整的绘图到矿池,这也能向矿池证明网络空间,但却无法出块。以下我们将把这种攻击方式命名为懒惰矿工攻击(Lazy Farmer Attack.)。

首先,我想祝Maxiopool团队一切顺利。我曾与该团队一起合作测试官方矿池协议,那段并肩作战的时光十分愉快,因此,我也不认为他们的团队会轻率地做出永久关闭的决定。在我采访过的所有矿池运营商中,他们是投资最多的运营商之一,他们开发了定制软件和一系列实用工具,助推Chia网络的长期发展。


他们发现的漏洞,相当容易实现,如果矿工在new_proof_of_space中标注出了/chia/farmer/farmer_api.py,就可以让Chia客户端不为区块签名,但仍可以继续将这个未完成的区块正确提交到矿池中。不过这种攻击的动机似乎有些奇怪,毕竟为什么有人会想提交未签名的区块,然后让自己一个块都出不了呢?

攻击者的动机是这样的:假设我是一个恶意的矿池运营商,我想尽可能扩大我的网络空间。

一种方式是我可以把尽可能多的矿场接入到我的矿池,就像所有理智的参与者一样,用诚实的方式来挖矿。而另一种方式是,我可以稍微修改我的Chia客户端,接入我的主要竞争对手的矿池,用这个无法出块的客户端来降低他们的出块几率。如果我接入竞争对手矿池的恶意客户端数量够多,将能对手矿池产生实质性影响,减少接入对手矿池的矿工收益,使对手矿池的收益比自己矿池的低。

在这之后,再到ChiaForum或者Reddit发布竞对矿池和自己矿池的收益对比,这样一来,对手矿池的矿工就会纷纷开始退出。

所以利用这个漏洞的动机就是,矿池运营商之间为抢占市场份额的恶意竞争,一个矿池运营商利用这个漏洞去恶意打压其他的矿池运营商,从而使自己成为市面上最好的矿池。同时,这种攻击的成本非常低,只需要简单的修改客户端,并将客户端加入竞争对手池,并不需要什么额外的成本。

当MaxioPool联系到Chia官方团队,并提供了关于该漏洞的详细信息后,他们被解雇了,因为官方团队无法理解为什么会有恶意矿池要这么做。但是这样的系统漏洞被利用的风险还是很高的,毕竟每天都有攻击成本更高、收益更少的漏洞被用于牟利,即使现在还没有人利用这个漏洞作恶,未来也很可能会有。


那MaxioPool有没有可能是因为其他原因而关闭, 只是拿这个系统漏洞作借口的呢?答案是有这种可能。不过,我过去曾与MaxioPool合作过,并与他们的团队在很多场合交流过,

他们对Chia生态的发展十分关心和支持,并一直在努力为生态做贡献,我自己也是使用MaxioPool来挖矿,所有我还是选择相信他们。

这是一个可行的漏洞,恶意的矿池运营商绝对有动机利用它。与此同时,要监测出这个漏洞利用又是非常困难的,如果没有大量的数据,很难判断出是系统漏洞被利用还是简单的运气不好。

这种漏洞的根本原因,注意我把这称为漏洞(Exploit)而不是错误(Bug),是Chia区块链架构是围绕矿工签署区块设计的。因此只要矿工还有权控制出块的过程,他们就有机会做出不符合自身利益的破坏行为。如果一旦有外部利益激励,例如矿池运营商之间的恶意竞争,矿工就很有可能会参与作恶。我希望Chia官方可以认真对待这一漏洞,否则这个标榜“官方”的矿池协议有可能会被抛弃。


_______________________________

作者 | Chris Dupres

翻译&校对 | 林芒果

本文由矿视界(奇迹摩尔)翻译整理编辑,如需转载,请标明出处

写评论,请先登录