TOR:Filecoin技术分析:深入理解存储管理

来源:金色财经Filecoin的存储单元称为扇区。对传统硬盘结构理解的小伙伴,对这个术语应该比较亲切,传统硬盘的最小存储单元就叫Sector。为了证明Sector的存储,Filecoin进行了一系列的处理,传说中的P1/P2/C1/C2。在处理过程中,一个Sector的计算会生成若干文件,最终会生成replica。相关文件是如何组织的?Cache都是由哪些文件组成,分别是多大?本文就从存储的角度看看这些过程和逻辑。

Filecoin的存储管理的逻辑主要实现在sector-storage项目中。在深入理解Sector存储逻辑之前,先讲讲Worker和Manager。

01相关术语

Worker-处理P1/P2/C1/C2的服务,Worker又分为两种:localworker和remoteworker。localworker处理本地服务处理,remoteworker支持远程服务处理

DeFIL2.0标准算力通证FILST于8月25日11:00正式上线:官方消息,FILST于8月25日11:00正式上线,并同步在Uniswap上开启FILST-USDT、eFIL-FILST LP流动池。

FILST是基于DeFIL2.0的算?NFT衍?品,由矿?铸造NFT后通过智能合约去中?化形式发?。?枚FILST将始终锚定1GB的FIL满存算?,?户通过质押FILST可获得相应算?的FIL挖矿产出。此外,FILST也可在DeFIL2.0的智能合约中?于借贷。

DeFIL 2.0的定位是去中心化的Filecoin借贷和金融服务平台,同时打造了一个集算力NFT、永续算力通证、DeFi借贷、流动性挖矿、增强挖矿收益机制、DAO治理等一体化的去中心化金融生态。[2021/8/25 22:36:06]

Manager-管理多个Worker

NFT社交平台Torum与跨链借贷平台FilDA达成战略合作:据官方消息,Torum NFT社交平台宣布与HECO生态链中的跨链借贷项目FilDA达成战略合作。

通过此项合作,Torum将会与FilDA 共享生态资源、相互紧密合作、促进彼此生态发展。

据悉,Torum是?家搭建于HECO生态链及币安智能链上,专为加密货币??及项??而设的NFT社交平台,目前平台已拥有来自十余个国家的超越8万名注册用户。

FilDA是部署在HECO网络的借贷项目,存借款总额高峰值突破21亿美元。其通过借贷协议及质押分币协议以提供用户存币、借币、质押等DeFi相关服务。[2021/8/19 22:24:53]

Scheduler-调度器,调度多个Worker,一个Manager通常有一个Scheduler

Store-Sector存储系统

Filecoin去中心化金融平台DeFIL2.0启动升级迁移:据官方公告,DeFIL平台于8月13日?10:00(UTC+8)开放平台通证新旧DFL兑换,并对智能合约进行迭代升级以及合约迁移,用户需将DeFIL1.0版本的全部资产取出迁移至DeFIL2.0。新版DFL存入质押马上可有利息收益;在此期间根据区块到账时间,率先完成合约迁移并在DeFIL2.0 参与质押DFL赚eFIL的前一百名用户获188DFL,其他参与用户可获得88DFL。

DeFIL 2.0的定位是去中心化的Filecoin借贷和金融服务平台,同时打造了一个集算力NFT、永续算力通证、DeFi借贷、流动性挖矿、增强挖矿收益机制、DAO治理等一体化的去中心化金融生态。[2021/8/13 1:52:38]

02Sector存储

Sector处理相关的文件存储在Store中。Store通过sectorstore.json进行配置:

ZBG已上线Zillion矿池Filecoin满存算力租赁产品:据ZBG官方消息,为了满足众多用户对Filecoin的低成本挖矿需求,ZBG已于4月23日22点上线Zillion矿池Filecoin满存算力租赁产品,开启首期FIL算力抢购。抢购总量:500TFilecoin算力;抢购价格:15FIL/T;合约周期为:540+540天;最小认购单位为1T。截止发稿前,该算力已售罄40%以上额度,静态净收益率为130%。

据悉,ZBG上线的Zillion矿池-FIL云算力是Zillion矿池推出的Filecoin算力业务。此Filecoin满存算力租赁产品无需质押,无需90天封存,挖矿收益每日到账,支持FIL(币本位)一键挖矿。[2021/4/25 20:56:44]

CanSeal表明Store可以用来Seal,CanStore表面Store可以持久存储Seal的结果(replica)。Weight是权重,在多个Store选择时使用。ID是Store的UUID编号。

