是什麼讓我們與眾不同:Filecoin的證明系統

買賣虛擬貨幣

本文由 FilCloud 編譯整理

原文連結:https://filecoin.io/blog/filecoin-proof-system/

就像其他大型技術創新一樣,區塊鏈是我們已經使用和信任數十年的幾種成熟技術的結合。自從 1970 年代開始研究並在 1990 年代發展起來的“共識機制”是一種與垃圾郵件作鬥爭的工具,它使分散式系統中的使用者可以達成協議,而無需中央仲裁員。

區塊鏈使用不同的系統來保持共識。例如,比特幣的工作量證明共識機制要求礦工相互競爭,以解決計算量大的數學問題,以便驗證兩個交換比特幣的人之間的付款。解決這些問題需要大量的電力。這就是為什麼您聽到有關比特幣網路每年使用的電力比整個瑞士都要多的報告(其消耗增長更快)的原因。

Filecoin 建立在空間證明的變體上。它也與權益證明有關,因為權益不是以令牌作為抵押,而是以經證明的儲存形式確定,確定了礦工開採區塊的概率。在構建去中心化儲存網路時,我們著手構建證明結構,在該結構中,透過產生積極的社會外部性的操作來達成共識:資料儲存。隨著testnet的推出,我們將推出一套新的基於儲存的證明系統,以達到分散的共識。

當我們在 2017 年宣佈 Filecoin 時,我們著手建立一個基於強大的分散市場的分散儲存網路。為了播種這個市場,分散市場功能並激勵早期礦工參與,我們建立了一個加密代幣,這是 Filecoin 共識的副產品。該令牌是在有用的工作的基礎上生成的,即有用的複製證明和時空證明。

這些證明的故事

PL 的 Juan Benet 在最近對 Zero Knowledge 播客的一次採訪中探索了 Filecoin 證明構建的歷史。以下是該採訪的節選:

“ Filecoin 以多種不同方式推動了區塊鏈的前沿。複製證明最終是一個證明系統,用於驗證儲存礦工是否確實擁有他們正在儲存的內容並且沒有弊。在這些系統中,這是一個非常棘手的問題:如何向網路證明您確實在儲存某些東西,而不僅僅是撒謊?

Filecoin 嘗試解決其他有趣的問題,包括更高的吞吐量共識以及 Filecoin 使用的可互操作的,內容可定址的連結資料結構。但是,歸根結底,這是要拿走地球上所有未使用的儲存並進行激勵組織,以建立最大,功能最強大的計算儲存網路,並降低該儲存的價格。

Filecoin 的複製證明既是儲存證明,又是空間證明,兩者有細微的差異(稍後說明)。在 Filecoin 中,資料單位儲存在所謂的扇區中。您可以透過緩慢的編碼過程將特定資料密封在磁碟上的某個扇區中,然後將其證明提交給區塊鏈。蓋章是花費在該特定證明上的大量工作。為了偽造這樣的證明,您必須使用客戶端儲存在Filecoin上的原始資料來完成特定工作,這與比特幣工作量證明中的數字雜湊不同。

