月亮链 月亮链
Ctrl+D收藏月亮链

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

作者:

时间:1900/1/1 0:00:00

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支持远程服务处理

defil智能合约已通过慢雾科技安全审计:据官方消息,Filecoin去中心化借贷平台defil智能合约已通过慢雾科技SlowMist的安全审计。此次审计的智能合约包括矿工算力质押mFIL合约、以太坊映射eFIL合约、用户权益质押StakingDFL合约等多项均全部通过,投资者可至慢雾科技官网slowmist输入编号:NO. 0X002011230001 查询。

defil是基于Ethereum的Filecoin去中心化借贷协议。截止目前,平台已存入超过160万枚FIL,资产存入量约2.4亿美元,用户参与存FIL可获取利息收益以及平台治理通证DFL,DFL可继续进行Staking挖矿.[2021/5/19 22:18:35]

Manager-管理多个Worker

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

BBKX平台已于昨日推出FIL 90天锁仓理财:据官方公告,为满足用户多样化的投资需求,BBKX将于2021年2月22日16:00(UTC+8)开启FIL90天锁仓理财。有需求的用户届时请前往WEB端理财专区参与。BBKX.COM专注于挖矿金融服务,已获得节点资本与链上基金联合投资。[2021/2/23 17:42:13]

Store-Sector存储系统

02?Sector存储

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

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

Gate.io将按10 FIL: 1FIC比例为用户空投FIC代币:据官方公告,Gate.io 将按照11月17日(今日)上午10:00用户FIL持仓量(主网币,非FIL6)快照为用户空投Filecash代币FIC,空投比例为10 FIL: 1FIC。Gate.io平台用户无需任何操作即可领取空投,平台外用户请在快照前充值FIL到Gate.io平台。[2020/11/17 21:01:26]

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

03?Worker&Store

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

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

Filecoin预计在3小时内上线主网:据Filecoin官方数据,目前Filecoin网络的区块高度为148529,距离主网正式启动还有359个区块(148888)。按平均30秒的出块速度计算,主网将在3小时内上线。目前,FIL的全球平均期货单价在30美元左右,Filecoin主网上线前后行情波动较大,请注意风险控制。[2020/10/15]

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的相关逻辑。

动态 | 法国葡萄酒生产商P. Ferraud & Fils向中国出口的所有葡萄酒都采用了区块链技术:据crypto-news报道,法国葡萄酒生产商P. Ferraud & Fils向中国出口的所有葡萄酒都采用了区块链技术,以防止欺诈产品销售。[2019/6/8]

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

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

04?SealTask

理解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-32G9.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。

标签:TORORKWORCTOPhilosoraptorASN NetworkWorldPlusOctoFi

以太坊价格今日行情热门资讯
比特币:墨菲言币:短线动力枯竭,追多需谨慎_大阳线

各位老铁好,我是你们的朋友墨菲言币,一个普普通通得分析师,分析得文章千千万万,你能看到墨菲得文章,说明我的文章和你有缘,写的文章有不好的地方见谅,觉得好的麻烦点个赞留个言.

1900/1/1 0:00:00
BTC:非小号早间新闻_KEX

全球加密货币总市值为3546亿美元,较昨日暴涨129亿美元,BTC市值2165亿美元,占总市值61.02%.

1900/1/1 0:00:00
COM:关于ZT暂停DMCH,ETC充提币的公告_HTT

尊敬的ZT用户:因DMCH,ETC节点不稳定维护,为保护用户财产安全,ZT现已暂停其充提币业务,维护完成后将恢复正常。具体恢复时间请关注官网公告,由此给您带来的不便敬请谅解.

1900/1/1 0:00:00
COI:Coinbase上币项目追踪:7个列入观察名单的项目怎么样了?_COIN

7月31日,Coinbase公布了一轮新的上币评估名单,共19个项目,加上6月11日公布的评估名单,今年已有37个项目被Coinbase纳入考量.

1900/1/1 0:00:00
BTC:牛市你在怀疑,它的慢牛真的在不要质疑_Macroverse

成长不烦恼,长大更烦恼,这个就是不自信产生的心理,买涨的别看空,因为这样会误导你的思路,只要你开仓的那一刻起就要有自信心,有自信方能成功,不要因为行情的波动而烦不必要的错误.

1900/1/1 0:00:00
ERN:【关于下单止盈止损、闪电开仓模式等功能更新升级的公告】_Parrotly

亲爱的用户:BG交易所自上线以来受到全球用户的广泛支持,不断完善生态体系与产品功能。为提升用户体验,丰富合约产品功能,我们将于2020年8月6日对安卓及IOS进行4.4.0版本的更新迭代,新增全.

1900/1/1 0:00:00