探索星際 礦工必讀 |【第13期】Filecoin的證明系統

買賣虛擬貨幣

引言

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

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

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

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

關於證明的故事

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

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

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

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

證明系統是一種加密協議,其中有一個證明者和驗證者,證明者將向驗證者證明某些內容。例如,在工作量證明中,證明者已經完成了一些工作,或者花費了一些計算週期。最典型的例子是[用比特幣表示]雜湊。另一個示例是可驗證延遲函式(Verifiedable Delay Function,VDF),在這裡我可以向您證明我已經按順序花費了一定數量的週期,因此我已經等待了一定的時間[Filecoin不使用VDF,但是研究領域]。因此,所有這些儲存證明系統都是類似的證明系統,它們被廣泛用於各種協議中。

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

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

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

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

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

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

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

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

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

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

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

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

Orient工具

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

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

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

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

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

Juan Benet在“Zero Knowledge”播客上的完整訪談可以在這裡找到:

https://www.zeroknowledge.fm/106

- END-

作者:,來源:星際聯盟Filecoin

免責聲明:

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

推荐阅读