我最近經(jīng)常接到一些開發(fā)者的咨詢,我想用IPFS來做開發(fā),該怎么提供解決方案(特別是對(duì)于區(qū)塊鏈項(xiàng)目)。那么今天我們就來說一下開發(fā)者面對(duì)IPFS和Filecoin的時(shí)候該如何選擇。
我一般都會(huì)問一些開發(fā)者: 有數(shù)據(jù)分發(fā)需求么?有數(shù)據(jù)存儲(chǔ)需求么?
我很久以前就已經(jīng)寫過IPFS和Filecoin之間的聯(lián)系和區(qū)別:大家可以參考這篇文章---IPFS和Filecoin之間的愛情故事
IPFS:數(shù)據(jù)的分發(fā)和定位(數(shù)據(jù)傳輸協(xié)議,類似HTTP協(xié)議)
傳輸:數(shù)據(jù)在節(jié)點(diǎn)之間進(jìn)行傳輸
定位:尋址,發(fā)現(xiàn)數(shù)據(jù)的存儲(chǔ)位置
存儲(chǔ):自己提供存儲(chǔ)(可以保證存儲(chǔ)的安全性),其它節(jié)點(diǎn)不保證數(shù)據(jù)存儲(chǔ)的安全性
用戶:下載數(shù)據(jù)免費(fèi),自己提供服務(wù)器,自己搭建節(jié)點(diǎn)
存儲(chǔ)內(nèi)容:只存儲(chǔ)節(jié)點(diǎn)自己感興趣的內(nèi)容
Filecoin:?數(shù)據(jù)存儲(chǔ)(類似一個(gè)云存儲(chǔ))
存儲(chǔ):付費(fèi)存儲(chǔ),用戶付費(fèi),礦工和Filecoin網(wǎng)絡(luò)保證存儲(chǔ)的安全性
下載:付費(fèi)下載,用戶付費(fèi),礦工負(fù)責(zé)發(fā)送數(shù)據(jù)
用戶:不需要自己提供存儲(chǔ),也不需要自己提供節(jié)點(diǎn)
存儲(chǔ)內(nèi)容:收費(fèi)存儲(chǔ)一切
從上圖上我們可以看到,libp2p以前是IPFS的一個(gè)重要組件,從7月份開始,libp2p已經(jīng)被調(diào)整為和IPFS和Filecoin同一級(jí)別的項(xiàng)目。
IPFS和Filecoin共同依賴libp2p項(xiàng)目。
Filecoin是IPFS的激勵(lì)層,二者互補(bǔ)形式一對(duì)協(xié)議。為我們的互聯(lián)網(wǎng)提供了很好的基礎(chǔ)設(shè)施。
了解上述的基本內(nèi)容后:
如果開發(fā)者僅僅想要的是一個(gè)安全、快速的云存儲(chǔ),那么選擇Filecoin即可。
如果開發(fā)者除了數(shù)據(jù)存儲(chǔ)需求,還需要分發(fā)數(shù)據(jù),那么選擇IPFS即可。
如果開發(fā)者既有數(shù)據(jù)存儲(chǔ)需求,又有數(shù)據(jù)的分發(fā)需求,那么可以單獨(dú)選擇IPFS,也可以IPFS+Filecoin一起。
注意:IPFS可以做Filecoin的事情,存儲(chǔ),而filecoin并不能做IPFS的事情,數(shù)據(jù)傳輸
借助于Filecoin,一種可能的區(qū)塊鏈數(shù)據(jù)存儲(chǔ)方案:
當(dāng)前的所有區(qū)塊鏈數(shù)據(jù)存儲(chǔ)幾乎都是礦工的本地存儲(chǔ)。那么區(qū)塊鏈的數(shù)據(jù)隨著時(shí)間的增加不斷的增長。存儲(chǔ)的成本也會(huì)越來越高。對(duì)于區(qū)塊鏈一般可能會(huì)有兩種數(shù)據(jù):區(qū)塊鏈數(shù)據(jù)和其它數(shù)據(jù),其他數(shù)據(jù)可能是智能合約的代碼,也可能是Dapp的所需的文件。
那么有了Filecoin以后,礦工可以將區(qū)塊鏈數(shù)據(jù)存儲(chǔ)到Filecoin里面,而在本地僅僅保留數(shù)據(jù)的哈希值,這樣本地存儲(chǔ)壓力就會(huì)大大降低,由于使用Filecoin存儲(chǔ),存儲(chǔ)的成本也會(huì)下降很多。
那么有朋友會(huì)問一個(gè)問題:存到filecoin里面的數(shù)據(jù)還是我的數(shù)據(jù)么?如果被修改了怎么辦?
注意:Filecoin是一個(gè)云存儲(chǔ),由區(qū)塊鏈和哈希值保證數(shù)據(jù)不會(huì)被篡改。礦工可以把Filecoin看做是一個(gè)數(shù)據(jù)庫即可。至于真正的數(shù)據(jù)存在什么地方,不用關(guān)心。如果做得更進(jìn)一步,在區(qū)塊鏈里面存儲(chǔ)共識(shí)的哈希值即可。
那么問題來了:礦工把區(qū)塊數(shù)據(jù)存儲(chǔ)到亞馬遜的s3,或者是阿里云OSS,跟Filecoin有什么不同?
單獨(dú)從存儲(chǔ)角度來講:沒有不同,都是存儲(chǔ)而已
但是Filecoin提供了區(qū)塊鏈所特有的特性,是其它云存儲(chǔ)多不具備的,例如:數(shù)據(jù)不能被篡改,智能合約,加密等,總之你的數(shù)據(jù)你做主。從這個(gè)角度來講,礦工把數(shù)據(jù)存儲(chǔ)到Filecoin是更好的選擇。
由于軟件架構(gòu)的設(shè)計(jì)并沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn),還需要case by case的分析,來制定更好的方案,我本文簡單的介紹了一下開發(fā)者從什么角度去區(qū)分IPFS和Filecion使用,歡迎大家交流,提出更多的方案和建議。