新闻中心

官方|Filecoin存储挖掘最新指南

发布时间:2020-07-08

现在Filecoin的第二阶段测试中,并稳步地向主网的发布迈进。

在这篇文章中,官方提供了Filecoin存储挖掘的最新指南,并讨论了最近宣布的一些奖励措施和为不断壮大的Filecoin社区成员提供的机会。

值得注意的是,Filecoin仍在完善中。从测试中提供新见解正在积极地并入最终规范中。因此,在主网启动之前,重要的网络参数仍然会发生变化。官方强烈鼓励矿工在投入大量资金之前,购买小规模的硬件以进行测试,试验和基准测试。

7.8.2.png

参加Filecoin网络

目前,节点可以在Filecoin网络中扮演两个主要角色:存储和检索。我们预计,矿工将寻求专门从事特定角色。

存储市场

在Filecoin网络中,节点具有与客户端签约的能力,可以在约定的时间段内存储其数据,以换取Filecoin。

为Filecoin网络提供存储的节点称为存储矿工。这些节点会定期获得使用自己创建的块扩展Filecoin区块链的能力。当他们创建一个新区块时,存储矿工将获得新铸造的Filecoin奖励,并可以通过交易费用向试图在区块中包含消息的其他节点征收费用。

检索市场

节点可以另外参加检索合同,为客户提供指定的文件,以换取文件币。这激励具有高吞吐量、高带宽连接的位置良好的节点参与网络,促进文件的广泛和快速分发——尤其是那些要求很高的文件。

其他角色

目前正在开发许多其他角色(例如,促进网络自我修复的“修复”节点),但尚未在任何实现中最终确定或支持。但是,如果没有这些建议的改进,网络将完全正常运行。

存储开采说明

存储矿工的作用是代表Filecoin网络保存文件。存储挖掘器必须以密码方式证明他们遵守了存储这些文件的承诺——这是通过复制证明(PoRep)和时空证明(PoSt)机制实现的。将存储抵押到Filecoin网络本身需要Filecoin。这些被用作担保,以确保存储矿工履行其合同义务。

储存资料

在Filecoin网络中,数据存储在固定大小的扇区中。通常,存储矿工用代表客户存储的数据填满这些扇区,客户通过交易在特定时间段内与存储矿工服务签约。但是,存储矿工并没有被迫进行交易。如果存储矿工没有找到任何有吸引力的交易建议,他们可以选择做出容量承诺,用任意数据填充扇区。这使他们可以证明他们正在代表网络保留空间。如果需要,以后可以“升级”为充当容量承诺而创建的扇区,以便为将来的交易提供合同存储空间。

复制证明

一旦该扇区已被存满,复制证明看到存储矿工密封 扇区-密封是计算密集的过程的结果在所述数据的唯一表示(原始表示随后可以通过重构开封)。一旦数据被密封,存储矿工:生成证明;对证明运行SNARK进行压缩;最后,将压缩结果提交给区块链,作为存储承诺的证明。通过此过程为网络保留的存储称为抵押存储。

时空证明

复制证明完成后,存储矿工必须不断证明他们仍在存储他们承诺存储的数据。这是通过时空证明完成的,时空证明是向存储矿工发出加密挑战的过程,只有直接咨询密封扇区才能正确回答。存储矿工必须在严格的时间限制内应对这一挑战;密封的计算难度确保了存储矿工必须保持对密封扇区的随时访问和完整性。

WindowPoSt

WindowPoSt是一种机制,可用来审核存储矿工的承诺。它看到每个24小时的时间段分成为一系列的窗口。相应地,每个存储矿工的保证扇区集都被划分为子集,每个窗口一个子集。在给定的窗口内,每个存储矿工必须为其各自子集中的每个扇区提交时空证明。这要求可以立即访问每个面临挑战的扇区,并将导致将SNARK压缩的证据作为消息以块形式发布到区块链。这样,在每个24小时内至少对一次保证存储的每个扇区进行一次审核,并保留一个永久,可验证的公共记录,以证明每个存储矿工的持续承诺。

Filecoin网络期望存储的文件具有恒定的可用性。没有提交一个扇区的窗口将导致一个故障,供应该扇区的存储采矿者将被大幅削减——也就是说,他们的部分抵押品将被没收,他们的存储能力(见下面的存储能力)将被降低。储存采矿者将有一段有限的时间从故障中恢复,然后将被认为完全放弃其储存承诺。如果出现这种需要,存储采矿者也将有能力预先宣布错误,这将导致减少处罚,但仍必须在合理的时间范围内处理。

WinningPoSt

