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