自从我们发布上一版本Filecoin测试网存储矿工的挖矿指南以来,发生了许多变化,当时,我们刚刚启动了测试网的第一个版本,然后我们收到了许多对测试网络不确定性的建议。我们非常感谢所有参加测试网的人,感谢你们的支持,我们已经能够迅速使我们的协议和实现成熟。如今,我们现在处于测试网的第二阶段,并且正在稳步推进主网启动。
在这篇文章中,我们提供了Filecoin挖矿的最新指南,并讨论了最近宣布的针对不断增长的Filecoin社区成员的激励和机会。
请注意,Filecoin仍在完善中,测试网提供的来自实验的新见解正在积极地纳入最终规范中,因此,在主网启动之前,重要的网络参数仍然有发生变化的可能,我们建议矿工在投入大量资金之前,购买小规模的硬件以进行测试、试验和基准测试。
参加Filecoin网络
目前,一个节点在Filecoin网络中扮演两个主要角色:存储和检索。我们预计,需要专业的矿工从事特定的角色。
存储市场
在Filecoin网络中,存储节点具有与客户签约的能力,可以在约定的时间段内存储其数据,以获取Filecoin。
为Filecoin网络提供存储的节点称为存储矿工,这些节点会定期获得使用自己创建的块扩展Filecoin区块链的能力,当他们创建一个新区块时,存储矿工将获得Filecoin奖励,并且他们可以向在区块中发送消息的其他节点收取交易费。
检索市场
节点可以另外参加检索协议,为客户提供指定的文件,以获取Filecoin。这激励了具有高吞吐量、高带宽连接的位置合理的节点参与网络,从而促进了文件的广泛且快速的分发,尤其是那些高要求的文件。
其他角色
目前,正在开发许多其他角色(例如,促进网络自我修复的“修复”节点),但尚未在任何实现中最终确定,然而,在没有这些改进措施的情况下,该网络已充分发挥作用。
存储矿工如何工作?
存储矿工的作用是代表Filecoin网络保存文件。存储矿工必须以加密方式证明他们兑现了存储文件的承诺——这是通过复制证明(PoRep)和时空证明(PoSt)机制实现的,将存储抵押到Filecoin网络本身需要FIL,这些被用作担保,以确保存储矿工履行其合同义务。
存储数据
在Filecoin网络中,数据存储在固定大小的扇区中。通常,存储矿工用代表客户存储的数据填充这些扇区,客户通过交易在特定时间段内与存储矿工签约,但是,存储矿工并没有被迫进行交易。如果存储矿工没有找到任何有吸引力的交易建议,他们可以选择做出容量承诺,用任意数据填充扇区。这使他们可以证明他们正在代表网络保留空间。如果需要,以后可以“升级”为充当容量承诺而创建的扇区,以便为将来的交易提供合同存储空间。
复制证明
一旦该扇区已被填充,复制证明会促使存储矿工封装扇区,封装是密集计算的过程的结果在所述数据的唯一表示,一旦数据被封装,存储矿工将生成复制证明;对证明运行零知识证明进行压缩;最后,将压缩结果提交给区块链作为存储承诺的证明,通过此过程为网络保留的存储称为质押。
时空证明
复制证明完成后,存储矿工必须不断证明他们仍在存储他们承诺存储的数据。这是通过时空证明完成的,时空证明是向存储矿工发出加密挑战的过程,只有直接咨询密封扇区才能正确回答。存储矿工必须在严格的时间限制内应对这一挑战;密封的计算难度确保了存储矿工必须保持对密封部门的随时访问和完整性。
在Filecoin中,复制证明面临两个不同的挑战:WindowPoSt 和WinningPoSt。
WindowPoSt
WindowPoSt是一种审计存储矿工所做承诺的机制。它将每个24小时划分为一系列窗口。相应地,每个存储矿工的保证扇区集都被划分为子集,每个窗口有一个子集。在给定的窗口内,每个存储矿工必须为其各自子集中的每个扇区提交时空证明,这需要随时访问每个受挑战的扇区,并将导致SNARK压缩的证据作为消息以块形式发布到区块链。由此,在每个24小时内至少对创建承诺容量的扇区进行一次审核,并保留一份永久的,可验证的公共记录,以证明每个存储矿工的持续承诺。
Filecoin网络期望存储文件具有持续可用性,未按规定提交WindowPoSt的扇区将导致故障,提供该扇区存储矿工将被削减 ,也就是说,他们的抵押品的一部分将被没收,他们的有效算力将会减少,在被认为完全放弃存储承诺之前,存储矿工将有有限的时间从故障中恢复,如果需要,存储矿工也将具有先发制人的宣布故障的能力,这将减少处罚,但仍必须在合理的时间内解决。
WinningPoSt
WinningPoSt是一种机制,通过这种机制存储矿工可以根据其贡献的大小获得奖励。在Filecoin网络中,时间被分散化为一系列的小时间段,区块链的高度对应于经过的时间段的数量,每当新创建一个区块,都会选出一小部分的矿工来开采新的矿块(Filecoin通过tipsets,其允许多个块而在相同的高度被开采),每个成功创建区块的当选矿工都将获得FIL奖励,并有机会向其他节点收取费用,以在区块中发送消息。
存储矿工的当选概率与其存储能力相对应,在与基础WindowPoSt相似的过程中,存储矿工的任务是在区块结束之前提交指定扇区的压缩存储证明。未能在必要的窗口中完成WinningPoSt的存储矿工将丧失开采区块的机会,但不会因未能这样做而受到处罚。
存储能力
Filecoin存储矿工的能力与存储矿工开采区块的可能性相对应,与他们代表网络密封的存储量大致成比例。为了通过简单的容量承诺进一步激励“有用”数据的存储,存储矿工有额外的机会竞争经过验证的客户提供的特殊交易。此类客户在提供涉及存储有意义数据的交易意图方面获得了认证,而存储矿工为这些交易获得的权力通过乘数得到增强。在计算了这个乘数后,给定存储矿工的总算力称为质量调整算力。
Filecoin的实现
Filecoin分布式存储网络是开源的并拥有多个实现。
在撰写本文时,最成熟的实现是基于Go语言的Lotus(应该用于访问当前测试网的实现),Lotus客户端能够在Linux和macOS上运行,可通过其文档获得有关安装和使用Lotus的详细说明。
当前至少有三个其他实现正在进行积极的开发。其中包括 go-filecoin (另一种基于Go的实现), forest(由ChainSafe开发的Rust实现)和fuhon(由Soramitsu开发 的C ++实现)。
硬件注意事项
Filecoin网络的参与者将需要确保他们的系统有足够的设备来保证他们打算担任的角色。
在不进行挖矿的情况下运行Lotus客户端
如果您不想挖矿,但仍然想运行Lotus客户端,以保留钱包或与网络连接,具有2-4个CPU内核,8GiB RAM和足够用于Filecoin的存储的系统区块链应该足够了(目前的testnet链每周增长约12GiB;减少这一存储需求的改进正在进行中)。
存储挖矿
需要指出的是,在当前状态下,Filecoin存储挖掘需要功能强大的硬件来满足存储和证明要求。这些要求主要由复制证明和时空证明机制施加的设计约束所驱动的,并在计算可行性和密码安全性之间取得平衡所驱动的。
Filecoin存储挖掘不是工作量证明挖矿,密封存储是在网络上获得能量的唯一方法,但是快速和高效的硬件才能在可接受的时间范围内计算必要的证明。协议实验室目前正在研究降低这些要求的方法(例如,通过在证明机制本身中引入效率,或者通过外包SNARK计算以消除对昂贵GPU的需求)。与此同时,在对硬件进行大量投资之前,存储矿工应仔细考虑并试验其系统的组成,以确保他们具有所需的性能。
矿机的配置参数
最佳的系统组成将在很大程度上取决于存储矿工的运营模式,包括资本支出和运营成本;因此,协议实验室无法提供任何具体建议。但是,我们已经发布了一些自己的设计,包括目前适用于测试和小规模采矿的机器的概要。
我们希望存储矿工能够根据自己的需求调整其配置;可以使用替代配置在测试网上进行挖矿,并且我们希望这些配置中的许多配置都将超过我们自己构建的效率,我们鼓励矿工进行实验,并要求感兴趣的社区成员在GitHub上分享自己的基准评分。
一般硬件问题
虽然我们无法提供具体建议,但可以提供一些一般性的指导。
CPU:根据经验,具有高时钟频率的多核CPU将加速密封过程,使存储矿工可以更快地将存储到网络上。协议实验室自己的测试数据表明,具有SHA扩展功能的AMD处理器具有比其他品牌的处理器更大的优势。
GPU:必须有强大的GPU,才能在所需的时间限制内完成SNARK计算。Lotus当前被设计为支持NVIDIA制造的芯片。我们预计将来还会有其他制造商的支持卡,我们的基准测试可帮助您深入了解成功的芯片。
RAM:当前的Filecoin网络仅支持32GiB和64GiB扇区的密封,在这些较大的扇区上执行必要的计算需要相应的增加RAM,建议采矿系统至少配备128GiB。
存储:选择合适的存储解决方案涉及很多考虑因素,也许最重要的是采矿作业所采用的特定收益模型,存储矿工目前需要保证原始存储量为1TiB以便开始挖矿,但是还有更多的影响因素超出了这一要求,矿工可能会发现这是有用的考虑。
首先,存储矿工应该牢记数据丢失将会接收到严厉的处罚;即使是一个翻转的数据位,也可能导致严重的处罚,因此,存储矿工需要实现数据冗余。
对于试图加入检索市场的存储矿工来说,考虑合并其他的存储以准备提供密封数据的“热”副本也可能是明智的,尽管可以打开一个扇区以恢复原始数据,但是支持此用例的Filecoin实现将消除这种计算负担(这是Lotus当前正在开发的功能)。
要考虑的另一个因素是Filecoin网络对高可用性的期望,虽然理论上存储矿工应该能够与大多数商品的硬盘、固态硬盘或其他非冷存储解决方案相融合,但不是所有的存储解决方案都可以保证矿池7X24小时并且高性能地工作。
当前,存储矿工还需要足够的空间来存储区块链本身。减少磁盘上区块链的占用空间是Lotus积极开发的一项功能,Filecoin的实现可能还需要额外的磁盘存储,相当于承诺存储的一小部分,用于记帐。
最后,协议实验室在测试中发现,在RAM量较低(128GiB)的系统中,使用NVMe存储作为交换空间可以作为补充,否则,存储矿工在某些操作期间可能会遇到内存不足的问题(密封需要大量内存)。
网络:使用分布式Lotus Seal工作人员(请参阅下面的“ 高级挖掘注意事项”),则建议使用高性能网络(建议使用10GbE +网卡和交换机),使用网络附加存储时,还建议使用高性能网络。
高级挖矿注意事项
如前所述,Filecoin存储挖掘主要由复制证明和时空证明所主导。复制证明本身是由几个阶段和Lotus实现所组成的,Filecoin便于这些阶段不同的机器代表团效率最大化地密封。协议实验室开发了一个示例架构,旨在利用这些功能进行大规模挖掘。在这里,我们分解了设计类似系统时要考虑的不同瓶颈。
密封预提交阶段1:在此阶段,进行PoRep SDR编码。此阶段受CPU限制,并且是单线程的(根据设计,它不适合并行化),该阶段预计需要几个小时的时间,确切的时间取决于要密封的扇形的大小,当然还取决于进行密封的机器的规格,如前所述,协议实验室发现,具有SHA扩展的AMD处理器在很大程度上加快了此过程,使用更高的效率的CPU也会提高性能。
密封预提交阶段2:在此阶段,Merkle 树的生成使用 Poseidon 哈希算法。此过程主要是与 GPU 有关的,可以将 CPU 用作替代方案,但应该预期速度会慢得多。使用 GPU 时,此阶段预计需要 45分钟 — 60分钟。
密封提交阶段1:这是执行生成证明所必需的准备工作的中间阶段。它受CPU限制,通常在数十秒内完成。
密封提交阶段2:最后,该密封阶段涉及创建SNARK,该SNARK用于在将必需的证明传输到区块链之前对其进行压缩,这是一个GPU密集型过程,预计需要20到30分钟才能完成。
协议实验室发现,将预提交阶段2、提交阶段1和提交阶段2并置在同一台计算机上是非常有效的,利用高密度计算机进行预提交阶段1.但是,预提交阶段1和预提交阶段2之间有一个很大的文件传输;在网络访问速度较慢或使用硬盘而不是固态驱动器的计算机上,这可能会超过其他方面的性能提升,在这种情况下,让所有阶段都出现在同一台机器上可能会更有效率。
时空证明主要受 GPU 约束,但可以利用具有许多内核的 CPU 来加速该过程。例如,WindowPoSt 当前必须在 30 分钟的窗口内进行;24 核 CPU 和 8 核 CPU 之间的差异可能是在以适当的余量清除该窗口与在狭窄的时间范围内进行清除之间的差异。WinningPoSt 是一种强度较低的计算,必须在 Filecoin 时期的较小窗口(当前为25秒)内完成。
加入测试网第二阶段
我们的测试网是Filecoin网络正式启动的初步阶段,我们目前处于测试网第二阶段,预计运行到2020年第三季度主网启动为止。
在测试网阶段,存储矿工可以从我们的测试网水龙头中申请文件币,作为抵押存储的必要抵押。
请注意,测试网的FIL没有任何价值,官方的FIL仅在主网启动后才可用。
Filecoin生态系统
随着主网的启动,社区成员可以有越来越多的机会参与Filecoin。
SpaceRace
为了准备主网,Protocol Labs最近宣布了一项激励计划 SpaceRace,以对测试网进行压力测试。参加者将有机会通过尽可能多地使用存储来争夺主网Filecoin。
HackFS
HackFS 是一个为期30天的虚拟黑客马拉松,旨在为分散式网络奠定基础。开发人员将构建dapp、游戏、开发工具、DeFi集成以及其他利用分散存储的技巧。HackFS将由ETHGlobal和Protocol Labs托管 ,并将拥有所有黑客马拉松的主要内容:研讨会、指导、鼓舞人心的演讲、AMA和奖品!
Filecoin Discover
Filecoin Discover是一项最近宣布的计划,旨在为Filecoin注入人类最有价值的文化和科学数据。购买Discover计划的个人将获得为期一年的质量调整存储交易,Discover充当经过验证的客户。
Filecoin开发资助计划
我们通过Filecoin开发赠款赞助捐助者,继续促进Filecoin生态系统的发展 。第4轮赠款提案的截止日期为7月1日,7月1日之前提交的我们会优先考虑,同时,我们也将继续评估在最后期限后提交的提案。第 5 轮提案将于 10 月 1 日到期,第5轮提案将于10月1日到期。
总结
区块链是复杂的,具有可移动的区块,从头开始构建成功的区块链是一项艰巨的任务,没有世界各地社区成员的支持,Filecoin不会取得今天的成就,我们对所有帮助Filecoin走到这一步的人表示由衷的感谢,并再次感谢您在主网上线之前的最后时间里所给与的支持,我们非常高兴地欢迎新的社区成员(矿工,开发人员和用户)加入,并希望本指南可以作为希望加入我们的任何人的起点,因为我们着手进行很棒的旅程!