WinningPoSt是一种机制,通过这种机制可以奖励存储矿工的贡献。Filecoin网络中,时间是离散成一系列的时代——区块链的高度对应于运行时期的数量。在每个历元的开始处,存储的矿工的少数当选到矿井新块(Filecoin利用 tipsets,其允许多个块而在相同的高度被开采)。每个成功创建区块的当选矿工都将获得Filecoin,以及向其他节点收取费用以在块中包含消息的机会。

存储矿工的当选概率与其存储能力相对应。在一个类似于底层WindowPoSt的过程中,存储矿工的任务是在纪元结束前提交指定扇区的压缩存储证明。未能在必要的窗口中完成WinningPoSt的存储矿工将丧失开采区块的机会,但不会因此而受到处罚。

存储能力

Filecoin存储矿工的能力与选择存储矿工开采区块的可能性相对应,与他们代表网络密封的存储量大致成比例。为了通过简单的容量承诺进一步激励“有用”数据的存储,存储矿工有额外的机会竞争经过验证的客户提供的特殊交易。此类客户在提供涉及存储有意义数据的交易意图方面获得了认证,并且存储矿工为这些交易赚取的权力将通过乘数得到增强。考虑到该乘数后,给定存储矿工拥有的总电量称为质量调整后的 电量。

Filecoin实现

Filecoin分布式存储网络是一种具有多种实现的开放规范。

在编写本文时,最成熟的实现(应该用于访问当前测试网的实现)是基于go-Lotus。Lotus客户端能够在Linux和macOS上运行;可通过其文档获得有关安装和使用Lotus的详细说明。

当前至少有三个其他实现正在进行积极的开发。其中包括 go-filecoin (另一种基于Go-based), forest(由ChainSafe开发的Rust实现)和fuhon(由Soramitsu开发的C ++实现)。

硬件注意事项

Filecoin网络的参与者将需要确保他们的系统有足够的装备来履行他们打算担任的角色。

运行Lotus客户端而不进行挖掘

如果您不想挖矿,但仍然想运行Lotus客户端,以保留钱包或与网络连接,具有2-4个CPU内核,8GiB RAM和足够用于Filecoin的存储的系统区块链应该足够了(当前的测试链每周增长约12GiB;正在进行减少该存储需求的改进)。

存储挖矿

需要指出的是,在当前状态下,Filecoin存储挖掘需要功能强大的硬件来满足存储和证明要求。这些要求主要由复制证明和时空证明机制加以设计约束和可访问性,计算可行性和密码安全性之间的平衡所驱动。

Filecoin存储挖掘不是工作量证明挖掘,密封存储是在网络上获得能量的唯一方法,但是需要快速高效的硬件才能在可接受的时间范围内计算必要的证明。协议实验室目前正在研究放松这些要求的方法(例如,通过在证明机制本身中引入效率,或者通过外包SNARK计算以消除对昂贵GPU的需求)。但是,与此同时,在对硬件进行大量投资之前,潜在的存储矿工应仔细考虑并试验其系统组成,以确保他们具有所需的性能。

挖矿机械和基准

最佳的系统组成将在很大程度上取决于存储矿工的运营模式,包括资本支出和运营成本;因此,协议实验室无法提供任何具体建议。但是,官方已经发布了一些适用于测试和小规模采矿的机器的概要。

官方希望存储矿工能够根据自己的需求调整其配置;可以使用替代配置在测试上进行挖掘,并且官方表示希望这些配置中的许多配置都将超过官方自己构建的效率。官方鼓励进行实验,并会邀请感兴趣的社区成员在GitHub上分享自己的基准评分。

一般硬件问题

官方无法提供具体建议,但可以提供一些一般性指导。

CPU:根据经验,具有高时钟频率的多核CPU将加速密封过程,使存储矿工可以更快地将存储到网络上。协议实验室自己的测试表明,具有SHA扩展功能的现代AMD处理器具有 比其他处理器更大的优势。

GPU:必须有强大的GPU,才能在所需的时间限制内完成SNARK计算。Lotus当前被设计为支持NVIDIA制造的芯片。官方预计将来还会有其他制造商的支持卡。官方的 基准测试 可帮助您深入了解成功的芯片。

RAM:当前的Filecoin网络仅支持密封32GiB和64GiB扇区。在这些较大的扇区上执行必要的计算需要相应的更多RAM。建议挖矿系统至少配备128GiB。

存储:选择合适的存储解决方案涉及很多考虑因素,也许最重要的是挖矿作业所采用的特定收益模型。存储矿工目前需要保证原始存储量为1TiB(或质量调整后的等同量;主板将增加到100TiB),以便开采区块,除了这个要求之外,还有更多的因素需要考虑:

