星際檔案系統(IPFS)是一種可以改變我們使用網際網路方式的革命性模型,與典型的典型伺服器 - 客戶端模型不同,IPFS更像是互相轉發Git目標的單個Bittorrent使用者群。
如今網路存在的問題
超文字傳輸協議(HTTP)是全球資訊網的中堅力量,我們使用HTTP訪問大部分網站,它本質是一種伺服器-客戶端模型,我們的計算機將請求傳送到託管網站的伺服器,然後伺服器對此作出響應。
HTTP協議適用於較窄的服務子集,大型的伺服器裡集中儲存了大部分的web站點。但這種集中式環境是很危險的,如果大型託管公司或者服務提供商(如谷歌、微軟、亞馬遜、阿里雲等)出現問題,那麼對整個網際網路的打擊是毀滅性的。
依賴主機
如果託管站點的伺服器出現故障,那麼網站內容將無法訪問,直到伺服器恢復為止。另外,你遭受了審查的威脅,提供伺服器的主機商可以決定在他們的伺服器上託管什麼,如果需要,他們可以隨時清空伺服器上的內容。
依賴網站管理員
網站管理員的許可權極大,如果你曾經遇到過“刪庫跑路”的狂熱分子,那麼就會明白這一點。
許多網路專案通常是由像你我這樣的人控制及維護的,許多靜態的東西(如文件、圖片)將儲存在多個位置。一些自由開發者甚至管理著他們的一些小客戶的網站。這些網站管理員可根據情況刪除網站內容,讓您的資料永遠丟失。
依賴使用者
如果不是成規模的處理資料,將這些資料從中央資料中心分發仍然是非常昂貴的。任何一個Web應用程式都面臨使用者問題,內容通常必須擁有足夠數量的使用者或訪問者才能獲得託管,低流量應用程式或靜態站點一般會被關閉,因為它們執行起來不足以支撐相關成本。這個問題其實非常現實,網際網路的使用者正在趨於集中化,Facebook是一個單一的社交網路——在地球上每五個人中就有一個是它的活躍使用者,有無數企業完全依賴Facebook而存在,如果明天它關閉了怎麼辦?
因此,您可能會問,IPFS是如何解決這些問題呢?
IPFS是使用分散式檔案系統解決其中一些問題相對較新的嘗試,IPFS專案目前還處於初級階段,想要顛覆如今的HTTP協議還有很長的路要走。
IPFS節點
如果沒有典型的伺服器為每個客戶提供網頁,則必須設想不同的基礎架構。IPFS是分散的,IPFS網路上執行的每臺機器都將是一個節點。從技術角度看,IPFS是一個工具集合,幫助建立一個分散的、點對點的分散式系統——它幫助您在沒有中央伺服器的情況下查詢或傳輸資料。IPFS資料儲存和查詢依靠的是點對點,分散式的計算機。
IPFS在BitTorrent的基礎上實現了p2p資料交換協議:BitSwap協議 。當兩個節點建立連線後,他們會根據hava_list和want_list互通有無。跟BitTorrent不一樣的是:BitSwap獲取資料塊的時候不限於從同一個torrent裡面。也就是說BitSwap可以從不屬於本檔案的其他檔案獲取資料塊(只要資料塊的雜湊值一樣,資料內容必然是一樣的),從全域性考慮,這使得BitSwap的效率相比於BitTorrent更高。
那麼IPFS節點如何工作?執行IPFS的每臺計算機都可以選擇他們希望節點服務的檔案。
雜湊和IPNS
IPFS上存在的每個檔案都有一個唯一的雜湊來表示它,任何微小的更改都會導致生成新的雜湊。IPFS透過雜湊來檢視內容,客戶端向系統查詢雜湊,具有該可用內容的任何節點都可以將內容提供給對等體。該系統將允許網路就近快速準確地向客戶提供內容。另外,因為使用了雜湊,所以可以檢查交換的兩端是否有正確的內容,因為不合適的單個位將導致不同的雜湊。
使用 IPFS 來儲存檔案的話,後給您生成一個雜湊值,如果您改動了這個檔案呢?這個檔案的雜湊值就會變,也就意味著您原有的雜湊值就無法訪問這個屬於你自己的檔案了。所以我們就需要一種來標記更新網址雜湊的方法,沒錯,這個方法就是 IPNS。
IPNS 是一個分散式的命名系統,將難於記憶的資料雜湊值對映為易於記憶的字串。這可以類比於域名與IP地址的對映關係。
IPFS的優勢
可靠性和永續性
如果需要的的話,IPFS網路上提供的內容將基本上永遠存在,沒有任何單一的弱連結,伺服器或失敗點。對於較大的檔案,將多個對等體作為IPFS可供選擇以獲取檔案的選項有這樣一個好處——如果託管檔案的一個節點發生故障,則會有其他節點提供該內容。
抵禦DDoS風格的攻擊
僅憑其性質,分散式對等內容不會受到“直接拒絕服務”式攻擊的影響。DDoS主要是轟炸主機伺服器以降低網站或服務。IPFS從多個對等方向您提供相同的內容,有效的DDoS攻擊必須找到並定位所有這些內容,這個是無法做到的。
瀏覽過的內容可離線
隨著IPFS的快取系統到位,在預設情況下,很多定期檢視的內容完全可以離線使用。
IPFS的未來
IPFS為我們構建了一個無比迷人的原型,代表了未來幾年Web的發展趨勢。如今,測試、貢獻與改進該技術的人越來越多,它極有可能改變整個網際網路提供內容的方式!一起關注它吧!