簡介:什么是 IPFS?
星際文件系統 – IPFS 是一個點對點分布式系統,用于存儲和訪問文件、網站、應用程式和數據。IPFS 旨在為分布式 Web——DWeb 提供動力,
作為一種點對點協議,IPFS通過文件(網站、應用程式或數據)內容,要求網路上許多連接的計算機共享用戶請求的資訊。在生態系統中,使用文件的內容來滿足用戶的請求被稱為內容尋址,接下來我們將在本文中進行討論,
但在我們討論 IPFS 和內容尋址之前,也許我們首先要了解中心化網路的局限性和挑戰,以及 IPFS 如何處于為去中心化網路提供動力和解決中心化網路挑戰的最前沿陣地。
值得注意的是,通過使用 IPFS 從另一個系統下載文件,您的計算機也成為分發者。這是使用 IPFS 作為協議的優勢之一,您的系統成為去中心化網路的一部分,有助于傳播和分發資訊。
中心化網路的挑戰和局限性
正如我們所知,今天的網路是高度集中的,
“權力”掌握在少數強大的公司手中。這意味著我們在網路上所做的大多數事情,例如發帖或在網上分享一些東西,都歸其他人所有——那些強大的公司。
在很大程度上,中心化網路是由數據經濟驅動的,通過利用用戶創建的內容并將其用于這些用戶。
中心化的網路能夠對資訊進行絕對控制,我們如何通過利用我們現在感知事物的方式來看待資訊和利用資訊。
IPFS 是如何工作的?
從高層次的角度來看,IPFS 的工作原理是通過其內容查找您正在尋找的資訊。這稱為內容尋址,可以通過內容標識符——CID 實現,我們將在下一節討論 CID。
為了更好地理解 IPFS 的工作原理,我們將深入研究 IPFS 背后的基本原理。
了解 IPFS 工作原理的三個基本原則
1、通過內容尋址的唯一標識:
中心化網路和去中心化網路之間的主要區別之一是識別和檢索各自的數據或資訊。在中心化網路上,通過 URL(或 URI)的位置尋址用于識別和“定位”數據,
另一方面,去中心化網路使用內容尋址通過唯一的內容標識符 CID, 從各種來源(對等點或節點)檢索數據。
內容標識符 CID 是為 IPFS 開發的一種特殊形式的內容尋址。它是一個包含加密哈希值的單一標識符和一個編解碼器,保存有關如何解釋數據的資訊,使用加密哈希值,任何對相同數據使用相同算法的人都將獲得相同的哈希值,對于上下文,IPFS 中的大多數內容使用 sha2-256 算法進行哈希處理。
內容標識符不指示數據的存儲位置。然而,它根據數據的底層內容形成一種地址,
2、通過有向無環圖 (DAG) 鏈接內容:
數據是從去中心化網路中的對等方訪問的,而不是從中央機構訪問,從高級概述來看,圖是一種數學抽象,用于表示對象集合之間的關系。我們使用“節點”來指代圖中的一個對象,使用“邊”來指代對象之間的關系,
DAG 顯然是一個復合詞,因此通過分解它們來為它的含義奠定基礎似乎是合適的,
- 有向圖:如果每條邊都有某種方向感,則稱該圖是有向圖,節點之間的連接僅在一個方向上正確關聯,并且單頭箭頭指示該方向。我們使用像祖先、后代、父母和孩子這樣的系譜術語來指代有向圖中的節點,
- 無環圖:無環圖在圖中沒有環。這意味著無法沿著圖的邊緣從該節點導航回自身。
3、通過分布式哈希表 (DHT) 發現內容:
分布式哈希表 – DHT 是將key映射到value的分布式系統。在 IPFS 中,DHT 用作內容路由系統的基本組件,并充當目錄和導航系統之間的交互。
DHT 將用戶正在尋找的內容(CID)映射到實際存儲匹配內容的對等點。
使用 DHT 映射的key,value分為三種類型:
- 提供記錄:將數據標識符映射到已宣傳他們擁有該內容并愿意為您提供的對等方,IPFS 用于查找內容,IPNS over PubSub 用于查找 pubsub 主題的其他成員。
- IPNS 記錄:將 IPNS 密鑰(公鑰的散列)映射到 IPNS 記錄,
- 對等記錄:將一個對等標識映射到一組可以到達對等標識的多個地址,當我們知道一個對等點有內容,但是不知道它的地址和手動連接時,通過IPFS 仍然可以使用它,例如:ipfs swarm connect/p2p/Qmxyz…