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