Filecoin的終極指南:深挖Filecoin白皮書
編者按:本文來自藍狐筆記(ID:lanhubiji)編者按:本文來自

藍狐筆記(ID:lanhubiji)
藍狐筆記(ID:lanhubiji)
編者按:本文來自
藍狐筆記(ID:lanhubiji)
藍狐筆記(ID:lanhubiji)
藍狐筆記(ID:lanhubiji)
前言:按照計劃Filecoin將於12月11日測試網上線,而在2020年3月主網上線。作為去中心化存儲的項目,Filecoin通過構建存儲和檢索市場,類似於存儲市場的去中心化的Airbnb,它能對中心化的存儲市場帶來衝擊和顛覆嗎?從技術上,它到底是什麼?如何來解讀?
二級標題
這就是Filecoin的來歷。自發布以來,Filecoin在社區中贏得了很多關注。但由於它的代幣經濟(眾籌和投資策略),它失去了不少支持者。顯然,有些人似乎對它的計劃不滿。
正文
二級標題
正文
非常快
二級標題
正文
如今,Amazon S3是互聯網上文件存儲的巨頭。原因有很多:
非常快
二級標題
可靠:確實,它發生過幾次大的宕機,並導致互聯網的很大部分離線。但它仍然有99.9%的正常運行時間。
這個世界上,我們已經擁有瞭如此出色的雲存儲服務,任何競爭者都必須有更優秀的服務,或者至少達到同等的水平。就小規模的情況而言,去中心化網絡做得不出色。
技術概述
但是,如果IPFS被大規模採用(比BitTorrent有更大規模的採用),那麼,這可能會被證明是更好的互聯網版本,而且還將開啟全新的經濟。
技術概述
二級標題
有四個部分:
Filecoin協議的深入研究
二級標題
其他問題(白皮書上未涉及的)
Filecoin協議的可能改進
二級標題
Filecoin網絡如何運作?
在Filecoin中有3組用戶:客戶、存儲礦工以及檢索礦工。
客戶為存儲和檢索數據的服務付費。他們可以從可用的服務提供商中進行選擇。如果他們想存儲隱私數據,他們需要先對其進行加密,然後再提交給服務提供商。
存儲礦工存儲客戶的數據以獲得獎勵。他們自行決定為存儲提供多少空間。在客戶和存儲礦工達成協議之後,礦工有義務持續提供其存儲數據的證明。每個人都可以查看該證明,並確保存儲礦工是可靠的。

檢索礦工根據客戶的請求給他們提供數據。他們可以從客戶或存儲礦工那裡獲取數據。檢索礦工和客戶使用小額支付來交換數據和代幣:數據被切分成碎片,客戶為每個碎片支付少量代幣。檢索礦工也可以同時充當存儲礦工。
本文中的一些術語:
碎片:碎片是指客戶存儲在去中心化存儲網絡中的數據的一部分。例如,可以將數據(可能是一張貓的圖片)有意地切分成許多碎片,且每個碎片可以被存儲進入不同的存儲礦工中。
分配表:分配表是一種數據結構,它持續跟踪碎片及其分配的扇區。分配表在分類賬上的每個區塊都會更新,其Merkle root會存儲在最新的區塊中。在實踐中,分配表用於保持DSN的狀態,以便於在驗證證明時快速查找。
二級標題
訂單:訂單是請求或提供服務的聲明。客戶向市場提交買盤訂單以請求服務(其中包括在存儲市場請求數據存儲,在檢索市場請求數據檢索),礦工則提交賣盤訂單以提供服務。
保證:保證是向網絡提供存儲(尤其是扇區)的承諾。存儲礦工必須向賬本(filecoin區塊鏈)提交他們的保證,以在存儲市場中接受訂單。保證包括包括扇區大小的保證以及其存入的質押代幣。

二級標題

用戶通過下訂單來表達其意向。客戶提交買盤訂單,並指定其想支付的價格。礦工提交賣盤訂單,並指定其想收取的價格。當買盤和賣盤訂單匹配,客戶和礦工雙方簽署交易訂單協議並將其提交至區塊鏈。

買盤和賣盤訂單一起形成存儲市場(文件存儲的市場)和檢索市場(文件檢索的市場)。我們可以深入研究這些市場,看看它們如何運作。

二級標題

存儲市場

它是由網絡運行的去中心化交易所,其中所有的賣盤和買盤都存在區塊鏈上,用於在Filecoin網絡上存儲數據。

