Filecoin挖礦密封全流程

語言: CN / TW / HK

IPFS(Inter-Planetary File System)是一個點對點(P2P)檔案共享系統,是由Protocol Labs 建立的開源專案。Filecoin 是一個將雲端儲存轉變為演算法市場的去中心化儲存網路,礦工通過提供儲存、分發和檢索資料服務獲得獎勵,而客戶則需要付費獲得這些服務。目前全球IPFS 專案逐漸增加,資料儲存市場的需求也在逐步加大,Filecoin 作為激勵層,成為市場為IPFS 保駕護航的迫切需求。

Filecoin獎勵

Filecoin的獎勵目前分為儲存市場,檢索市場以及區塊獎勵。

Filecoin挖礦

Filecoin挖礦可以簡單拆分為worker和miner兩個步驟。

worker就是負責計算,將原始資料通過SDR演算法進行數學計算,然後再將計算好的資料封裝到硬碟的扇區中,並提交上鍊生成複製證明,礦工就獲得了算力,這個過程需要消耗大量的CPU、記憶體和GPU資源。然後Filecoin網路再根據礦工所持有的算力分配區塊打包的權利(也就是區塊打包票選權),算力越大、贏票率越高,礦工在參與區塊打包的時候需要重複提交時空證明,完成了時空證明的節點就可以獲得區塊打包的獎勵。

Filecoin儲存資料密封

資料封存階段主要涉及Precommit 1,Precommit 2,Commit 1,Commit 2四個小階段。簡稱P1、P2、C1、C2階段;

(1) Precommit1 階段:

系統會把使用者需要儲存的檔案分成一個個大小為 32GB 的 sector(扇區),P1 階段就是礦工先對sector 進行進一步的拆分,然後再按順序進行儲存,中間需要進行 11 層計算,且無法平行計算;在該階段,通過大容量記憶體的方式,就有可能同時儲存多個sector,並通過軟體優化儲存一個sector佔用的記憶體的大小來提高P1階段的速度;

(2) Precommit2 階段:

P2 階段即就是計算 Column Hash 以及生成 Replica,並構造相應的 Merkle 樹,相當於解題並做出答案的過程。該階段可以採用 GPU 加速。

(3) Commit1 階段:

C1 階段主要是為 Sector 證明準備所需要的資料。這個時間很短,一般在一分鐘以內。

(4) Commit2 階段:

C2 階段是零知識證明的資料處理以及生成零知識證明的過程。相當於確認答案是否正確的階段。該階段可以採用 GPU 加速。

Filecoin挖礦密封全流程

挑選了流程中的主要步驟做出解析,配合流程圖理解更佳

1、Empty--Packing(空扇區,灌入資料,形成未密封的扇區)

2、PreCommit1--PreCommit2(這裡就開始密封了,檔案碎片加密的方式是默克爾樹列,最終要計算到默克爾樹列的根值,p1預計耗時若干小時,p2預計耗時耗時幾十分鐘)

3、PreCommting(把PreCommit2計算得到的默克爾樹根提交上鍊,以此證明礦機的加密能力,和能完成扇區密封)

4、WaitSeed(可以理解為等待一定時間,這裡指一定的區塊高度,每個區塊間隔30s,這是目前主網的高度時間,具體等待的是:一個扇區計算到的隨機數,用來抽查p2密封的扇區內檔案碎片是否儲存,零知識證明)

5、Commiting1、2(抽出對應檔案碎片,計算出到默克爾根的檔案路徑,c1預計耗時只需數十秒,c2預計耗時25分鐘左右)

6、CommitWait(提交c2計算的根,以證明檔案碎片儲存著)

7、FinalizeSector(扇區密封結束)

8、Proving完成密封

Filecoin滿存算力產品是星際資料推出的Filecoin算力業務,專注於Filecoin挖礦。