Filecoin测试网奖励计划在运行30多个小时后总网络存储算力达到10PiB:分布式存储项目Filecoin的测试网奖励计划已运行30多个小时,截至目前,该网络大小为10PiB,共有277名矿工参与,其中,第一名提供了868.56TiB的存储算力。注:1PiB=1024TiB。此前报道,昨日凌晨,Filecoin启动测试网奖励,主网启动时间为9月中下旬。[2020/8/26]

一个Store中存在三种存储,分别对应三种目录:unsealed(未封存的文件),cache,sealed。

03Worker&Store

sector-storage项目的README中的这张图很好的解释了sectorstorage的各个模块以及相互的关系:

整幅图分为上下两个部分:上部分是Manager,下部分是RemoteWorker。Manager中包括一个LocalWorker。stores.Index是所有Sector存储的索引。Scheduler,上部分的中间,管理所有的Worker,并且调度Sector相关的存储。

workermanagementAPIs通过/rpc/v0的jsonRPC接口实现remoteworker的管理。通过/remote的HTTPAPI实现存储的Fetch操作,简单的说,传输文件。specs-storage.Prover/Sealer/Storage是Manager暴露出来的接口,实现Sector的证明,封存和存储。

每个连接到Manager的Worker会和Manager同步它的内存/CPU以及显存的信息。Scheduler在接受到新的请求时,会针对请求(Task)的类型以及资源的需求,从当前Worker中挑选最合适的Worker进行请求的处理。如何选择Worker,感兴趣的小伙伴,可以查看selector的相关逻辑。

从存储的角度,重新整理一下,这些关系:

以一个Manager连接两个Worker为例。Worker只能Seal,但是不能Store。为了更清楚展示Worker之间的数据传输,第一个Worker只做Precommit1,第二个Worker做Precommit2和Commit。

04SealTask

理解SealTask,最好对照了Sector的状态管理一起看。对Sector状态管理还不熟悉的小伙伴,可以查看之前的文章:

Filecoin-Sector状态管理逻辑

接下来,看看每个SealTask对应的存储数据的变化。

AddPiece

如果其中左边的Worker接收到任务,AddPiece任务会在unsealed目录中创建原始数据。

PreCommit1

PreCommit1阶段,简称P1,针对SDR算法,计算若干层数据。如果Sector是32G,需要计算11层。对SDR算法不熟悉的小伙伴,可以看看之前的文章:

经过PreCommit1,生成的数据存储在Cache中:

PreCommit2

PreCommit2的阶段,简称P2,生成Replica,计算ColumnHash,并生成Merkle树(tree_d,tree_c,tree_r_last)。因为P2,不在同一个Worker处理,在进行处理之前,需要先传输给合适的Worker,处理的结果同样存储在Cache中:

Commit和Finalize

在Commit生成证明后,进入Finalize状态,Finalize可以理解成“归档”。因为在Worker上没有Store能力,删除不需要持久化的数据,需要持久化存储的数据,将传输回Manager。

05数据存储量

以32G的Sector为例,在处理过程中需要存储的数据如下:

原始数据-32G

原始数据Merkle-32G

P1layer-32*11G

P2-ColumnHash&tree_c-32*2G

P2-Replica&tree_r_last-32G+9.2M*8

总共:512G多一点。

06持久化数据

Sector经过P1/P2/C1/C2处理后,也就是说,经过PoREP处理后,需要持久化存储Replica的数据和tree_r_last的数据。tree_r_last的数据需要存储的原因是PoSt要用到。特别注意的是,tree_r_last的数据并不是完整的Merkle树数据,删除了其中一些层的数据。

32G的Sector,对应的tree_r_last分成了8棵子树,每棵子树是8叉树,默认存储的时候,忽略了最低的两层。也就是,去除最低两层的存储量为:

所以每棵子树的存储数据为4G*0.00223=9.13M。

也就是说,Sector持久化存储比例在1.0022左右。

总结:

Filecoin存储管理的逻辑主要在sector-storage中。Sector的处理任务,可以通过多个Worker完成。每个Worker的存储目录结构一致,Sector数据可以在多个Worker之间通过Http服务传输。Sector处理过程中,最大的存储需求量在512G左右。持久化存储比例为1.0022。

IPFS、Filecoin?交流群

备注ipfs,添加菠萝v号:q359361480

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

LunaATO:ATOM(Cosmos)

Cosmos是一个并行网络,各链由诸如Tendermint共识提供支持。在cosmos生态系统中各空间可以相互通信、交易、互操作.

USDTUCA:UCA(UCACoin)

Hotbit不为任何区块链资产做信用背书,所有相关介绍均来自第三方并有可能存在错误与遗漏。区块链资产投资是高风险行为,您必须自行承担价格有可能归零的风险,请根据您自身能力谨慎投资.

[0:46ms0-0:526ms