客戶使用PUT協議向存儲訂單簿提交買盤訂單。客戶必須在指定的訂單中存入代幣,並指定他們想要存儲的複制數量。客戶可以提交多個訂單,也可以在一個訂單中指定複製數量。更高的冗餘度(藍狐筆記註:此處指更多的複制數量)能產生更高的存儲故障的容錯性。
存儲礦工通過存入質押代幣向網絡保證其存儲,其保證通過Manage.PledgeSector在區塊鏈中進行保證交易。質押代幣會在存儲礦工願意提供服務的期間內存入質押,如果礦工生成他們所承諾的數據存儲證明,代幣會被返回。
如果某些存儲證明失敗,存儲礦工則會損失與之成比例的抵押代幣。
當賣單和買單匹配(通過Put.MatchOrders),客戶將數據碎片發給礦工。

當接收到碎片,礦工運行Put.ReceivePiece。接收到數據之後,礦工和客戶都簽署交易訂單並將其提交到區塊鏈上(在存儲市場訂單簿)。
當存儲礦工扇區充滿,該扇區密封。密封是緩慢和有序操作,它將扇區中的數據轉換為副本,該副本是跟存儲礦工的公鑰相關聯的數據的唯一物理副本。在復制證明(Proof-of-Replication)期間,密封是必要的操作。
二級標題
當為存儲礦工分配數據時,他們必須重複生成複制證明以確保他們在存儲數據。證明會發佈到區塊鏈上,並由網絡對其進行驗證。

如果任何證明缺失或無效,網絡會拿走礦工的部分抵押代幣,以示懲罰;

檢索市場

總結
二級標題

二級標題
圖片描述
二級標題
二級標題
圖片描述
下圖顯示發生在網絡上的所有活動
二級標題
圖片描述
Filecoin網絡的執行案例,按參與者分組並按行進行時間排序
二級標題
對Filecoin協議的深入研究
Filecoin引入去中心化存儲網絡(DSN)的概念。 DSN是一種描述獨立客戶和存儲提供商網絡的方案。 DSN聚合由多個獨立存儲提供商提供的存儲,並進行自我協調,以為客戶提供數據存儲和數據檢索的服務。
協調是去中心化的,且不需要可信的第三方:這些系統的安全操作是通過協議達成的,這些協議可以協調和驗證各方參與者的操作。 (藍狐筆記註:跟Airbnb通過中心化公司的調度不同,它是無需信任第三方的)
DSN可以根據系統要求採用不同的策略進行協調,包括拜占庭協議、八卦協議、或CRDT。
DSN涉及3個功能的實現:存入、獲取和管理。 “存入”允許客戶在唯一標識符下存儲數據。 “獲取”允許客戶使用唯一標識符檢索數據。 “管理”是對去中心化存儲市場網絡的管理,它測量可供出租的空間、審核存儲提供商、以及修復可能的數據故障。管理協議通常由存儲提供商和客戶或網絡的審核者一起運行。
DSN有幾個屬性。前兩個是必須的。
數據完整性意味著客戶總是可以收到其存入的相同數據,而存儲提供商如果提供錯誤數據,則無法讓客戶放心。
可檢索性則意味著客戶可以隨時間推移檢索其數據。
DSN的其他屬性:
公開可驗證性,它則允許網絡中的任何人在無需知道數據的情況下驗證數據是否被存儲。
可審核性,它允許驗證數據是否在正確的時間段內被存儲。
激勵兼容,它旨在獎勵好的服務提供商,懲罰差的提供商。
實現機密性:它希望對其數據進行私密存儲的客戶在其提交到網絡之前必須加密其數據。
DSN應該對兩種類型的可能錯誤進行容錯:
共識算法
管理容錯
例如,考慮一下DSB機制,其中的管理協議要求拜占庭協議(由於節點可以向審核者謊報)來審核存儲提供商(如果他們根據約定的條件存儲應存的所有數據)。
共識算法
存儲容錯也是拜占庭容錯,它們會阻止客戶檢索數據:即是說,存儲礦工丟失了數據碎片,檢索礦工停止提供服務。如果將其“存入”數據存儲在m個獨立的存儲提供商(總共n個),且它能容錯最多f個拜占庭提供商,那麼,成功的“存入”執行是(f,m)-容錯。參數f和m取決於協議的實現;協議設計者可以修復f和m或者讓用戶作出選擇,而將Put(data)擴展為Put(data,f,m)。
不可重用的工作
共識算法
如果錯誤的存儲提供商少於f個,則對存儲數據的“獲取”執行成功。例如,考慮下簡單的方案,其中,將“存入”協議設計為每個存儲提供商都存儲所有數據。在這個方案中,m=n,且f=m-1。
那麼,總是會f=m-1嗎?不是的。一些方案可以設計為使用糾刪碼,其中每個存儲提供商存儲特定部分的數據,這樣在總共m個存儲提供商中需要x個來檢索數據;在這種情況下,f=mx。
共識算法
Filecoin的DSN協議可以在任何共識協議基礎上執行,它允許驗證Filecoin的證明。工作量證明機制通常需要解決謎題,它的答案無法重用或要求耗費大量計算來尋找。 (藍狐筆記註:也就是無記憶性,每次都重新開始)
不可重用的工作
浪費的工作
有用的工作
解決謎題可能在機器和能源消耗成本方面非常昂貴,尤其是,如果這些謎題僅僅依賴於算力。當挖礦算法令人尷尬地並行時,解決謎題的主要因素是計算能力。
嘗試減少浪費
理想情況下,網絡的大部分資源應該花費在有用的工作上。一些努力也在嘗試要求礦工使用更加節能的解決方案。例如,Spacemint要求礦工用專用的磁盤空間而不是計算。儘管更加節能,這些磁盤依然是“浪費”的,因為它們充滿的是隨機的數據。
其他努力還包括使用基於PoS的傳統拜占庭協議來替代解決謎題的方法。其中,代幣質押的利益相關者在系統中根據其成比例的代幣佔比進行下一個區塊的投票。
Filecoin礦工的工作,不是進行浪費的PoW證明計算,他們生成PoST(Proof-of-Spacetime),以參與共識。
有用的工作
我們認為,如果除保護區塊鏈的安全之外,計算結果也對網絡有價值,那麼,在共識協議中礦工做的工作是有用的。
Filecoin提出一種有用的工作共識協議,其中網絡選舉礦工生成新區塊的概率跟他們當前在網絡中的存儲空間比例成正比。 Filecoin協議的設計使得礦工寧願投資於存儲,而不是投資平行挖礦的算力。礦工提供存儲,並重用計算,以證明數據正被存儲,以參與共識。
建模挖礦能力
權力故障容錯
權力故障容錯是一種抽象形式,它根據參與者對協議結果的影響力來重構拜占庭容錯。
每個參與者控制一些權力,其中n是網絡中的總權力,f是部分權力,由錯誤方或惡意行為者控制。
Filecoin中的權力
在Filecoin中,礦工M在時間t的權力p是M的存儲分配的總和。 M的影響力I是M的權力佔整個網絡全部權力的比例。在Filecoin中,權力具有如下屬性:
公開
網絡中當前在用的存儲總量是公開的。通過讀取區塊鏈,任何人都能計算每個礦工的存儲分配,因此,任何人都可以在任何時間點計算每個礦工的權力和網絡中的總權力。 (藍狐筆記註:這裡的權力,類似於其網絡中的影響力,能直接用於選舉生成區塊的礦工。)
可公開驗證
對於每個存儲分配,礦工要求生成PoST時空證明(Proof-of-Spacetime),證明其正在提供的服務。通過讀取區塊鏈,任何人都可以驗證一個礦工聲稱的權力是否正確。
變量
在任何時間點,通過承諾新的扇區並填充扇區,礦工可以向網絡增加新的存儲。通過這種方式,礦工可以隨著時間改變其擁有的權力比例。
我們還需要一種機制來防止三種類型的攻擊,惡意的礦工能夠利用他們並無真實提供的存儲來獲得獎勵:女巫攻擊(Sybil Attack)、外包攻擊(Outsourcing Attack)、生成攻擊(Generation Attack) 。
女巫攻擊
通過創建多個女巫身份,惡意礦工可以假裝其存儲比實際更多的副本(並由此獲得報酬),但實際上只存儲數據一次。
外包攻擊
通過依賴於從其他存儲提供商那裡快速獲取數據,惡意礦工承諾存儲超出其實際存儲能力的數據。
生成攻擊
惡意礦工可以聲稱存儲了大量的數據,而他們卻使用一個小程序按需求高效地生成了這些數據。如果程序小於所聲稱的存儲數據,這會增加惡意礦工在Filecoin中贏得區塊獎勵的概率,這個可能性與礦工當前使用中的存儲成正比。
存儲提供商必須說服他們的客戶,他們已經存儲了他們付費存儲的數據。實際上,存儲提供商會生成存儲證明(PoS),以供區塊鍊網絡或客戶自己進行驗證。
為了讓存儲行為公開可驗證,Filecoin引入了兩種共識算法:Proof-of-Replication(PoRep)和Proof-of-Spacetime(PoSt),也就是複制證明和時空證明。
我們的機制是交互式的協議,其中證明方P:

(a)承諾存儲某些數據D的n個不同副本(物理上獨立的副本)
(b)說服驗證者V相信,P確實通過質詢/響應協議存儲了每個副本。 PoRep改進了PoR和PDP機制,防止女巫攻擊、外包攻擊以及生成攻擊。
這個問題的自然答案是要求用戶反复地(例如每分鐘)向存儲提供商發送質詢。然而,每次交互所要求的通信複雜度可能會是成為像Filecoin這樣系統的瓶頸,其中存儲提供商需要將其證明提交到區塊鏈上。
智能合約
直覺是要求證明者
生成有次序的存儲證明(Filecoin中是複制證明),作為確定時間的方式。
智能合約
遞歸組合執行以生成簡短證明
PoSt圖示
智能合約
證明者從驗證者那裡收到隨機質詢(c)),並為指定迭代次數t使用證明的輸出作為另一個的輸入,依次生成複制證明。因此,確保完成的所有工作都是可重用的(如上所述)。
PoSt & PoRep使用zk-SNARKS,使得證明很簡潔且易於驗證。
智能合約支持Filecoin用戶編寫有狀態的程序,這些程序可以花費代幣、在市場中請求數據的存儲/檢索、驗證存儲證明。用戶可以通過發送交易到分類賬與智能合約進行交互,這些交易可以觸發合約中的功能調用。我們擴展了智能合約系統,以支持Filecoin的特定操作,例如市場操作、證明驗證。
付款策略
Filecoin支持特定的數據存儲合約,以及更通用的智能合約。
我們允許用戶對他們提供存儲服務的條件進行編程。有幾個例子值得一提:
智能合約
與礦工簽約
付款策略
智能合約
客戶可以為礦工設計不同的獎勵策略,例如合約可以設置為隨著時間推移向礦工支付越來越高的費用,或者合約可以設置可信預言機告知的存儲價格。
合約可以允許礦工存放代幣,以代表其用戶支付存儲/檢索的費用。
更多複雜的操作
客戶可以創建允許數據升級的合約。
用戶可以將程序與其交易相關聯,就像其他的系統(如以太坊)那樣,這些系統不直接依賴於存儲的使用。我們可以預見到這些應用:DNS(藍狐筆記註:去中心化的域名系統)、資產跟踪以及眾籌平台。
二級標題
跨鏈交互
其他平台上的Filecoin:其他區塊鏈系統,如比特幣、Zcash、尤其是以太坊和Tezos,允許開發者編寫智能合約;然而,這些平台提供很少的存儲能力,且成本極高。
二級標題
我們計劃提供一個橋樑,為這些平台提供存儲和檢索的支持。我們注意到IPFS已經被好幾個智能合約使用,作為引用和分發內容的一種方式。增加對Filecoin的支持將允許這些系統可以保證存儲IPFS內容,以交換Filecoin代幣。
Filecoin中的其他平台:我們計劃提供橋樑,以將其他區塊鏈服務與Filecoin連接起來。例如,與zcash集成將允許發送存儲隱私數據的請求。
二級標題
其他一些問題
這裡我們列出一些白皮書上沒有充分討論的潛在問題:
檢索市場的可擴展性
審查制度(非法內容)
正如我們過去在Napster和the Priate Bay(海盜灣)所看到的一樣,缺乏審查將最終導致網絡上產生非法內容,將暗網帶到明面上。可能的解決方案是,基於AI驅動的協議能夠隨著時間推移進行學習,且能自動檢測非法內容,並採取必要的行動。
開源?
二級標題
從上述問題推斷,也有可能剛開始時為了保護網絡免遭非法內容侵擾,它可能由Protocol Labs管理。這可能意味著是一個封閉的軟件,可以免費使用,但不能公開用於修改。
二級標題

Tahor-LAFS加密方案
考慮到Filecoin將會在交易所上市這一點,在這種市場中,到底小額支付系統(存儲和檢索會設計小額支付)有多大可行性? (藍狐筆記註:作者的意思是說,Filecoin代幣在市場上是波動的,很難作為小額支付的貨幣,需要穩定幣才行)。
從當前的市場成熟度和去中心化領域來看,代幣更像是投資工具,而不是效用工具。這也是我們今天沒有看到基於代幣的項目被太多采用的最大原因之一。
二級標題


