作者:CBB萌大熊 / 來源:投稿
本文作者 | CBB萌大熊 (知乎:https://www.zhihu.com/people/cbbmeng-da-xiong/activities)
星際文件系統(Inter Planetary File System,及IPFS)是一種點到點的分布式文件系統,由Juan Benet 在2014年5月份發起。IPFS鏈接的計算設備都有用相同的文件管理模式。從某種意義上來說,這個概念和Web最初理念很類似,但實際上是IPFS更像是互相轉發Git目標的單個BitTorrent用戶群。IPFS具備成為互聯網子系統的可能,通過合理配置可以完善甚至替代超級文本傳輸協議(Hyper Text Transport Protocol,即HTTP)。通過存儲多個數據副本,IPFS協議被認為可以用于創建一種更加永久的網絡,使數據難以被刪除。
① IPFS基礎入門
在中心化模式里,服務高度依賴中心網絡。大公司或者創業公司無法承受宕機,需要消耗特別高的成本,通常需要雇傭一批運維專家或者專業人事,去保障系統的穩定性。在分布式模式里,存儲數據又由丟失的風險,電纜,人害都是隱患。而網絡空間的治理模式而言,需要一個新的互聯網傳輸協議,一個旨在創建持久且去中心化的分布式存儲和共享文件的網絡傳輸協議。
IPFS本質上是一種內容可尋址/版本化/點對點超媒體的分布式存儲/傳輸協議,可以構建更快/更安全/更自由的互聯網時代,目標是補充甚至取代過去20年里使用的HTTP。IPFS的開發目前處于ALpha試驗階段,還沒能替代現存的網站存儲系統。、
IPFS用基于內容的尋址替代傳統的基于域名尋址,用戶不需要關心服務器的位置,不用考慮文件存儲的名字和路徑。用戶上傳一個文件到IPFS節點中,將會得到基于其內容計算出的唯一密碼哈希值。哈希值直接反應文件的內容,哪怕只修改1比特,哈希值也會完全不同。當IPFS被請求一個文件哈希時,他會使用一個分布式哈希表找到文件的所在節點,取回文件并驗證文件數據。IPFS從根本上改變了查找的方式,這是它最重要的的特征。在HTTP協議中,用戶查找的時位置,而在IPFS協議中用戶查找的似乎內容。
IPFS是通用目的的基礎架構,基本上沒有存儲上的限制。大文件會被切分成小塊,下載的時候可以從多個服務器中同時獲取。IPFS的網絡是不固定的,細粒度的,分布式的網絡,可以很好的適應內容分發網絡的要求。這樣的設計可以很好的共享各類數據,包括圖像,視頻,數據庫,甚至整個操作系統。
② IPFS解決方案
舉例說明,明白IPFS和HTTP不用之處后,我們在后面的了解過程中,會輕松很多。那IPFS和HTTP的核心區別就是IPFS查找的是文件的內容,而HTTP查找是文件的位置。我們把原理簡單闡述一下。
遵照HTTP協議,瀏覽器首先會查找服務器的位置(ip地址),隨后向服務器索要文件路徑。這種體系,文件的位置取決于服務器的管理者,而用戶只能希望于文件沒有被移動或者刪除,并且服務器沒有關閉。比如我們在使用百度云盤的時候,經常會出現的提示“文件已刪除或移動”。
IPFS的做法,則是不關心中心服務器的位置,也不考慮文件的名字和路徑,只關注文件中可能出現的內容。把文件放置到IPFS節點,會得到一個新的文件名(一個哈希值),這個文件名類似于我們使用的錢包公鑰(地址),并且標識了文件的內容。當IPFS被請求一個文件哈希時,他會使用一個分布式哈希表找到文件所在的節點,取回文件并驗證文件數據(整個過程相當于用私鑰取出指定地址錢包的貨幣余額)。
另外IPFS文件還可以抽象成特殊的IPFS目錄,從而標注的一個可讀的文件名。從而標注一個可讀文件名(可以映射到IPFS哈希),在訪問時,會想HTTP一樣獲取一個目錄索引。把網站在IPFS上建立只需要一條指令:
Ipfs add -r 網址
網頁建的鏈接不再需要人去維護,IPFS自帶的查找可以 解決。
③ IPFS的技術架構
IPFS與老技術相比優勢在于:第一能提高系統效率。第二能降低系統運維成本。IPFS技術架構大概分為8層。從頂部的身份層,網絡層,路由層,交換層,對象層,文件層,命名層,應用層。每層功能獨立且搭配。對技術架構原理我們暫時不做細致討論,這會引起大腦不適。
④ IPFS與區塊鏈
嚴格來說,IPFS協議是使用了一部分區塊鏈中技術所衍生出來的新技術協議,可以說是獨立出區塊鏈的新型技術。同時他繼承了區塊鏈中分布式賬本,去中心化的屬性,以及增加了無限可能的儲存空間。但是這是在無鏈IPFS功能性上的優勢,如果要保證鏈改IPFS項目的高能力運行,那么主鏈之間的信息傳輸將會是核心問題。因為這涉及到工作量證明驗證,即所謂的挖礦。
比如LibP2P,是IPFS協議中的網絡層,相當于快遞公司的角色,主要功能是發現節點,鏈接節點,發現數據,傳輸數據。利用LibP2P的特點,使IPFS協議被任何區塊鏈項目接入,因為還可以作為一個P2P工程的底層協議存在。
比如IPLD,他是一個轉換器,可以把現有的異構的數據結構統一成一種格式,方便不同系統之間的數據交換和互相操作。因此,IPLD其實使一個轉換的中間件,他支持比特幣,以太坊等區塊數據結構。這也是IPFS能與區塊鏈系統融合的原因。比如跨鏈應用。
⑤關于Filecoin
Filecoin的項目起源使為了鼓勵人們參與到IPFS協議的活動中,以借鑒BTC的經濟模型而開發出基礎IPFS協議的基礎貨幣FIL。通過兩種方式參與者可以獲得貨幣。
1,Host為網絡提供空閑的存儲空間。
Retriver為網絡中的節點提供寬帶,幫其他用戶傳輸文件。
簡單說,Filecoin的意思是,要借助HTTP協議的存儲空間和寬帶,解決掉HTTP,參與的人們將給與FIL獎勵。
PS:Filecoin的主網推遲已經多次,2019年11月啟動的是測試網不是主網,主網啟動新啟動時間又又又又推遲到2020年第一季度。
現在,所交易的FIL是期貨。主要在GATE和LBANK上。