證明系統是一種加密協議,其中有一個證明者和一個驗證者,證明者將向驗證者證明某些內容。例如,在工作量證明中,證明者已經完成了一些工作,或者花費了一些計算週期。典型的例子是[用比特幣表示]雜湊。另一個示例是可驗證延遲函式(VDF),在這裡我可以向您證明我已經依次花費了一定數量的週期,因此我已經等待了一定時間[Filecoin 不使用 VDF,但是一個研究領域。因此,所有的儲存系統,這些證據都證明這樣的系統中,低階別的密碼基元在多種協議的使用。

儲存證明是簡單的證明系統,可以證明我擁有一些資料。資料所有權證明的一個例子是:我可以向您證明我有資料 X,或者不透露資料 X,或者如果資料大幾 GB,則更為簡潔。然後是可檢索性證明,我不僅要證明我有 X,而且在我惡意並想從您那裡保留X的情況下,也可以使用這些證明來重建 X。

空間證明是另一種型別的組,在這些組中,我可以向您保證我要花費一定數量的儲存空間。如果我承諾儲存 1 GB,並且生成一個隨機 GB,那麼可以向您證明我正在儲存該隨機 GB,而不儲存其他東西。這樣就可以將儲存空間用作工作量證明。

有趣的部分是將空間證明與普通的資料所有權證明相結合,在此我希望 X 有用,而不僅僅是隨機字串。困難的部分是建立空間證明,該證明也用於儲存有用的資料。這就是複製證明作為 Filecoin 網路的加密協議中的基礎原語。

發明了其他儲存證明系統來建立您可以更好地信任的雲,因為它們可以向您證明它們正在備份您的資料。但是它們在信任是契約性的常規集中式雲環境中完全沒有使用。而現在,他們正在整個下放空間中使用,因為這是我們使用的激勵結構,以保證東西不具法律效力的協議。

我們還使用 SNARK 來證明一些實際的複製證明,這些證明會產生大量輸出。我們想對這些複製證明進行很多挑戰,但是要彙總它們,以便它們可以以非常小巧的方式進入鏈中。有多種方法可以執行此操作,但是 SNARK 是執行此操作的好方法,它們為您提供了一種方法來證明您已正確完成了證明,然後您可以將 SNARK 證明放在鏈上。然後,各方現在可以驗證一些輸入本身以及實際的 SNARK 證明,並知道證明已正確生成。

在複製證明中,我們獲取大量的源資料(如 32GB),並應用非常慢的編碼,從而在節點可能為 32 位元組段的層中生成這些類似格子的圖形。有一個連續的過程將繼續產生一個圖,併為每個節點依次雜湊。由於雜湊函式,它必須一個接一個地完成。

生成的一種圖型別是 DRG(深度-魯棒圖),它們與這些擴充套件圖連線,並且有一個完整的複雜晶格結構。最後,我們現在已將原始資料編碼為所謂的副本,即作為值提交的副本。如果需要,您可以獲取相同的源資料並對其進行多次編碼,最終會得到多個唯一編碼的不同副本。

現在,我們已經完成了這一工作,為了證明我們已經正確完成了此編碼,我們可以在 SNARK 內進行整個編碼,這將是非常昂貴的,或者我們可以抽樣一些挑戰證明我們已經儲存了這個。假設我們在整個證明中抽樣了 1000 個隨機挑戰,然後在 SNARK 內進行了計算。我們獲取源編碼的資料,然後對其進行解碼,然後證明它一直追溯到我們致力於的根。這就是我們要簡潔的證明。因為否則它將是一個 32 位元組的葉子,然後整個 Merkle 鏈一直回到根,將是相當大量的資料,然後乘以一千。100s KB 或 MB 產生一個證明。藉助 SNARK,我們可以將其壓縮,我認為它可以壓縮到 200B 或類似的水平。

關於所有這些工作的一個偉大故事就是我們所說的證明過山車。隨著時間的流逝,您最終將建立大量不同的構造,而所有這些不同的引數將為所有這些不同的用例提供服務。

與 Filecoin 中的證明相比,這種引數選擇可能是我們花了這麼長時間才運送所有這些東西的最大原因。因為您選擇一種構造,並且它具有特定的形狀併產生特定大小的偽像,也許這很好,然後您調整一些引數,例如,“嘿,也許我們希望扇區稍大一些。” 這使得其他一些引數必須更改。

很快,您就進入了一個非常大的引數空間,其中包含許多不同的變數,您可以在此處調整一件事,而其他許多事情也必須更改。隨著一系列演算法的最佳化,進行復雜性管理非常困難。因為很多這樣的構造,這些慢速編碼,所以您希望足夠慢以對證明有用,但又要足夠快以至於它不是很昂貴。進行撥號以使其恰到好處是一個非常困難的挑戰,然後使用特殊的 SNARK 結構進行釘牢處理,以確保您可以高效,簡潔地完成此操作。

所有這些引數最佳化都是如此艱鉅而又困難,以至於我們實際上不得不編寫軟體來處理這一問題。我們有一個約束求解器,只是為了能夠在選擇證明結構和 Filecoin 中的引數時處理約束最佳化問題。這樣的結果令人驚訝,其他小組現在可以使用它來使他們的生活更輕鬆,但是我們必須編寫此程式碼。

我們在Github上使用了一個名為 Orient 的工具,所有工具都是開源的(請參閱 Orient 和Übercalc 中 Filecoin 的引數)。它具有一種特殊的語言,您可以在其中定義特定的演算法及其生成的工件,然後將它們與所有這些變數和引數組合成更大的物件。

然後,您可以得出實驗結果,例如某些雜湊函式需要多長時間,然後將該資料插入某些引數中,並計算出其他一些引數必須是什麼。因此,例如,基於此雜湊函式以及在 SNARK 內部或 SNARK 外部花費的時間,那麼您將要使用這種特定的構造,因為它可將某些時間最小化或將鏈上佔用的空間最小化而所有這些東西都是透過此求解器計算出來的。

由於結構的複雜性,單個基元及其如何編織到鏈中以及所有脫鏈協議等方面,現在就製作區塊鏈技術非常困難,因此我們需要此軟體幫助我們編寫軟體。類似於晶片製造的方式,晶片製造一直很好,直到達到一定的密度,然後他們停止了手動生產晶片的能力。他們必須開始使用軟體才能對晶片進行佈局。我認為我們已經達到了區塊鏈的目的,在區塊鏈中,我們正在建造的某些建築中,我們需要軟體來幫助我們進行設計。

我認為沒有其他網路在使用複製證明,因此建立該欄位是我們的優勢。所以這是一個與眾不同的因素。我們也是唯一具有這種可變的市場結構的公司,該結構旨在根據要價和投標結構進行最佳化,使礦工和客戶能夠一起對價格進行推理,然後從中進行交易。我認為,我們也是唯一在有用儲存支援下達成共識的公司。對於其他網路,這可能是由空間證明支援的共識,但對我們而言,它很有用。這些是 Filecoin 的三個最大區別因素。

然後,透過 libp2p 緊密整合到IPFS中,以及在 IPFS 上已經有大量使用情況的許多其他事情。將所有資料直接備份到 Filecoin 將很容易。值得一提的是 IPFS 是一個開放的網路,我們已經看到其他網路開始增加對它的支援,這也真的很酷。出於這個原因,它意味著要成為分離層。”

免責聲明:

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

推荐阅读

;