①存储矿工应该牢记数据丢失的严厉处罚;即使翻转一位也可能导致严厉的处罚。因此,存储矿工可能希望考虑开销以实现数据冗余。

②对于试图加入检索市场的存储矿工来说,考虑合并其他存储以准备提供密封数据的“热”副本也可能是明智的。尽管可以打开一个扇区以恢复原始数据,但是支持此用例的Filecoin实现将消除这种计算负担(这是Lotus当前正在开发的功能)。

③另一个需要考虑的因素是Filecoin网络对高可用性的期望。虽然理论上存储矿工应该能够与大多数商品的硬盘,固态硬盘,或其他合适的非冷存储解决方案,但在进行24 / 7作业时,并不是所有的存储方案都能获得最佳效果。

④存储采集器目前也需要足够的空间来存储区块链本身;减少磁盘上区块链的占用空间是Lotus活动开发中的一个特性。Filecoin实现也可能需要额外的磁盘存储,相当于承诺存储的一小部分,用于记帐。

⑤最后,协议实验室在测试中发现,将NVMe存储用作交换空间可以在具有较少RAM(128GiB)数量的系统中用作补充。否则,存储矿工在某些操作期间可能会遇到内存不足的问题(尤其是密封需要大量工作内存)。

网络:如果使用分布式Lotus Seal工作人员,则建议使用高性能网络(建议使用10GbE +网卡和交换机)。使用网络附加存储时,还建议使用高性能网络。

先进的挖矿注意事项

如前所述,Filecoin存储挖掘主要由与复制证明和时空证明机制相关的问题。复制证明本身是由几个阶段组成,Filecoin的Lotus实施将这些阶段委托给不同的机器从而使用密封工人获得效率最大化。协议实验室开发了一个示例架构,旨在利用这些功能进行大规模挖掘。打破了设计类似系统时要考虑的不同瓶颈。

密封预交付阶段1

在此阶段,进行复制证明SDR编码。此阶段受CPU限制,并且是单线程的(根据设计,它不适合并行化)。该阶段预计需要几个小时的时间,确切的时间取决于要密封的扇形的大小,当然还取决于进行密封的机器的规格。如前所述,协议实验室(和其他人)已经发现AMD处理器与SHA扩展在相当程度上加速了这一进程。使用具有更高时钟率的cpu也将提高性能。

密封预交付阶段2

在此阶段,Merkle树的生成使用Poseidon哈希算法。此过程主要与GPU有关——可以将CPU作为替代,预期速度应该会慢得多。当使用GPU时,此阶段预计需要45分钟到一个小时。

密封提交阶段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年第三季度的主网启动为止。

在测试网阶段,存储矿工可以从我们的水龙头中检索文件币,作为抵押存储的必要抵押。

请注意,测试文件币没有任何价值——官方文件币仅在主网启动后才可用。

加速Filecoin生态系统

随着主网的启动,社区成员参与Filecoin的机会越来越多。

太空竞赛

为了准备主网,协议实验室最近宣布了一项激励计划:太空竞赛,以对测试网进行压力测试。参赛者将有机会通过尽可能多地使用存储来争夺主网文件币。

HackFS

HackFS 是一个为期30天的虚拟黑客马拉松,旨在为去中心化的网络建立基础。开发人员将构建dapp,游戏,开发工具,DeFi集成以及其他利用分散存储的技巧。HackFS将由ETH Global和协议实验室托管 ,并将拥有所有黑客马拉松的主要内容:研讨会,指导,鼓舞人心的演讲,AMA和奖品!

Filecoin Discover

Filecoin Discover是一项 最近宣布的 计划,旨在为Filecoin注入人类最有价值的文化和科学数据。购买Discover计划的个人将获得为期一年的质量调整存储协议,Discover将充当验证的客户。

Filecoin开发资助

官方通过Filecoin开发赠款赞助捐助者,继续促进Filecoin生态系统的发展 。第4轮赠款提案的截止日期为7月1日,作为优先考虑,我们将继续评估在最后期限提交的提案。第5轮提案将于10月1日到期。

总结

区块链是一种复杂的软件,有许多可移动的区块,从零开始构建一个成功的区块链是一项艰巨的任务。如果没有来自世界各地社区成员的支持,Filecoin就不会有今天的成就,我们对帮助Filecoin走到这一步的每一个人都深表感谢!再一次,感谢您的持续支持,参与和耐心,我们进入最后的日子,在主网络上线之前。官方表示非常欢迎新的社区成员加入我们的行列——矿工、开发人员和用户——并希望本指南可以作为希望加入我们的任何人的起点,让我们踏上这趟精彩旅程的下一阶段!

技术支持:创设网络