直截了当谈Filecoin的GPU加持
Filecoin出块基本逻辑
基本逻辑出块概率跟节点的存储功率正相关,而存储功率跟有效存储空间正相关。但是Filecoin在存储空间上存了有效数据后,需要做出证明有点复杂,而之前测试采用CPU也是力不从心,我们早就预测Filecoin需要采用GPU来完善这一步。
可以从EC共识中看到一些基本的概念。
- 第0步:预先提交
DSN上接到订单,数据填充扇区,直到完成一个完整的可密封的扇区。
- 第一步:提交
矿工完成第一次密封时,CommitSector提交到链上,开始其证明周期。
- 第二步:证明存储(PoST创建)
矿工收集证明集合(链上所有密封的扇区的集合),调用ProveStorage。
- 第三步:PoST提交
矿工完成PoST时,调用SubmitPoSt提交给网络。
查看自己是否获得出块权利,是跟Ticket相关的,每一个epoch都会有一个ticketset,每次从中选出最小的,自己生成下一个区块的ticket,然后在一个区块出块时间(30秒)内收集ticket,选出一个当选奖票,用这个当选奖票生成electionProof,然后各个矿工根据自己的有效存储率和electionProof来计算自己是否赢得出块权利。
通俗理解:
在一个epoch中,每一个矿工出一个ticket是保证随机性。
选出一个当选的ticket生成electionProof,相当于PoW中的targetHash,接下来就是矿工自己找最接近targetHash的值了。
矿工自己根据自己的Sector以及相应的数据,还有Ticket生成随机数,节点ID去找这个Partial Ticket,一个扇区一个扇区去找,如果扇区越多,找到的概率就越大,也就是说存储数据越多,找到的概率就越大。
其实这跟PoW和PoC都是一样的,PoW只是暴力去计算奖券,PoC是存储了奖券,PoST是既存储了有效数据,同时还需要一个复杂的计算过程来找奖券。
PoST计算复杂度来源: 零知识证明
有效计算能力就够了
从上面分析可看出,如果存的数据越多,想要完成全部扇区的查找就需要越大的算力,那并不是说明现在的机器就完全用不了,如果存的数据不多,有效存储扇区不多,CPU也是足够的。这种情况比如只有一两个硬盘的机器,比较好的CPU可能就是足够的。具体还要测试网测试后才能给出具体答案。
计算挖矿的思路
Filecoin的有趣地方是算力跟有效存储正相关,但能不能全部扫盘证明到就需要用到复杂计算。PoW只需要计算,PoC只需要存储,Filecoin基本是既需要存储空间,又需要计算。
只要需要计算,其发展路线是非常清晰的: CPU -> GPU -> FPGA -> ASIC
矿池的福音
Filecoin的竞争出块因为不仅仅依靠计算算力,也不是仅仅依靠存储空间,是需要将两者结合起来,所以现在PoW和PoC的矿池都是解耦合的,简单理解是PoW的比特币矿池,PoC的BHD矿池,都可以用服务器来搭建,只需要同步区块账本,接收比特币矿机、BHD矿机提交的答案信息即可,矿池节点根据根据这些答案信息去竞争出块。比特币矿机只需要计算,BHD矿机只需要扫盘和简单计算。
Filecoin的矿池其实也可以只负责同步区块账本,然后只接收Filecoin矿机的答案即可。但这样设计需要没个Filecoin矿机既需要存储也需要计算,不能让矿工简单干一件事情。
这样的Filecoin矿池也是有意义的,还有另外一种矿池,在一个局域网环境内,网络IO不是瓶颈,用一台非常强计算能力(GPU阵列或者ASIC芯片)的机器作为矿池,做两件事情,同步区块账本,为其他矿工做计算提交答案去竞争出块。
这样的设计,可以让其他大量的矿机只需要做一件事情,那就只要存储即可。只有这样的简单的矿工才能规模化,让整个去中心化存储行业做大做强。
布局
- 矿场支持,尽量让矿场来合理分配存储机器和矿池机器。
- 机器组合,在早先就搭配合理,一个机柜,放4-6台4U的机器,4U的机器支持强大的GPU显卡运算。
- 在Filecoin代码放出来第一时间,开发矿池软件。
- 小机器也尽量用高于同行性能的CPU。
- Filecoin区块账本数据不断膨胀,专业矿池节点提供服务更加稳定,矿池解耦合只用来存储是行业做大做强的关键。
- 稳定的矿池节点,对于高效检索挖矿和服务稳定是巨大裨益。
网友评论