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支持遠程服務處理
Filecoin FIP-0036提案投票未獲社區通過:9月29日消息,Filecoin FIP-0036提案投票未獲社區通過,該提案旨在“引入行業期限倍數以實現長期行業承諾”,其中代幣持有者44%拒絕,礦工35%拒絕,核心開發人員67%拒絕。
據悉,該提案內容包括將最短航段持續時間從6個月增加到1年、將最長扇區持續時間從1.5年增加到3.5年、為所有行業引入行業持續時間乘數(無論交易類型如何)、將行業初始共識承諾從30%提高到50%。[2022/9/29 22:39:25]
Manager-管理多個Worker
Scheduler-調度器,調度多個Worker,一個Manager通常有一個Scheduler
Store-Sector存儲系統
02?Sector存儲
Filecoin網絡總質押量約為1.055億枚FIL:據IPFS100報道,Filfox瀏覽器數據顯示,Filecoin網絡當前區塊高度為1063944,全網有效算力為9.868EiB,總質押量約為1.056億枚FIL,活躍礦工數為3092個,每區塊獎勵為24.1968FIL,近24小時產出347326枚FIL,24小時平均挖礦收益為0.0338FIL/TiB,目前FIL流通量為164241797。當前銷毀27630378枚FIL。當前FIL最新價格為73.8美元。目前有效算力排名前三的分別為:f0127595(MetaverseInfrast)以132.70PiB暫居第一,f0688165(MetaverseInfrastructure)以116.90PiB位居第二,f0123261(LDPool)以115.11PiB位居第三。
注:根據Filecoin官方釋放規則,Filecoin將于2021年10月15號迎來第二次減產。[2021/8/29 22:44:52]
Sector處理相關的文件存儲在Store中。Store通過sectorstore.json進行配置:
FilDA成為HECO全球節點當選節點:據官方消息,跨鏈借貸DeFi項目FilDA入選HECO主節點,當前排名第四名,為當選節點投票最多的HECO借貸項目,目前,FilDA HECO節點收益100%返還給投票者。
FilDA是基于HECO的跨鏈借貸DeFi項目,FilDA于2021年1月5日晚20:00開啟創世挖礦Fair launch,首發HUSD、HBTC等21種資產借貸功能,FilDA 平臺存借款總額高峰值突破21億美元,FilDA LP 峰值超過3000萬美金。[2021/7/8 0:36:04]
CanSeal表明Store可以用來Seal,CanStore表面Store可以持久存儲Seal的結果(replica)。Weight是權重,在多個Store選擇時使用。ID是Store的UUID編號。
一個Store中存在三種存儲,分別對應三種目錄:unsealed(未封存的文件),cache,sealed。
Filecoin網絡目前總質押量約為7871萬枚FIL:據IPFS100.com報道,Filfox瀏覽器數據顯示,Filecoin網絡當前區塊高度為810371,全網有效算力為5.940EiB,總質押量約為7871萬枚FIL,活躍礦工數為2394個,每區塊獎勵為25.4929FIL,近24小時產出量為3670941FIL,24小時平均挖礦收益為0.0592FIL/TiB,目前FIL流通量為129609551FIL。目前有效算力排名前三的分別為:f0127595(時空云)以118.07PiB暫居第一,f0135467(RRM-雅典娜)以106.34PiB位居第二,f0142720(RRM-雅典娜)以103.79PiB位居第三。[2021/6/2 23:05:05]
03?Worker&Store
sector-storage項目的README中的這張圖很好的解釋了sectorstorage的各個模塊以及相互的關系:
Filecoin將在3周內逐步進入主網:金色財經報道,據Filecoin官方博客消息,太空競賽測試網將繼續運行,并在接下來的3周內通過協議升級和狀態轉換逐步進入主網,而不是從頭開始進行設置(這樣會失去所有存儲容量)。Filecoin主網將在epoch 148888正式開啟。預期將在10月15日左右到達這個epoch,然后將開始一段時間的監控和解決問題來保證過渡后網絡的正常運行(與預期相符)。10月19日至10月23日將舉行為期一周的Filecoin啟動活動。[2020/9/28]
整幅圖分為上下兩個部分:上部分是Manager,下部分是RemoteWorker。Manager中包括一個LocalWorker。stores.Index是所有Sector存儲的索引。Scheduler,上部分的中間,管理所有的Worker,并且調度Sector相關的存儲。
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。
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:TORFILORKWORStorage CoinFilecoin 36MonthTrybe NetworkAlkemi Network DAO Token
尊敬的用戶: 經與GOS項目方協商后,WBF將于2020年8月5日17:00關閉GOS充幣業務,具體恢復時間將以公告另行通知。請您提前做好相應準備,如有任何問題,請聯系WBF官方客服.
1900/1/1 0:00:00大家好,我是你們的朋友墨菲言幣公眾號同步,墨菲專注數字貨幣行情分析,爭取為廣大幣友傳遞最有價值的幣市信息,歡迎廣大幣友的關注與點贊.
1900/1/1 0:00:00昨日午后比特幣當前點位11291我們布局的多單,在3:41就在實盤群里提醒實盤客戶進場隨后一直向上拉截止到晚間7:16成功達到11450成功止盈完美150點比特幣經過兩日的區間震蕩.
1900/1/1 0:00:00大家好,我是小賈言幣,每日為大家帶來幣圈實時分析,關注小賈不迷路!!!今日小賈為大家帶來的資訊:8月6日,針對ETC再次遭遇51%攻擊,V神發推稱,ETC應該轉向PoS機制了.
1900/1/1 0:00:00親愛的用戶: DigiFinex將于2020年08月07日11:00(GMT8)上線BAX開放充幣和交易服務,提幣服務將于2020年08月08日11:00(GMT8)開放.
1900/1/1 0:00:00親愛的用戶: BigONE將于2020年8月10日15:00(UTC8)正式上線第四期“幸運寶”,此次幸運寶每存20份送1個抽獎號,所有用戶均可參與.
1900/1/1 0:00:00