本篇博文从矿工和想要在Filecoin网络上存储数据的用户两个角度解释了Filecoin交易的工作原理。
一、简介
Filecoin网络通过允许任何人作为存储提供商参与实现了规模经济。目前,该网络由分布在全球各地的数百家存储提供商组成。内容寻址和加密存储证明验证了数据在矿工的硬件上长期正确安全地存储,从而创造了一个强大可靠的服务。
这篇博文涵盖了Filecoin中两种类型交易的基本阶段,即存储交易和检索交易,并详细介绍了它们的生命周期。并解释了密码学证明是如何用于验证系统中的参与者是否按照承诺履行职责的。
二、Filecoin的数据
为了在Filecoin上存储文件,用户必须首先在其本地Filecoin节点中导入文件。这一步会产生一个数据CID——内容标识符,唯一描述该内容的ID,之后数据会传输给矿工。另一种在Filecoin上存储文件的方式是通过离线交易,这在本篇文章中没有涉及。
将数据导入本地的Filecoin节点,可以使用lotus客户端导入命令。记住生成的数据CID很重要,因为以后从矿工那里检索数据时必须用到它。
将数据导入本地节点后,用户必须发起交易。这可以通过lotus客户端交易命令来完成。该命令以数据CID作为输入,生成FilecoinPiece,并交互式地带领用户完成存储交易流程,详见下文。
FilecoinPiece是用户存储在Filecoin网络上的数据的主要协商单位。FilecoinPiece没有特定的大小,但受网络参数的制约,受扇区大小的上限。如果一个FilecoinPiece大于矿工支持的扇区大小,那么它必须被分割成更多的碎片,以便每个碎片都适合一个扇区。
BitTorrent File System活跃节点数量突破 111 万:据官方消息,BitTorrent File System(BTFS) 节点数量已突破 111 万。用户主要分布在美国、中国、澳大利亚、德国、芬兰、新加坡和俄罗斯。节点数据可通过BTFS-scan浏览器进行查看。
据悉,BitTorrent 文件系统(BTFS)既是一种协议,也是一种网络应用,它提供了一种内容可寻址的点对点机制,用于在去中心化的文件系统中存储和共享数字化内容,同时,它也为去中心化应用(Dapp)提供了一个基础平台。[2021/6/16 23:41:22]
一个FilecoinPiece就是一个CAR文件,包含一个IPLDDAG,有对应的数据和PieceCID。
CAR即内容可寻址档案——每个CAR文件是一个IPLDDAG的序列化表示,即将其数据块串起来,再加上描述DAG图的头部信息。
当用户想要在Filecoin网络中存储文件时,首先要用UnixFS生成文件的IPLDDAG。代表DAG根节点的哈希是一个IPFS风格的CID,称为数据CID。
UnixFS是一种基于protobuf的格式,用于描述IPFS中的文件、目录和符号链接。在Filecoin中,UnixFS被用作提交给Filecoin网络的文件格式。
所产生的CAR文件用额外的零位来填充,以便使文件成为二进制的merkle树。
三、仓储交易流程
ZBG已于5月14日20点上线第3期Zillion矿池-FIL满存算力产品:ZBG官方消息,ZBG已于5月14日20点上线第3期Zillion矿池-FIL满存算力产品,抢购总量:200TFilecoin算力;合约周期为:540+540天;抢购价格:15FIL/T;最小认购单位为1T。
公告显示,在ZBG云算力“Zillion矿池-FIL云算力”购买算力的用户,可享受FIL补贴,1T起补,最高可补贴450枚FIL,活动截止时间为5月20日15:00。
据悉,ZBG上线的Zillion矿池-FIL云算力是Zillion矿池推出的Filecoin算力业务。此Filecoin满存算力租赁产品无需质押,无需90天封存,超长周期、无惧牛熊,挖矿收益每日到账,支持FIL(币本位)一键挖矿。[2021/5/14 22:03:51]
用户可以通过交易在Filecoin网络中存储数据,并从Filecoin网络中检索数据。网络中的参与者,包括矿工和用户,通过存储交易和检索交易进行互动。
一个存储交易的生命周期如下:
1.发现
用户识别矿工并确定他们当前的要价,即矿工为了接受交易而希望收到的每GiB每纪元的价格,单位为attoFIL。目前,Filecoin中一笔交易的最短期限为180天。
您可以通过JSONRPCAPI查询已同步的节点,列出所有当前活跃的矿工(为了测试目的,使用了公共终端节点,使用Filecoin.StateListMiners方法。
OKEx上线FIL、AAVE及CVC永续合约:据官方消息,OKEx已于2020年12月10日14:00 (HKT) 在网页端、APP端及API正式开通FIL、AAVE、CVC杠杆交易及余币宝服务,并上线FILUSD、CVCUSDT、AAVEUSDT永续合约;同时,AAVEUSDT、CVCUSDT、FILUSD永续合约将实行为期一个月0手续费率优惠。
近期,OKEx还连续上线了COVER、 KP3R、API3、HEGIC等热门项目,为用户提供更加多样化的交易选择。[2020/12/10 14:47:40]
您可以根据矿工在网络中的信誉和能力进行选择。矿工的信誉指标还未进入Filecoin协议,本文亦不涉及。
一旦你选择了一个特定的矿工,你需要获取它的PeerID,例如用Filecoin.StateMinerInfo方法,通过libp2p协议与他们建立安全连接。
然后你可以用Filecoin.ClientQueryAsk方法查询一个签名的StorageAsk。这将建立一个与所选矿工的直接libp2p连接,并询问存储报价。
BiKi运营副总裁 Jme :FIL主网上线后的走势必然会高涨一波:Filecoin主网上线在即,BiKi运营副总裁 Jme在接受金色财经独家采访时表示,从社区来看,官方的一系列调整都在降低前期矿工的收益。尽管来说,这样操作能够提升币价(毕竟质押的需求会带来Filecoin价格的一波增长),但Filecoin的收益数量也少了不止一点两点。不过官方在对于一些部分不合理的设计仍在修改中,不过主网上线在即,团队必将不会让抛压的危险出现。
FIL主网上线后的走势必然会高涨一波,但我们更应该看好FIL的长远价值,延线的发展,要知道Filecoin锚定的是下一代存储与检索网络,当IPFS带着区块链3.0,各种商业落地后,其市值也远非现有的2400亿能比拟。[2020/10/15]
结果包括这个矿工愿意接受的交易细节,比如接纳的FilecoinPiece大小的范围和每GiB每纪元的价格。需要注意的是,提出与矿工的存储要求相匹配的存储交易建议是一个前提条件,但不足以确保交易被接受——存储提供商可能会在之后运行自己的决策逻辑。
2.协商和数据发送
在这一阶段,双方就交易条款达成协议,如交易成本、交易期限、交易起始时间等。然后将数据从客户端转移到矿机上。
3.发布
通过PublishStorageDeals消息在链上发布交易,使存储提供商对交易公开负责。
4.完成
交易在链上发布后,就会交给存储挖掘子系统,打包成一个扇区,随后进行封装,随后不断证明可用。
四、存储挖矿子系统
存储挖矿子系统确保Filecoin网络的数据由矿工有效保存,并且:
1.参与Filecoin存储市场,承接客户端数据,参与存储交易。
Filecoin测试奖励计划将于北京时间8月25日正式启动:据Filecoin官方公告,Filecoin测试网奖励计划将于8月25日周二早晨6:00(北京时间)正式启动,测试奖励计划将持续3周时间。Space Race是一项协作竞赛,旨在对网络进行压力测试,鼓励全世界的参与者参与,并帮助矿工准备运行网络。随着测试网奖励计划的上线,矿工们将在测试网上争夺总计400万FIL。[2020/8/19]
2.参与Filecoin存储力共识,验证并生成区块,以壮大Filecoin区块链,并以此赚取区块奖励和费用。
它监督以下流程:
承诺新存储和注册新扇区
为了在Filecoin中注册一个扇区,矿工必须对该扇区进行封装。封装过程需要大量计算,以证明的形式产生数据的唯一表示,称为复制证明或PoRep。一旦产生证明,矿工将其压缩并将结果提交给区块链。这就证明矿工确实复制了他们同意存储的数据副本。
持续证明存储
每个存储矿工都必须不断地在链上提交证明,以证明扇区被完整存储。
宣布存储故障并从故障中恢复
如果某部门未能提交上述证明,将导致故障,矿工将受到处罚。
五、矿工和用户注意事项
如上所述,存储交易是在链上发布后,才会被激活和封装。这一点很重要,因为发布交易会将用户的资金锁定在链上托管。只有如此,在封存数据进扇区之后,矿工的收益才有保障。
把在链上发布交易看成是签署合同,把封存和激活交易看成是开始做矿工承诺的工作,是有帮助的。
从想要在Filecoin上存储数据的用户的角度来看,交易大致经过以下几个阶段:
1.?资金交易:用户将资金锁定在托管中。
2.?向矿工提出交易建议。
3.?检查意向接受交易。
4.?将交易的数据传输给矿工:这是通过GraphSync协议完成的。
5.?检查是否接受:确保矿工已经接受了交易并在链上发布。
6.?封装:交易正在进行中,矿工目前正在密封包含该交易的部门。
7.?激活:交易已被封存并处于活跃状态。
从通过存储用户数据为用户提供服务的矿工的角度来看,交易大致经过以下几个阶段:
1.?验证交易:收到交易提案,并检查其参数。
2.?检查是否锁定资金:确保用户有锁定的资金,可以支付交易。
3.?等待数据:收到用户提供的交易数据。
4.?在链上为交易提供抵押物。
5.?在链上发布交易上链。
6.?封装扇区。
7.?激活交易:从这里开始,矿工定期提交时空证明,证明他们正在持续存储数据。
六、检索交易流程
检索交易与存储交易不同,使用支付通道,主要链下完成。数据传输是按量计价的,用户在数据传输的过程中逐步向矿工支付费用。整个过程,只有创建支付通道、兑换凭证,是涉及与Filecoin区块链交互的。
这是整体流程:
1.?发现:用户识别拥有所需数据的矿工,并向他们索取检索报价——每字节价格、解封价格、支付间隔等。
2.?支付通道设置:用户在他们和矿工之间设置一个支付通道。
3.数据传输与支付:矿工向用户发送数据,直到需要支付。
此时用户还未获得完整数据。
七、时空证明
上面的章节快速列举了许多使Filecoin独一无二的细节,在概率上对用户数据提供了保证。本节介绍了Filecoin使用的两种证明,并解释了它们是如何成为协议的一部分,以及它们所解决的问题。
时空证明是矿工向Filecoin网络提交的证明,证明其正在继续为网络存储数据的唯一副本。
目前,时空证明在Filecoin中以两种类型存在:
1.WinningPoSt
WinningPoSt是奖励存储矿工对Filecoin网络贡献的机制。在每个epoch开始时,一小部分存储矿工被选出来,每个矿工挖出一个新的区块。具体要求是,这些矿工提交指定扇区的压缩存储证明。每个成功创建区块的当选矿工都会获得FIL,以及向其他想在区块中包含信息的Filecoin参与者收取费用的机会。
存储矿工如果在必要的时间窗口内没按要求做到,将失去生产区块的机会,但不会因为没产出区块而受到其他惩罚。
2.WindowPoSt
WindowPoSt是Filecoin区块链对存储矿工做出的承诺进行审核的机制。
每个存储矿工都应该维护他们的承诺扇区。这些扇区包含与用户达成的交易,或也可能为空。后者被称为承诺容量,也就是说,矿工可以做出容量承诺,用任意数据填充一个扇区,而非用户数据。维护这些扇区可以让存储矿工证明他们在网络预留空间。
每一天分成若干时间窗口,目前48个时间窗口,每个持续时间为30分钟。
每个矿工的承诺扇区分成若干组,每组对应一个时间窗口。
在一个时间窗内,每个存储矿工必须为其该时间窗中的每个扇区提交一份时空证明。这需要随时访问该时间窗轮到的每个扇区,并生成zk-SNARK证明加入区块发布到Filecoin区块链上。这样,每个承诺存储的扇区在每24小时内至少会被审核一次,并保留一个永久的、可验证的、公开的记录,证明每个存储矿工保守承诺。
在上图例子中,您能看到一个矿工应该在deadline0(>16TB)、deadline1(<8TB)和deadline2(<8TB)提交窗口时空证明,其中大部分扇区都在deadline0。每个矿工的deadline是随机的,对于这个特定的矿工来说,分别从epoch1635、epoch1695和epoch1755开始。你可以在SpaceGap工具上检查这些deadline和更多关于矿工的细节。
Filecoin网络期望所存储的数据持续可用。未能为一个扇区提交WindowPoSt将导致一个故障,而供应该扇区的存储矿工将被惩罚。这激励存储矿工健康运转。
八、故障
当证明在证明期内因网络连接丢失、存储故障或恶意行为导致证明未被纳入Filecoin区块链时,就会发生故障。
当一个扇区被标记为故障时,Filecoin网络将对本应存储该扇区的存储矿工进行处罚。
扇区故障费有三种:
1.?扇区故障费:需由每个处于故障状态的扇区每天支付。该费用的大小略高于该扇区每天预计获得的区块奖励额。如果一个扇区连续2周以上处于故障状态,该扇区将支付终止费,并从区块链状态中移除。
2.?扇区故障检测费:这是一次性支付的费用,如果该故障是由链上机制检测发现而非矿工诚实上报时收取。考虑到时空证明检查的概率性,该收费额设为对应扇区在若干天时间中的区块奖励。
3.?扇区终止费:一个扇区可能因为故障或矿工主动而在到期日之前终止。收取的终止费原则上相当于一个扇区当前所产生的收益,且不超过一个限额,以免阻碍长时扇区。
在filecoin.io/网站上阅读更多于故障和处理故障的经济机制
九、结论
本文涵盖了与存储和检索Filecoin上的数据有关的一些概念,用户和矿工为实现这一目标而参与的协议,以及这一过程中涉及的各种证明和保证。
它从用户和矿工的角度详细介绍了存储和检索交易的流程,以及Filecoin协议在其中一方行为不当时实施的惩罚措施。
总而言之,本文概述了Filecoin协议如何管理Filecoin网络,从而形成一个可靠和去中心化的分布式网络。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。