1. 程式人生 > >【董天一】IPFS vs Filecoin: 開發者該如何選擇

【董天一】IPFS vs Filecoin: 開發者該如何選擇

項目 lib 增加 技術分享 代碼 選擇 存儲節點 雲存儲 特性

作者簡介:董天一 ,IPFS/Filecoin中國區技術布道人 ,《IPFS指南》作者
畢業於北京大學軟件與微電子學院,資深區塊鏈技術開發者,現致力於IPFS/Filecoin在中國的技術推廣,本文原載微信公眾號:IPFS指南(ipfs_guide)

小編最近經常接到一些開發者的咨詢,我想用IPFS來做開發,該怎麽提供解決方案(特別是對於區塊鏈項目)那麽今天我們就來說一下開發者面對IPFS和Filecoin的時候該如何選擇

小編一般都會問一些開發者:有數據分發需求麽?有數據存儲需求麽?

小編很久以前就已經寫過IPFS和Filecoin之間的聯系和區別:大家可以參考這篇文章---IPFS和Filecoin之間的愛情故事

####IPFS:數據的分發和定位(數據傳輸協議,類似HTTP協議)

  • 傳輸:數據在節點之間進行傳輸 定位:
  • 尋址,發現數據的存儲位置
  • 存儲:自己提供存儲(可以保證存儲的安全性),其它節點不保證 數據存儲的安全性
  • 用戶:下載數據免費,自己提供服務器,自己搭建節點 存儲內容:只存儲節點自己感興趣的內容

####Filecoin: 數據存儲(類似一個雲存儲)

  • 存儲:付費存儲,用戶付費,礦工和Filecoin網絡保證存儲的安全性
  • 下載:付費下載,用戶付費,礦工負責發送數據
  • 用戶:不需要自己提供存儲,也不需要自己提供節點
  • 存儲內容:收費存儲一切 中,所有的樣式保持一致。

技術分享圖片

從上圖上我們可以看到,libp2p以前是IPFS的一個重要組件,從7月份開始,libp2p已經被調整為和IPFS和Filecoin同一級別的項目。

IPFS和Filecoin共同依賴libp2p項目。

<span style="color: #AE87FA; ">Filecoin是IPFS的激勵層,二者互補形式一對協議。為我們的互聯網提供了很好的基礎設施。</span>

了解上述的基本內容後:

  • 如果開發者僅僅想要的是一個安全、快速的雲存儲,那麽選擇Filecoin即可。
  • 如果開發者除了數據存儲需求,還需要分發數據,那麽選擇IPFS即可。
  • 如果開發者既有數據存儲需求,又有數據的分發需求,那麽可以單獨選擇IPFS,也可以IPFS+Filecoin一起。

註意:IPFS可以做Filecoin的事情,存儲,而filecoin並不能做IPFS的事情,數據傳輸

###借助於Filecoin,一種可能的區塊鏈數據存儲方案:

當前的所有區塊鏈數據存儲幾乎都是礦工的本地存儲。那麽區塊鏈的數據隨著時間的增加不斷的增長。存儲的成本也會越來越高。對於區塊鏈一般可能會有兩種數據:區塊鏈數據和其它數據,其他數據可能是智能合約的代碼,也可能是Dapp的所需的文件。

那麽有了Filecoin以後,礦工可以將區塊鏈數據存儲到Filecoin裏面,而在本地僅僅保留數據的哈希值,這樣本地存儲壓力就會大大降低,由於使用Filecoin存儲,存儲的成本也會下降很多。

那麽有朋友會問一個問題:存到filecoin裏面的數據還是我的數據麽?如果被修改了怎麽辦?

註意:Filecoin是一個雲存儲,由區塊鏈和哈希值保證數據不會被篡改。礦工可以把Filecoin看做是一個數據庫即可。至於真正的數據存在什麽地方,不用關心。如果做得更進一步,在區塊鏈裏面存儲共識的哈希值即可。

那麽問題來了:礦工把區塊數據存儲到亞馬遜的s3,或者是阿裏雲OSS,跟Filecoin有什麽不同?

單獨從存儲角度來講:沒有不同,都是存儲而已
但是Filecoin提供了區塊鏈所特有的特性,是其它雲存儲多不具備的,例如:數據不能被篡改,智能合約,加密等,總之你的數據你做主。從這個角度來講,礦工把數據存儲到Filecoin是更好的選擇。

由於軟件架構的設計並沒有一個統一的標準,還需要case by case的分析,來制定更好的方案,小編本文簡單的介紹了一下開發者從什麽角度去區分IPFS和Filecion使用,歡迎大家交流,提出更多的方案和建議。

【董天一】IPFS vs Filecoin: 開發者該如何選擇