什麼是IPFS?星際文件系統:完整的初學者指南

IPFS代表星際文件系統,它是一種開源的,對等分佈式超媒體協議,旨在充當所有計算設備的普遍存在的文件系統。


眾所周知,這是一個複雜而雄心勃勃的項目,對互聯網的未來發展和結構產生了嚴重而深刻的影響。


為什麼選擇IPFS及其啟動方式


Internet的當前迭代並沒有理想化和最初認為的分散化。它也基於某些過時的協議,這些協議導致了許多問題。IPFS解決的問題圍繞著與Internet當前HTTP協議相關的問題。


如果您不熟悉HTTP相對於Internet的功能,則它基本上是整個Internet上數據通信的基礎。HTTP於1991年發明,1996年被Web瀏覽器採用,它從根本上確定瞭如何在Internet上傳輸消息以及瀏覽器應如何響應命令和服務器處理請求。


基本上,這是我們瀏覽網絡的基本協議以及客戶端-服務器範例的協議主幹。


什麼是IPFS?星際文件系統:完整的初學者指南

HTTP vs IPFS,來自MaxCDN的圖像

雖然HTTP已為我們提供了當今眾所周知的Internet,但它已經過時了,並且在20多年後,普遍存在的問題變得越來越明顯。


當今HTTP實施所產生的主要問題是Internet流量的大量增加以及由此導致的壓力點被放大的結果。


在HTTP的當前實現中,出現了以下問題。


  • 一次從單個服務器下載文件會導致內容交付效率低下。
  • 昂貴的帶寬成本和文件複製導致存儲空間過大。
  • 服務器和提供商的集中化程度不斷提高,從而導致Internet審查制度的增強。
  • Internet上存儲的信息的脆弱歷史記錄以及網頁壽命短。
  • 斷斷續續的連接導致離線開發環境和較慢的連接速度。


問題的清單還在繼續,毫不奇怪的是,在技術創新時代,已有20多年曆史的技術變得越來越過時。IPFS提供了Internet實現其真正潛力所需要的分佈式存儲和文件系統。


什麼是IPFS?星際文件系統:完整的初學者指南


不是從IPFS中,從單個服務器下載文件。是要求網絡中的對等方為您提供文件的路徑,而不是從中央服務器來。這可以實現高效率的大量數據分發,具有歷史意義的版本控制,彈性網絡以及通過加密散列保護和驗證並在對等網絡之間分佈的內容的持久可用性。


所有這些聽起來很有希望,但是它如何運作?


IPFS如何工作?


基本上,IPFS與我們今天所知的萬維網類似,但是更像是單個BitTorrent群,它們在單個Git存儲庫中交換對象。


通過基於BitTorrent的協議分發文件。重要的是,IPFS是Kodemila,BitTorrent和Git的一種組合,可以創建Internet的分佈式子系統。


協議的設計提供了與Git一樣的Internet歷史版本。每個文件及其中的所有塊均具有唯一的標識符,該標識符是加密哈希。跨網絡刪除重複項,並跟蹤每個文件的版本歷史記錄。


這將導致永久可用的內容,其中網頁不會由於服務器故障或Web主機損壞而消失。


什麼是IPFS?星際文件系統:完整的初學者指南

IPFS如何工作

此外,通過此機制可以保證內容的真實性,並且在查找文件時,您實際上是在要求網絡查找在與該內容關聯的唯一標識哈希後面存儲該內容的節點。IPFS中節點之間的鏈接採用加密哈希的形式,由於其Merkle DAG數據架構,這是可能的。Merkle DAG對IPFS的好處包括:


  • 內容尋址–內容具有唯一的標識符,該標識符是文件的加密哈希。
  • 無重複-內容相同的文件不能複製,只能存儲一次。
  • 防篡改–使用校驗和來驗證數據,因此,如果哈希發生變化,則IPFS將知道數據已被篡改。


IPFS使用Merkle鏈接將文件結構彼此鏈接,並且每個文件都可以使用稱為IPNS的分散式命名系統通過人類可讀的名稱找到。Merkle有向無環圖(DAGS)的實現對於協議的基礎功能很重要,但是比本文的範圍更具技術性。


如果您想對IPFS的這一方面有更多的瞭解,可以在IPFS Github頁面上找到更詳細的信息,以及有關Merkle樹如何工作的更多信息。


每個節點僅存儲其感興趣的內容,並對信息進行索引,以使其確定誰在存儲什麼。IPFS框架從根本上消除了使用集中式服務器向用戶交付網站內容的需求。


最終,此概念可能完全將HTTP協議推到無關緊要的位置,並允許用戶離線本地訪問內容。用戶將不再需要像當前的Internet基礎結構那樣搜索服務器,而是搜索唯一的ID(加密哈希),從而使數百萬臺計算機可以將文件傳遞給您,而不僅僅是一臺服務器。


IPFS當前的主要實現是在Go中,同時也將同時使用Python和Javascript實現。它與Linux,MacOSX,Windows和FreeBSD兼容。


作為一個開放源代碼和社區驅動的項目,您可以按照其Github頁面上的說明和文檔進行操作,或者操作自己的IPFS節點。


用例及其含義


IPFS已經有一些重要的用例,隨著協議的不斷髮展,肯定會出現更多的用例。為Internet提供新的分佈式P2P體系結構具有其複雜性,但是從存儲和帶寬方面的大量財務節省到與分佈式區塊鏈網絡的集成,一切都可以看到好處。IPFS的分佈式存儲模型具有明顯的優勢,適用於效率更高的數據存儲以及不可變的永久性。


由於服務器關閉或HTTP鏈接鏈中斷,網站不再受週期性404錯誤消息的困擾。此外,就效率而言,對於研究人員而言,尤其是那些需要解析和分析非常大的數據集的人員,具有明顯的優勢。


隨著大數據在現代科學中的盛行,IPFS提供的快速性能和分佈式數據歸檔將與加速進步相關。


服務提供商和內容創建者還可以大幅降低與向客戶交付大量數據相關的成本。這種範例的當前迭代受到帶寬成本增加和數據提供商收取對等協議費用的阻礙。


通過互連網絡的集中式基礎結構交付內容的相關成本僅在增加,並創造了嚴重的低效率和進一步集中化的環境,以試圖克服這些負擔。


什麼是IPFS?星際文件系統:完整的初學者指南

IPFS使用,來自區塊鏈思想的圖像

此外,服務器的集中化會導致政府窺探,增加DDoS攻擊的流行程度,ISP審查制度以及數據的私人銷售。


正如IPFS的創建者Juan Benet所說:“ IPFS上的內容可以在任何不受信任的中間人中移動,而不會放棄對數據的控制或使其面臨風險。


最後,IPFS與區塊鏈技術的集成似乎是一個完美的選擇。在區塊鏈交易中使用IPFS,您可以放置不可變的永久鏈接。時間戳可保護您的數據,而無需實際將其存儲在鏈上,從而減少了區塊鏈膨脹,併為安全的鏈下解決方案提供了一種方便的方法來幫助區塊鏈擴展。


IPFS已包含在許多加密貨幣平臺中,並有潛力通過提供對等和分佈式文件系統架構作為共存的基礎,以幫助支持加密貨幣平臺的增長,從而共生地幫助行業擴展。


結論


如您所見,IPFS是技術上和概念上都很複雜的協議,具有雄心勃勃的野心,希望徹底改變Internet上的數據交換。


HTTP本身就取得了成功,並幫助Internet達到了今天的宏偉階段,但是新技術不斷湧現,並且對改革和分佈式基礎架構的需求已變得顯而易見。


分享到:


相關文章: