月亮链 月亮链
Ctrl+D收藏月亮链
首页 > XRP > 正文

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

作者:

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

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

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

01 相关术语

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

Manager - 管理多个Worker

FIL突破200美元关口 日内涨幅为8.6%:火币全球站数据显示,FIL短线上涨,突破200美元关口,现报201.4468美元,日内涨幅达到8.6%,行情波动较大,请做好风险控制。[2021/4/1 19:36:16]

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

Store - Sector存储系统

02 Sector存储

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

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

火币现已暂停FIL充提业务:据官方公告,由于FIL主网升级,火币全球站现已暂停FIL的充币和提币业务。待升级完成后将第一时间恢复,具体时间将以公告另行通知。[2020/12/20 15:50:09]

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

03 Worker & Store

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

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

Filecoin经济模型的更改有利于其未来生态发展:11月5日晚7点,58学院第二十期AMA《FIL上线即暴跌 昙花一现?》邀请到了1475的COO Flora做客直播间,Flora表示,Filecoin官方对其经济模型进行了多次更改,之前矿工们前置抵押的压力较高,官方则将其经济模型更改为立即释放25%区块奖励,剩下75%则分180天释放。对大多数矿工来说,更改后的回本周期至少缩短了1/4,大大减少了矿工的资金压力,这将有利于其未来的生态发展和币价表现。从长期来看,FIL的全网释放量十分可观,但未来其币价的表现则还需取决于数字货币市场的整体行情和Filecoin的生态应用的实际落地情况。[2020/11/5 11:44:40]

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

Gate.io:FIL现货价格已达203.25美金,涨幅515.90%:据官方公告,Gate.io已经根据用户FIL6持仓情况完成首批FIL分发并在16点上线现货FIL交易,用户可在账户账单明细中查看详情。

Gate.io提示:第一天Gate.io平台释放总量约为1.3w枚。FIL初期流通量很低,后续随着每日释放和外部代币流入,流通量将会迅速上升,价格将会面临很大压力,请务必注意价格变化,切勿追高造成损失。详情点击原文链接。[2020/10/15]

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

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

掌柜调查署|节点资本创始合伙人杜均:Filecoin矿机相对比特币矿机生产门槛更低:在今日举行的掌柜调查署中,针对“Filecoin未来的产业链会是什么样的?在每个环节都会有什么样的投资机会“的问题,节点资本创始合伙人杜均表示,在传统POW项目铸币这个事情上,比如比特币铸币(矿机)是具备一定技术和资金门槛的,需要投入大量的资金和时间。但是Filecoin铸币(矿机)相对就容易许多,所以大量的“从业者”由于利益相关进行宣传,所以热度确实高涨。更多详情见原文链接。[2020/7/4]

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

04 Seal Task

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

Filecoin - Sector状态管理逻辑

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

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

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

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

PreCommit2

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

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

05 数据存储量

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

原始数据 - 32G

原始数据Merkle - 32G

P1 layer - 32*11G

P2 - Column Hash  & tree_c - 32*2 G

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。

标签:TORWORORKCTOSunny AggregatorFresco NetworkAlligatorkOctowill

XRP热门资讯
OIN:多数反对观望 鱼池系力挺 传统比特币矿业巨头如何看Filecoin?_FIL

Filecoin在中国的火爆,很大程度是因为中国有庞大的矿工群体。但吴说区块链调查,传统的比特币矿工巨头大多数对Filecoin并不认同,四位力挺的顶尖投资人也并非“矿圈大佬”.

1900/1/1 0:00:00
元宇宙:日本监管机构表示放松加密管制只会增加投机性交易_加密货币

日本金融服务局(FSA)最新任命的委员Ryozo Himino对放松加密货币交易的监管表示了担忧.

1900/1/1 0:00:00
POLK:波卡如何在平行链之间进行有效的分片?_polkadotteddonkey

Polkadot 的可用性和有效性(AnV:Availability and Validity)协议使整个网络能在平行链之间有效地分片,同时有着强大的安全性保证.

1900/1/1 0:00:00
BTC:金色趋势丨这个形态表明BTC后续还有很大上涨空间_区块链的四大核心技术

上图是BTC2010-2020长期周线走势,图中两条关键均线是周线MA20和MA50均线,研究可以发现,每次MA20均线上穿MA50均线形成金叉之后,后面BTC都能启动一波强势上涨趋势行情.

1900/1/1 0:00:00
BTC:金色趋势丨BTC再次破万 不破不立规律再次验证?_btcv币还能涨吗

BTC历史上常有不破不立之说,不少大行情的起点经常以跌破此前的重要趋势线形成阶段新低作为起点,走出戏剧性的反转行情。因为,跌破此前的低点意味着估值来到罕见的低位,本身就具有相当程度的投资价值.

1900/1/1 0:00:00
AVA:Kava CEO Brian Kerr:DeFi绝非是泡沫 它比大多数领域更容易找到产品与市场的契合点_PlutusDeFi

如果要说2020年加密货币行业有哪些最热门的细分市场,DeFi 肯定是其中之一,尽管该领域里的活动和交易量仍然和主流加密交易有些差距,但大量新协议涌现.

1900/1/1 0:00:00