IPFS是Interplanetary File System的縮寫,直譯過來就是“星際文件系統”,是一個點對點的超媒體協議(“A peer-to-peer hypermedia protocol")。
我們可以看出,IPFS的本質是一份“協議”,通過“點對點”的方式進行網絡的組織,在這樣一個去中心化的存儲網絡中,每個節點都可以提供存儲空間,供網絡中的其他節點進行存儲。同時也提供傳輸,依據規則向網絡中需要讀取該文件的節點發送本地存儲的文件。它是一個面向全球的、點對點的分布式文件系統,試圖將所有相同文件系統的計算設備連接在一起。
IPFS宣布了一個未來Web發展計劃,它用基于內容的地址替代基于域名的地址。也就是說用戶尋找的不是某個地址而是存儲在某個地方的內容,不需要驗證發送者的身份,而只需要驗證內容的哈希,通過這樣可以讓網頁的速度更快、更安全、更健康、更持久。IPFS的成功應用將會取代HTTP,成為下一點互聯網傳輸的基石。
總結:IPFS是一個面向全球的、點對點的分布式版本文件系統,目標是補充甚至取代目前統治互聯網的超文本傳輸協議(HTTP),將所有具有相同文件系統的計算設備連接在一起,希望構建速度更快、更安全、更自由的互聯網時代。
二、HTTP存在的問題
高度集中化
Web的本意是去中心化,但卻變得越來越中心化,今天我們使用的網絡服務絕大部分是少數幾個網站的服務,如Google、Amazon、騰訊、阿里等。我們每一次訪問網絡服務都需要連接到中央服務器,中央服務器再將這些數據返回給我們。數據的傳輸速度取決于網絡帶寬,如果很多人同時訪問中央服務器,會導致延遲甚至無法訪問。假如某天這些公司的服務器遭受大量的網絡攻擊,或是自然災害導致的服務器癱瘓,我們全球的網民就無法使用他們提供的服務了??梢奌TTP變成了一個高度集中的、脆弱的、過度依賴于骨干網絡的協議。
將Web進行去中心化,可以大大降低少數組織的延展性,提高所有節點的獨立性和自由度,同時也降低了由于服務器中斷造成的數據丟失的風險。
維護成本高
中心化的服務器,因為要保障數據服務的穩定性和安全性,所以維護成本非常高。在中心化服務運維中,有一個KPI指數叫SLA,穩定性沒有達到99.9%的話,基本不合格。SLA需要消耗特別大的成本,大公司需要雇傭一批運維專家或專業人士,去保障系統的穩定性。
不然12306也不會宣傳花費了1個億去建一個購票網站了,即使這樣,在高峰時刻也還是不得不拔網線。
過度依賴于Internet主干網
當內容過度集中化之后,數據中心就會高度依賴于Internet主干網絡。這樣除了有利于政府對內容進行封鎖和審查,事實上會存在很多問題。因為主干網絡有可能會被損壞,出現路由表失控、或者遭受攻擊等問題。
三、IPFS的應用優勢
IPFS架構
IPFS有八層協議棧,從上至下分為:身份、網絡、路由、交換、對象、文件、命名、應用,每個協議棧各司其職,又相互搭配。
技術上不太懂,總的來說,IPFS具有兩大核心優勢:
1、大大提高系統效率;
2、大大降低系統成本。
基于內容尋址
目前通過HTTP瀏覽器搜索文件的時候,首先要找到服務器的位置(IP地址),然后使用路徑名稱在服務器上查找文件。IPFS從根本上改變了用戶搜索的方式,通過IPFS,用戶搜索的是內容。只有文件所有者可以判斷這是否是用戶要找的文件,此時,必須保證托管者不會通過移除文件或者關閉服務器對文件做任何更改。
當文件被添加到IPFS節點上,它得到了一個新的名字,這個名字就是一個加密哈希,它是由文件內容被計算出來的。通過加密哈希保證了該哈希只表示該文件的內容,哪怕對文件只做一點點修改,哈希值就會完全不同。當下一步向IPFS網絡詢問哈希的時候,它通過一個分布式哈希表,可以快速找到擁有該數據的節點,從而檢索該數據,并使用哈希驗證是否是正確的數據。
IPFS服務的文件可大可小,對于一些大的文件,它會自動將其切割為一些小塊,使IPFS節點不僅僅可以像HTTP一樣從一臺服務器上下載文件,而且可以從數百臺服務器上進行同步下載。IPFS網絡是一個細粒度的、可靠的、分布式的內容分發網絡(CDN)。
小結:IPFS應用基于內容的地址替代基于域名的地址,也就是用戶尋找的不是某個地址而是存儲在某個地方的內容,不需要驗證發送者的身份,而只需要驗證內容的哈希,通過這樣可以讓網頁的速度更快、更安全、更健壯、更持久。
四、IPFS的應用意義
一、為內容創作帶來自由
Akasha是一個典型的應用,它是基于以太坊和IPFS的社交博客創作平臺,用戶創作的博客內容通過IPFS網絡進行發布,而非中心服務器。同時,用戶和以太坊賬戶進行綁定,用戶可以對優質內容進行ETH打賞,內容創作者能以此賺取ETH。沒有太多監管的限制,也沒有中間商抽成,內容收益直接歸創業者所有。
二、降低存儲和寬帶成本
用戶上傳的文件如視頻文件,經過IPFS協議進行存儲,具有唯一標識。相較于傳統視頻網站,它降低了同樣資源的冗余程度,同時大大節約了海量用戶在播放視頻時所產生的帶寬成本。
三、與區塊鏈完美結合
區塊鏈的本質是分布式賬本,瓶頸之一就是賬本的存儲能力。目前大部分公鏈的最大問題是沒法存儲大量的超媒體數據在自己的鏈上,需要IPFS這樣的技術提供底層的數據存儲服務。
典型的應用就是EOS,其引以為傲的是可以支持百萬級的TPS并發量,其中除了DPOS共識機制的功勞外,還歸功于底層存儲采取IPFS技術來解決大型數據的傳輸效率。
四、為傳統應用提供分布式緩存方案。
IPFS將中心服務提供的數據通過算法轉化成一維字符串,并將與之相關聯的具有檢索價值的數據存入IPFS網絡,并由IPFS網絡標識唯一性,然后分布在各個鄰近節點上。
當檢索請求到來時,系統先通過字符串近似度范圍比較,縮小檢索范圍,加快檢索效率。通過臨近節點拿到超媒體數據,達到類似分布式緩存的效果,大大提高了傳統應用的檢索效率。