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
ConsensusLab 在 Filecoin Spacenet 启动公开星际共识测试网:4月21日消息,去中心化共识研究组织 ConsensusLab 宣布启动第一个公开星际共识(Interplanetary Consensus,IPC)部署,作为 Filecoin Spacenet 测试网的一部分,使用户、开发人员和 SP(存储提供商)能够使用 root Filecoin 网络提供的子网和共识模型进行实验。IPC 允许终端用户和应用开发人员动态生成并行执行事务的分层子网,从而消除主网的多余负载,同时提供更适合应用需求的操作条件。 此外,IPC 提供无缝的跨子网交易和机制,通过利用其父级提供的更强大的保证来保护子网。[2023/4/21 14:17:44]
Scheduler - 调度器,调度多个Worker,一个Manager通常有一个Scheduler
Store - Sector存储系统
02 Sector存储
Sector处理相关的文件存储在Store中。Store通过sectorstore.json进行配置:
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]
CanSeal表明Store可以用来Seal(存储Seal相关的临时文件),CanStore表面Store可以持久存储Seal的结果(replica)。Weight 是权重,在多个Store选择时使用。ID是Store的UUID编号。
一个Store中存在三种存储,分别对应三种目录:unsealed (未封存的文件),cache(缓存文件),sealed(封存后的文件)。
火币全球站已恢复FIL充提:据官方公告,火币全球站现已恢复FIL的充币和提币业务。[2020/11/14 20:49:07]
03 Worker & Store
sector-storage项目的README中的这张图很好的解释了sector storage的各个模块以及相互的关系:
整幅图分为上下两个部分:上部分是Manager,下部分是Remote Worker。Manager中包括一个Local Worker。stores.Index是所有Sector存储的索引。Scheduler,上部分的中间,管理所有的Worker,并且调度Sector相关的存储。
worker management APIs通过/rpc/v0的jsonRPC接口实现remote worker的管理。通过/remote的HTTP API实现存储的Fetch操作,简单的说,传输文件。specs-storage.Prover/Sealer/Storage是Manager暴露出来的接口,实现Sector的证明,封存和存储。
Filecoin当前全网有效算力为710.98PiB:据IPFS100.com报道,filfox浏览器数据显示,Filecoin网络当前区块高度为194059,全网有效算力为710.98PiB,总质押量约为1422万枚FIL,活跃矿工数为628个,每区块奖励为11.6857FIL,近24小时产出量为158088FIL,24小时平均挖矿收益为0.2196FIL/TiB;
目前有效算力排名前三的分别为:F01248(智合云zh)以 44.09 PiB暂居第一,F02770(时空云&灵动)以 44.02 PiB位居第二,F01782(hellofil.com)以 27.07 PiB位居第三。[2020/10/31 11:18:28]
每个连接到Manager的Worker会和Manager同步它的内存/CPU以及显存的信息。Scheduler在接受到新的请求时,会针对请求(Task)的类型以及资源的需求,从当前Worker中挑选最合适的Worker进行请求的处理。如何选择Worker,感兴趣的小伙伴,可以查看selector的相关逻辑。
Filecoin测试网当前总质押量约为539.81万枚FIL:据IPFS100.com报道,filfox浏览器数据显示,Filecoin测试网当前区块高度为61549,全网有效算力为233.24PiB,总质押量约为539.81万枚FIL,活跃矿工数为461个,每区块奖励为11.03FIL,近24小时产出量为116846FIL,24小时平均挖矿收益为0.50FIL/TiB;
目前有效算力排名前三的分别为:t01248(先河/智合云)以13.70PiB暂居第一,t09037(SeedPlan-Saturn)以12.89PiB位居第二,t02775(STCloud-Linden)以12.42PiB位居第三。[2020/9/15]
从存储的角度,重新整理一下,这些关系:
以一个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。
金色财经 区块链8月10日讯 DeFi收益聚合平台yearn.finance在今年七月中旬发行了治理代币YFI,该代币因为发行公平且分配广泛而受到社区称赞,yearn.finance也因此人气暴涨.
1900/1/1 0:00:00美国的加密数字货币交易服务交易平台Coinbase现在正在美国申请上市。Coinbase成立了8年,在全球范围内其加密数字货币的交易量是排名第三。它的40%的交易量的是来自于同一个交易产品,也就是比特币.
1900/1/1 0:00:00北京时间2020年08月05日,DeFi 期权平台 Opyn 的看跌期权(Opyn ETH Put)智能合约遭到黑客攻击,损失约37万美元.
1900/1/1 0:00:00BCH再闹分叉:社区反响激烈 币价平平今日,币圈博主“Bitcoin”爆料,ViaBTC矿池CEO杨海坡将发起对BCH的再一次分叉,新的分叉链代码为BCC.
1900/1/1 0:00:00为更好了解全球区块链产业2020年7月发展状况,01区块链联合零壹智库、数字资产研究院,从区块链投融资、主流加密数字货币行情、政策导向、国内产业发展动态及全球要闻等维度,“解密”区块链产业的最新趋势.
1900/1/1 0:00:002020年,“新基建”绝对是中国最热的产业政策之一。2020年3月4日,中共中央局常委会提出要发力于科技端的新型基础设施建设,拉开“新基建”序幕。随后中央开始密集部署,再传递到资本市场,“新基建”一时间炙手可热.
1900/1/1 0:00:00