来源:金色财经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支持远程服务处理
安全团队:FilDA攻击者将约8万枚ELA兑换为约326枚BNB并存入Tornado Cash:金色财经报道,PeckShield监测显示,FilDA昨日在ESC和REI网络上遭到攻击并造成约70万美元损失。攻击者将约8万枚ELA桥接至BNBChain,兑换成约326枚BNB,然后将资金存入Tornado Cash。此外,他们将20万枚ELA桥接至以太坊,将一部分兑换为约17枚ETH,并将这些ETH和16万枚ELA转移到0x05dd开头地址。[2023/4/24 14:23:25]
Manager-管理多个Worker
Scheduler-调度器,调度多个Worker,一个Manager通常有一个Scheduler
Store-Sector存储系统
02Sector存储
Sector处理相关的文件存储在Store中。Store通过sectorstore.json进行配置:
Filecoin网络近24小时产出33.9万枚FIL:据IPFS100报道,Filfox浏览器数据显示,Filecoin网络当前区块高度为1098361,全网有效算力为10.544EiB,总质押量约为1.0916亿枚FIL,活跃矿工数为3177个,每区块奖励为24.0348FIL,近24小时产出338958枚FIL,24小时平均挖矿收益为0.0309FIL/TiB,目前FIL流通量为168793887。当前销毁27912803枚FIL。当前FIL最新价格为88.49美元。
目前有效算力排名前三的分别为:f0127595(MetaverseInfrast)以132.70PiB暂居第一,f0688165(MetaverseInfrastructure)以132.39PiB位居第二,f0142720(RRM-雅典娜)以119.74PiB位居第三。
注:根据Filecoin官方释放规则,Filecoin将于2021年10月15号迎来第二次减产。[2021/9/10 23:15:33]
CanSeal表明Store可以用来Seal,CanStore表面Store可以持久存储Seal的结果(replica)。Weight是权重,在多个Store选择时使用。ID是Store的UUID编号。
Filecoin网络计划升级至v12,目前仍在维护当中:官方消息,Filecoin计划于4月29日北京时间14:00左右(比之前预订时间晚8小时),在epoch 712320将网络升级到v12。为此次网络升级,Filecoin于北京时间今日6:00进入维护,目前网络仍在维护当中。
此前消息,Coinbase表示,因Filecoin按计划进行网络升级,Filecoin的存款和提现将被推迟。[2021/4/29 21:10:16]
一个Store中存在三种存储,分别对应三种目录:unsealed(未封存的文件),cache,sealed。
03Worker&Store
sector-storage项目的README中的这张图很好的解释了sectorstorage的各个模块以及相互的关系:
CoinBene满币即将上线Filecoin:据官方消息,CoinBene满币即将上线FIL (Filecoin)。将在Filecoin主网正式开启后(主网区块高度达到148,888时,预计时间为2020年10月15日)开放充币,同时,CoinBene满币将推出FIL/USDT币币交易30天内免交易手续费活动。
星际文件系统IPFS是一个面向全球的、点对点的分布式版本文件系统,目标是为了补充目前传统互联网的超文本传输协议HTTP,实现让网页的速度更快、更安全、更健壮、更持久。Filecoin是在IPFS上的激励层,通过Token激励模式在IPFS上构建了一个去中心化存储市场。
CoinBene满币旨在打造值得信赖的数字资产交易平台,在全球180多个国家和地区拥有500多万用户,日活跃用户数超10万,日均交易额30亿美元。[2020/10/15]
整幅图分为上下两个部分:上部分是Manager,下部分是RemoteWorker。Manager中包括一个LocalWorker。stores.Index是所有Sector存储的索引。Scheduler,上部分的中间,管理所有的Worker,并且调度Sector相关的存储。
1475Andy:寻找适合整个Filecoin的经济参数模型非常重要:近日,在媒体访谈上,针对“Filecoin测试网都遇到和解决了哪些问题? ”1475联合创始人Andy表示,Filecoin测试网重置之后,会比上一个版本的出块稳定性更好。目前整个底层代码的完整性已经比较高了,这个完整性是指从链的角度能够完成整个复制证明和整个出块的过程,不代表商用。对于商用而言,还有一些路要走。从技术角度来看,测试网也相对完善,接下来的七月份整体大矿工测试中,只要不出现大的BUG,整个优化过程就会比较快,不会出现大规模后移的情况。现在最不确定的是经济模型参数,首先,Filecoin经济模型是相当复杂的,不管是从它的释放,即每个区块的释放代币的数量,还是它的抵押机制、惩罚机制都相对复杂。如何找寻到一个最适合整个Filecoin经济体系的经济模型参数是非常重要的。(猎云财经)[2020/6/28]
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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。