看胡安怎麼描述Filecoin的與眾不同

看胡安怎麼描述Filecoin的與眾不同


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


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


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


當我們在2017年宣佈Filecoin時,我們著手創建一個基於強大的分散市場的分散存儲網絡。為了播種這個市場,分散市場功能並激勵早期礦工參與,我們創建了一個加密代幣,這是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字節段的層中生成這些類似格子的圖形。有一個連續的過程將繼續產生一個圖,併為每個節點依次散列。由於哈希函數,它必須一個接一個地完成。


看胡安怎麼描述Filecoin的與眾不同


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


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


看胡安怎麼描述Filecoin的與眾不同

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


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


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


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


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


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


看胡安怎麼描述Filecoin的與眾不同


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


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


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


原文鏈接:https://filecoin.io/blog/filecoin-proof-system/



分享到:


相關文章: