IPFS由胡安在2014年5月份發(fā)起,目前為止已經誕生了5年時間,而基于IPFS開發(fā)的Filecoin存儲激勵項目則旨在為我們的網絡提供更加完善、體驗更好的存儲服務。
愿景很美好,但我們首先要弄清楚,它是怎么保證整個存儲服務的正常運行呢?Filecoin的工作證明機制在圍繞著核心的復制證明PoRep與時空證明PoSt之外還涉及不少其他的證明機制。今天我們用超直白的話和大家解說Filecoin的工作證明機制
Filecoin存儲的工作流程
首先,我們來了解下Filecoin完成存儲需要的關鍵流程和角色。
挑戰(zhàn)(challenge)
系統(tǒng)對礦工提問一個或多個問題進行驗證,回答正確,則挑戰(zhàn)成功,否則失敗。類似于BTC的工作量證明,依靠一系列大量的計算,最終得出首次記賬權。
證明者(prover):
礦工想要完成挑戰(zhàn)(challenge)就需要向Filecoin系統(tǒng)提供真實有效的證明。
檢驗者(verifier):
系統(tǒng)代表用戶向礦工發(fā)起挑戰(zhàn)(challenge),以此檢測礦工是否完成了數據存儲任務。
數據(data):
指用戶向礦工發(fā)起存儲需求的數據或者已被礦工存儲的數據。
證明(proof):
礦工完成挑戰(zhàn)(challenge)時的回答。
流程:
檢驗者(verifier)向礦工(prover)發(fā)起挑戰(zhàn)(challenge),礦工提交證明(proof),再由系統(tǒng)檢驗礦工的答復來判斷是否通過本次挑戰(zhàn)(challenge)。
Filecoin存儲的證明機制
存儲證明 Proof-of-Storage,PoS:
Filecoin利用存儲空間進行證明作為它的工作量證明機制,最初時將其命名為存儲證明 Proof-of-Storage,目前已升級為PoRep。證明礦工在對應的時間內存儲了特定的數據,不嚴格來說硬盤的儲存量即代表其算力,相比POW機制耗費的巨大能源,其消耗不值一提。
復制證明 Proof-of-Replication,PoRep:
PoRep 是PoS的進階版,可以證明礦工已將 數據(data)存儲,并保證每份數據存儲的獨立性,同時防止女巫攻擊,外源攻擊和生成攻擊。
數據持有性證明 Provable-Data-Possession,PDP:
礦工完成了用戶存儲數據的訂單后,為了證明數據已經被自己存儲,用戶可以多次驗證礦工是否將其數據保持存儲的狀態(tài)
可檢索證明 Proof-of-Retrievability,PoRet:
與PDP類似,證明礦工存儲的數據是可以用來查詢的。
空間證明 Proof-of-Space,PoSpace:
Filecoin提出的關于存儲量證明的概念,PoSpace是PoW的一種,不同的是PoW使用的是計算資源,而PoSpace使用的是存儲資源。
時空證明 Proof-of-Spacetime,PoSt:
時空證明,礦工證明自己花費了Spacetime資源, 即:一定時間內的存儲空間的使用,PoSt是基于復制證明(Proof-of-Replication,PoRep)實現的。
Protocol Labs團隊為什么要將系統(tǒng)搞得這么復雜?
區(qū)塊鏈里面任何精巧的系統(tǒng)都需要精心設計(比如BTC),讓系統(tǒng)能夠依靠自身機制一直運行下去,目的不外乎下面兩個:
● 保證礦工能夠老老實實的幫助用戶存儲數據
● 公平的分配代幣
《 PoRep & PoSt 》有啥作用?
復制證明:Proofs-of-Replication
PoRep必須能夠防范以下三種常見的攻擊方式:女巫攻擊、外源攻擊、生成攻擊。
他們的共同特點是攻擊礦工實際存儲的數據大小要比聲稱存儲的數據小,這樣攻擊礦工就能獲得本不該他獲得的報酬。
● 女巫攻擊(Sybil Attack):
利用n個身份,承諾存儲n份數據D,而實際上存儲小于n份(比如1份),但是卻提供了n份存儲證明,攻擊成功。
● 外部數據源攻擊(Outsourcing Attack):
當攻擊者礦工收到檢驗者要求提供數據D的證明的時候,攻擊者礦工從別的礦工那里生成證明,證明自己一直存儲了數據D,而實際上沒有存儲,攻擊成功。
● 生成攻擊(Generation Attack):
攻擊者A可以使用某種方式生成數據D,當檢驗者驗證的時候,攻擊者A就可以重新生成數據D來完成存儲證明,攻擊成功。
時空證明:Proofs-of-Spacetime
時空證明提出了證明鏈(proof-chain)的數據結構,證明鏈把一些挑戰(zhàn)(challenge)和證明(proof)鏈接起來,在證明鏈的基礎上添加上時間段,這樣就得到了一段時間內的礦工存儲數據的證明,這就是時空證明(Proof-of-Spacetime,PoSt)。
PoSt可以證明在該段時間內礦工存儲了特定的數據,并且利用時間戳錨定這些證明鏈,這樣即使檢驗者(verifier)不在線,也能夠在將來去驗證礦工在該段時間內是否生成了證明鏈,PoSt會被提交到鏈上用來產生新的區(qū)塊(Block)。
結語
通過用戶存儲數據以及礦工完成存儲以及一系列驗證的過程來看,Filecoin已經成熟到一定的程度了,但不可否認還有許多諸如零知識證明等還能繼續(xù)優(yōu)化的地方。
相信了解Filecoin的工作證明機制之后,大家都發(fā)現了它的魅力所在:以一套精密運作的系統(tǒng),通過向存儲資源貢獻者發(fā)放FIL的形式,或者向檢索服務提供者發(fā)放FIL的形式,激勵大家參與貢獻自己的存儲資源與帶寬資源。
這就在全球范圍內,極大地增加了網絡的節(jié)點數量,讓整個分布式存儲網絡變成了一個巨大的存儲空間。在整套機制的配合下,IPFS在跟HTTP的競爭中擁有了更強的發(fā)展優(yōu)勢,看到這你也就明白了Filecoin為何受到如此多的資本以及組織的青睞。
評論
查看更多