近日读了胡飞瞳的一篇文章《Filecoin 攻击之二:预挖攻击》。文章详细解释了Filecoin系统中的一种“攻击”:预挖矿。读完这篇文章,对Filecoin测试网在一开始出现的一些状况有了全新的理解和认知,并且对Filecoin主网上线后的某些可能状况也有了一定的预判。
今天,我就和大家来分享这篇难得的好文章。
所谓的“预挖攻击”,按原文的解释就是“在网络还没有启动的时候就准备了大量的算力,等网络上线,直接加载算力,跑在前面。等你上线初始化时,他人已经准备了好几天了”。
“预挖”这个说法其实在公链领域并不新鲜,不少数字货币都是有预挖的,但绝大多数预挖都是项目方自己在主网上线前就先挖了一部分数字货币,然后待主网上线后,矿工们才开始参与挖矿。
既然“预挖”一直就有,那为什么在Filecoin里,“预挖”成了一种攻击呢?根本原因在于Filecoin中的某些特点会导致某些参与挖矿的矿工会占据不平等的先天优势而比其它矿工多挖币。
那么Filecoin系统中有哪些因素会导致可能出现的不平等呢?这就要看Filecoin挖矿的关键点了。
在以前的分享中,曾经介绍过,Filecoin挖矿有个关键的数据要计算,这个数据就是“复制证明。计算“复制证明”需要的参数有三个:
1. 矿工 actor 地址
2. 数据本身
3. sectorID
在这三个数据中,第1个和第3个都是矿工可以在测试网上线前就预先创建的,而2是矿工可以事先准备的。所以说到底,这三个参数完全可以由矿工自己创建。
因此矿工完全可以把数据都创建好,只待测试网上线,发令枪一响就可以把算力往系统上堆,抢挖矿了。
Filecoin项目方认为这是系统的一个问题,同时也提出了对这个问题的解决方案:引入随机数,这个随机数是主网上线后才产生的,矿工无法预知,所以在这种情况下,矿工就没法预挖矿。
但在我看来,从文章的论述中看不出“预挖矿”对各个参与挖矿的节点有什么不公平之处。
文章引述了协议实验室项目方的话来描述“预挖矿”。而从引文的日期看,项目方早在2019年8月就公开谈到了“预挖矿”的问题,比12月12日上线的测试网足足早了3到4个月。
所以我相信所有有志于参与Filecoin测试网挖矿的矿工都应该知道这个“预挖矿”的窍门。那既然大家都知道这个窍门,肯定也都会作这方面的准备。
如果大家都准好了预挖矿的准备,就相当于大家还是处在同一条起跑线上,那最后谁能抢到预挖矿还是要看谁的技术更强。
这篇文章末尾的一句话说:“主网上线时还有预挖吗?不知道,但看起来是的。网络总是需要算力维持的,不要太高就好”。
这句话的意思是,极有可能主网仍然存在预挖矿的问题。那么为了在主网上线前准备好算力预挖矿,各个挖矿服务商一定会大力招商引资,扩充设备和系统,积极备战了!
声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。