Filecoin的證明系統

買賣虛擬貨幣

Filecoin之所以與眾不同,不僅在於Filecoin是IPFS網路唯一的激勵層,並獲得了高達2.57億美元的融資,也在於Filecoin獨特的共識機制。當以比特幣為代表的數字貨幣以工作量證明的共識機制來要求礦工相互競爭,並透過解決計算量大數學問題的方式來驗證兩個交換比特幣的人之間的付款資訊。Filecoin已經建立了新的證明結構,以經證明的儲存形式確定礦工開採區塊的概率,在該結構中,Filecoin透過產生積極的社會外部性的操作來達成共識。今天,我們就來談談Filecoin的證明系統。

PoRep(複製證明)

PoRep(複製證明)是一種證明系統,礦工可使用該證明系統以可公開驗證的方式向網路證明其專用於儲存資料檔案一個或多個副本的唯一資源,也就是說,在複製證明中,儲存礦工證明他們正在儲存資料的物理唯一副本或多副本。

在礦工首次儲存資料時,複製證明僅發生一次。

填充部門並生成CommD

當儲存礦工收到客戶資料時,他們會將其放入一個扇區。扇區是Filecoin中基本的儲存單位,可以包含來自多個交易和客戶資料的碎片。

扇區填滿後,將生成一個CommD(資料提交,也稱為UnsealedSectorCID),代表該扇區中所有CID的根節點。

密封扇區和生產CommR

接下來,發生稱為密封的過程。

在密封期間,透過一系列圖形和雜湊處理對扇區資料(由CommD標識)進行編碼,以建立唯一的副本。所得副本的Merkle樹的根雜湊是CommRLast。

然後,將CommRLast與CommC(來自複製證明的另一個merkle根輸出)一起雜湊處理。這將生成CommR(複製承諾,也稱為SealedSectorCID),並記錄到公共區塊鏈中。CommRLast由礦工私下儲存,以備將來在時空證明中使用,但未儲存到鏈中。

編碼過程被設計為緩慢且計算繁重,因此難以欺騙。(請注意,編碼與加密不同。如果要儲存私人資料,則必須先對其進行加密,然後再將其新增到Filecoin網路中。)

CommR提供了我們所需要的證明,表明礦工正在儲存客戶資料的物理唯一副本。如果將相同的資料儲存在多個儲存礦工中,或者使用一個礦工對同一資料進行多個儲存交易,則每個交易將具有不同的CommR。

密封過程還使用zk-SNARKs壓縮了複製證明,以保持鏈條較小,以便Filecoin網路的所有成員都可以儲存該鏈條以進行驗證。 

PoSt (時空證明)

曾經執行一次複製證明來證明礦工在密封該扇區時儲存了物理上唯一的資料副本,而 PoSt (時空證明)則反覆執行以證明他們繼續將儲存空間專用於該副本,資料隨時間推移。

PoSt建立在複製證明期間建立的幾個元素的基礎上:副本,私有儲存的CommRLast和公共已知的CommR。

首先,PoSt隨機選擇編碼副本的某些葉節點,並對它們執行Merkle包含證明,以證明礦工具有應在其中的特定位元組。

然後,該礦工使用私有儲存的CommRLast證明(不透露其價值),他們知道該副本的根,這既與包含證明相符,又可以用於推導眾所周知的CommR。

PoSt的最後階段將這些證明壓縮為單個zk-SNARK。 

當礦工同意為客戶儲存資料時,他們需要質押抵押物。如果他們在合同期間的任何時候均未透過時空證明,則將受到處罰。這是鼓勵在Filecoin網路中所有參與者之間表現良好的激勵措施的關鍵部分。

zk-SNARKs(零知識證明)

值得說明的是,Filecoin中的複製證明和時空證明過程均使用zk-SNARK進行壓縮。

我們對zk-SNARKs應該不陌生,這是零知識證明,我們也可以將它們視為計算的雜湊值。他們讓我們證明了證明已正確完成,而不必透露證明本身或它所基於的基礎資料的詳細資訊。

建立Filecoin的zk-SNARKs的過程在計算上是昂貴並且緩慢的,但是最終數值很小,並且驗證過程非常快。與原始證明相比,zk-SNARKs很小,可以有效地儲存在區塊鏈中。例如,使用zk-SNARK可以將在Filecoin鏈上佔用數百千位元組的證明壓縮為僅192位元組。

如前所述,執行Filecoin節點的每個人都維護鏈的最新版本以進行驗證。在zk-SNARK的幫助下,將每個證明都保持較小,可以最大程度地減少對Filecoin網路中每個節點的儲存需求,以及驗證交易所需的時間。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;