以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

Filecoin技術分析:深入理解存儲管理_TOR

Author:

Time: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支持遠程服務處理

Lens Protocol Profiles持有地址總數突破10萬:2月8日消息,據Dune Analytics數據顯示,Lens Protocol Profiles NFT持有地址總數已突破10萬,其中9.78萬個地址僅持有一枚Lens Protocol Profiles NFT。此外,63.8%的持有地址在Lens社交平臺僅有不到10次互動(帖子、評論或鏡像),41%的持有地址互動間隔大于3個月。[2023/2/8 11:54:58]

Manager-管理多個Worker

Scheduler-調度器,調度多個Worker,一個Manager通常有一個Scheduler

Store-Sector存儲系統

02?Sector存儲

Sector處理相關的文件存儲在Store中。Store通過sectorstore.json進行配置:

火幣全球站已恢復FIL充提業務:據官方公告,FIL錢包升級已完成,火幣全球站現已恢復FIL(Filecoin)的充幣和提幣業務。[2021/7/1 0:20:26]

CanSeal表明Store可以用來Seal,CanStore表面Store可以持久存儲Seal的結果(replica)。Weight是權重,在多個Store選擇時使用。ID是Store的UUID編號。

一個Store中存在三種存儲,分別對應三種目錄:unsealed(未封存的文件),cache,sealed。

03?Worker&Store

sector-storage項目的README中的這張圖很好的解釋了sectorstorage的各個模塊以及相互的關系:

整幅圖分為上下兩個部分:上部分是Manager,下部分是RemoteWorker。Manager中包括一個LocalWorker。stores.Index是所有Sector存儲的索引。Scheduler,上部分的中間,管理所有的Worker,并且調度Sector相關的存儲。

Filecoin網絡目前總質押量約為4922萬枚FIL:據IPFS100.com報道,Filfox瀏覽器數據顯示,Filecoin網絡當前區塊高度為588546,全網有效算力為3.320EiB,總質押量約為4922萬枚FIL,活躍礦工數為1595個,每區塊獎勵為24.7385FIL,近24小時產出量為347817FIL,24小時平均挖礦收益為0.1005FIL/TiB,目前FIL流通量為101267831FIL。

目前有效算力排名前三的分別為:F01248(智合云zh)以75.77暫居第一,F02770(時空云&靈動)以72.63PiB位居第二,F0127595(時空云)以67.54PiB位居第三。[2021/3/17 18:52:29]

workermanagementAPIs通過/rpc/v0的jsonRPC接口實現remoteworker的管理。通過/remote的HTTPAPI實現存儲的Fetch操作,簡單的說,傳輸文件。specs-storage.Prover/Sealer/Storage是Manager暴露出來的接口,實現Sector的證明,封存和存儲。

Gate.io 已完成11月6日FIL代幣轉化分發,總量約1.3萬枚:據官方公告,Gate.io今日(11月6日)已經根據用戶FIL6持倉情況完成FIL分發,總計約1.3萬枚,用戶可在賬戶賬單明細中查看詳情。目前Gate.io已經支持Filecoin(FIL)現貨交易,充值提現,杠杠交易,幣幣理財,永續合約交易,三倍ETF交易等全線系列產品和服務。[2020/11/6 11:51:34]

每個連接到Manager的Worker會和Manager同步它的內存/CPU以及顯存的信息。Scheduler在接受到新的請求時,會針對請求(Task)的類型以及資源的需求,從當前Worker中挑選最合適的Worker進行請求的處理。如何選擇Worker,感興趣的小伙伴,可以查看selector的相關邏輯。

從存儲的角度,重新整理一下,這些關系:

Gate.io中午12點上線STAR交易,已為FIL用戶完成首次空投:據官方公告,Gate.io將于11月3日(今日)12:00上線文曲星Filestar(STAR)交易,按照計劃,Gate.io已按照1FIL:0.1STAR比例完成首次STAR代幣空投,第二次空投快照截取時間為 2020年11月10日08:00。[2020/11/3 11:30:37]

以一個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。

Tags:TORORKWORFILcloudstorageAiWorkKonomi NetworkFILST幣

火幣APP下載
鯨交所上線 SNX/USDT 交易對_NFT

尊敬的用戶: 鯨交所將于2020年08月06日14:0上線SNX/USDT交易對,祝您交易愉快! SNX是誰? 美聯儲官員相信利率已接近峰值,但不排除進一步加息可能:8月25日消息.

1900/1/1 0:00:00
區塊鏈入門指南:四大特點及特點的非決定性_區塊鏈

概述 區塊鏈是一個信息技術領域的術語。從本質上講,它是一個共享數據庫,或稱之為公共賬本,其每一個區塊記錄一段時間內產生的轉賬等一些其他信息.

1900/1/1 0:00:00
金生論幣:8.6日內大餅多單盈利 晚間操作思路

恭喜跟上金生論幣實盤布局操作的幣友們,日內早間7點給出大餅多單現價11650進場多單,止盈看11750-11800.其實早上10點左右就到了11799,因為白天去忙了.

1900/1/1 0:00:00
關于ZT創新板即將上線ATIS的公告_DYDX

尊敬的ZT用戶: ZT創新板即將首發上線ATIS,并開啟ATIS/USDT交易對。具體時間安排如下: 充值:已開啟; 交易:2020年8月8日18:00;并將減免三日交易手續費至8月11日18:.

1900/1/1 0:00:00
央行上海總部:持續做好ICO、P2P網貸等風險監測和處置_區塊鏈

8月5日,人民銀行上海總部召開2020年下半年工作會議,傳達學習2020年下半年人民銀行工作會議精神,總結上半年上海總部主要工作,分析當前履職面臨的新形勢,并對下半年重點工作作出部署.

1900/1/1 0:00:00
BTC上漲趨勢是否結束? 關注此重要支撐!_BTC

在前面BTC出現一波大跌之后,BTC再次開啟了橫盤震蕩的走勢,還記得在前面的文章中我跟大家說過,BTC在出現這樣的一波大跌之后,正常情況下來說,BTC的上漲行情基本上就可以確定結束了.

1900/1/1 0:00:00
ads