本篇博文从矿工和想要在Filecoin网络上存储数据的用户两个角度解释了Filecoin交易的工作原理。
一、简介
Filecoin网络通过允许任何人作为存储提供商参与实现了规模经济。目前,该网络由分布在全球各地的数百家存储提供商组成。内容寻址和加密存储证明验证了数据在矿工的硬件上长期正确安全地存储,从而创造了一个强大可靠的服务。
这篇博文涵盖了Filecoin中两种类型交易的基本阶段,即存储交易和检索交易,并详细介绍了它们的生命周期。并解释了密码学证明是如何用于验证系统中的参与者是否按照承诺履行职责的。
二、Filecoin的数据
为了在Filecoin上存储文件,用户必须首先在其本地Filecoin节点中导入文件。这一步会产生一个数据CID——内容标识符,唯一描述该内容的ID,之后数据会传输给矿工。另一种在Filecoin上存储文件的方式是通过离线交易,这在本篇文章中没有涉及。
将数据导入本地的Filecoin节点,可以使用lotus客户端导入命令。记住生成的数据CID很重要,因为以后从矿工那里检索数据时必须用到它。
将数据导入本地节点后,用户必须发起交易。这可以通过lotus客户端交易命令来完成。该命令以数据CID作为输入,生成FilecoinPiece,并交互式地带领用户完成存储交易流程,详见下文。
FilecoinPiece是用户存储在Filecoin网络上的数据的主要协商单位。FilecoinPiece没有特定的大小,但受网络参数的制约,受扇区大小的上限。如果一个FilecoinPiece大于矿工支持的扇区大小,那么它必须被分割成更多的碎片,以便每个碎片都适合一个扇区。
加拿大科技公司ChainSafe发布去中心化云存储产品ChainSafeFiles:12月17日消息,加拿大科技公司ChainSafe发布去中心化云存储产品ChainSafeFiles,允许用户通过前端页面在IPFS和Filecoin上上传和存储文件,目前可提供高达20GB的存储空间。ChainSafe表示,相比于传统的云存储工具,ChainSafeFiles更具私密性和安全性,主要特点为端到端加密。[2020/12/17 15:31:32]
一个FilecoinPiece就是一个CAR文件,包含一个IPLDDAG,有对应的数据和PieceCID。
CAR即内容可寻址档案——每个CAR文件是一个IPLDDAG的序列化表示,即将其数据块串起来,再加上描述DAG图的头部信息。
当用户想要在Filecoin网络中存储文件时,首先要用UnixFS生成文件的IPLDDAG。代表DAG根节点的哈希是一个IPFS风格的CID,称为数据CID。
UnixFS是一种基于protobuf的格式,用于描述IPFS中的文件、目录和符号链接。在Filecoin中,UnixFS被用作提交给Filecoin网络的文件格式。
所产生的CAR文件用额外的零位来填充,以便使文件成为二进制的merkle树。
三、仓储交易流程
用户可以通过交易在Filecoin网络中存储数据,并从Filecoin网络中检索数据。网络中的参与者,包括矿工和用户,通过存储交易和检索交易进行互动。
Gate.io 今日已完成FIL代币转化分发,总量约1.3万枚:据官方公告,Gate.io今日(10月21日)已经根据用户FIL6持仓情况完成FIL分发,总计约1.3万枚,用户可在账户账单明细中查看详情。目前Gate.io已经支持Filecoin(FIL)现货交易,充值提现,杠杠交易,币币理财,永续合约交易,三倍ETF交易等全线系列产品和服务。详情点击原文链接。[2020/10/21]
一个存储交易的生命周期如下:
1.发现
用户识别矿工并确定他们当前的要价,即矿工为了接受交易而希望收到的每GiB每纪元的价格,单位为attoFIL。目前,Filecoin中一笔交易的最短期限为180天。
您可以通过JSONRPCAPI查询已同步的节点,列出所有当前活跃的矿工(为了测试目的,使用了公共终端节点,使用Filecoin.StateListMiners方法。
您可以根据矿工在网络中的信誉和能力进行选择。矿工的信誉指标还未进入Filecoin协议,本文亦不涉及。
一旦你选择了一个特定的矿工,你需要获取它的PeerID,例如用Filecoin.StateMinerInfo方法,通过libp2p协议与他们建立安全连接。
然后你可以用Filecoin.ClientQueryAsk方法查询一个签名的StorageAsk。这将建立一个与所选矿工的直接libp2p连接,并询问存储报价。
金色科技集团研究院院长池骋:Filecoin主网上线后怎样增加信任价值是未来所面临的挑战:Filecoin主网上线在即,金色科技集团研究院院长池骋在接受金色财经独家采访时表示,Filecoin主网上线后社区热度肯定会有所改观,同时我自己也会更多关注Filecoin社区中关于实际应用场景落地的讨论。我认为上线后怎样增加信任价值是未来所面临的挑战,作为一种全新区块链底层技术我认为更多的是去探索一种跟现实应用的连接,这种连接的增加也是提高Filecoin本身信任价值的一种方式。但这就得需要我们的社区和更多的关注者去发现了。[2020/10/15]
结果包括这个矿工愿意接受的交易细节,比如接纳的FilecoinPiece大小的范围和每GiB每纪元的价格。需要注意的是,提出与矿工的存储要求相匹配的存储交易建议是一个前提条件,但不足以确保交易被接受——存储提供商可能会在之后运行自己的决策逻辑。
2.协商和数据发送
在这一阶段,双方就交易条款达成协议,如交易成本、交易期限、交易起始时间等。然后将数据从客户端转移到矿机上。
3.发布
通过PublishStorageDeals消息在链上发布交易,使存储提供商对交易公开负责。
4.完成
交易在链上发布后,就会交给存储挖掘子系统,打包成一个扇区,随后进行封装,随后不断证明可用。
四、存储挖矿子系统
存储挖矿子系统确保Filecoin网络的数据由矿工有效保存,并且:
Filecoin创始人:大矿工需要重视Filecoin基础手续费:对于最近Filecoin Gas费用不断攀升的问题,Filecoin创始人胡安·贝内特在Slack社区表示:需要重视Filecoin基础手续费,使用最新的消息过滤代码(0.6.0+)。
同时,矿工 不能为了改变基础手续费率而增加一些本不属于那里的区块,否则会造成基础手续费升高。而且会造成本周的FIL被销毁。所有的FIL被销毁将会意味着你不能提交消息,也就不能够完成大矿工测试竞赛。(哔哔News)[2020/9/8]
1.参与Filecoin存储市场,承接客户端数据,参与存储交易。
2.参与Filecoin存储力共识,验证并生成区块,以壮大Filecoin区块链,并以此赚取区块奖励和费用。
它监督以下流程:
承诺新存储和注册新扇区
为了在Filecoin中注册一个扇区,矿工必须对该扇区进行封装。封装过程需要大量计算,以证明的形式产生数据的唯一表示,称为复制证明或PoRep。一旦产生证明,矿工将其压缩并将结果提交给区块链。这就证明矿工确实复制了他们同意存储的数据副本。
持续证明存储
每个存储矿工都必须不断地在链上提交证明,以证明扇区被完整存储。
宣布存储故障并从故障中恢复
如果某部门未能提交上述证明,将导致故障,矿工将受到处罚。
五、矿工和用户注意事项
如上所述,存储交易是在链上发布后,才会被激活和封装。这一点很重要,因为发布交易会将用户的资金锁定在链上托管。只有如此,在封存数据进扇区之后,矿工的收益才有保障。
BBKX平台FIL日内涨幅超35%:据BBKX官方消息,FIL(Filecoin 3-month)已于6月29日上线BBKX平台,已连续6日上涨。截至今日10:05(UTC+8),BBKX平台FIL日内上涨35.31%,现报价24.663美元,行情波动较大,请注意风险控制。
BBKX成立于2019年6月,已获得节点资本与链上基金联合投资,现货交易手续费低至0.05%。[2020/7/4]
把在链上发布交易看成是签署合同,把封存和激活交易看成是开始做矿工承诺的工作,是有帮助的。
从想要在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网络,从而形成一个可靠和去中心化的分布式网络。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。