時間:2023-07-12|瀏覽:264
為了更好地理解星際文件系統(tǒng)的工作原理,本文將深入研究星際文件系統(tǒng)背后的基本原理。
1、什么是星際文件系統(tǒng)
InterPlantery文件系統(tǒng)是一個點對點的分布式系統(tǒng),用于存儲和訪問文件、網(wǎng)站、應(yīng)用程序和數(shù)據(jù)。星際文件系統(tǒng)旨在為分布式Web-DWeb提供動力。
星際文件系統(tǒng)要求網(wǎng)絡(luò)上連接的計算機通過文件(網(wǎng)站、應(yīng)用程序或數(shù)據(jù))的內(nèi)容共享用戶請求的信息。在生態(tài)系統(tǒng)中,使用文件的內(nèi)容來滿足用戶的請求被稱為內(nèi)容尋址。
但在我們討論星際文件系統(tǒng)和其內(nèi)容之前,也許我們首先要說起中心化網(wǎng)絡(luò)——它的局限性和挑戰(zhàn),以及星際文件系統(tǒng)如何為非中心化網(wǎng)絡(luò)提供動力和解決中心化網(wǎng)絡(luò)的挑戰(zhàn)。值得注意的是,通過使用星際文件系統(tǒng)從另一個系統(tǒng)下載文件,那么您的計算機也將成為分發(fā)者。這是使用星際文件系統(tǒng)作為協(xié)議的優(yōu)勢之一。您的系統(tǒng)會成為非中心化網(wǎng)絡(luò)的一部分,有助于傳播和分發(fā)信息。
2、非中心化網(wǎng)絡(luò)的挑戰(zhàn)和局限性
正如我們所知,今天的網(wǎng)絡(luò)是中心化的。
“權(quán)力”掌握在少數(shù)強大的公司手中。這意味著我們在網(wǎng)絡(luò)上所做的大部分事情,例如發(fā)帖或是網(wǎng)絡(luò)分享,都會歸某些人所有——強大的公司。
在很大程度上,中心化網(wǎng)絡(luò)是由數(shù)據(jù)經(jīng)濟驅(qū)動的——利用用戶創(chuàng)建的內(nèi)容并再次將其用于這些用戶。
中心化網(wǎng)絡(luò)對信息有著絕對的控制權(quán),控制著我們?nèi)绾卫米约簩κ挛锏母兄獊聿榭葱畔ⅰ?p>星際文件系統(tǒng)是如何工作的?看一下底層概念
從高層次的角度來看,星際文件系統(tǒng)的工作原理是通過其內(nèi)容查找您正在尋找的信息。這稱為內(nèi)容尋址,可以通過內(nèi)容標識符—CID實現(xiàn)。
這三個基本原則將有助于我們更好地了解星際文件系統(tǒng)。
星際文件系統(tǒng)工作原理的三個基本原則
基本原則一、通過內(nèi)容尋址的唯一標識:
中心化網(wǎng)絡(luò)和非中心化網(wǎng)絡(luò)之間的主要區(qū)別之一是識別和檢索各自的數(shù)據(jù)/信息。在中心化網(wǎng)絡(luò)上,通過URL(或URI)的位置尋址用于識別和“定位”數(shù)據(jù)。
另一方面,非中心化網(wǎng)絡(luò)使用內(nèi)容尋址通過唯一的內(nèi)容標識符—CID—從各種來源(peer/節(jié)點)檢索數(shù)據(jù)。
內(nèi)容標識符—CID是為星際文件系統(tǒng)開發(fā)的一種特殊形式的內(nèi)容尋址。它是一個包含加密哈希值和一個編解碼器的單一標識符,保存著有關(guān)如何讀取數(shù)據(jù)的信息。使用加密哈希,任何人對相同的數(shù)據(jù)使用相同的算法都將獲得相同的哈希。星際文件系統(tǒng)中的大部分內(nèi)容都是使用sha2-256算法進行哈希計算的。
內(nèi)容標識符不指示數(shù)據(jù)的存儲位置。它根據(jù)數(shù)據(jù)的底層內(nèi)容生成一個地址。
二、通過有向非循環(huán)圖(DAG)鏈接內(nèi)容:
數(shù)據(jù)在非中心化網(wǎng)絡(luò)中進行點對點訪問,而不是在中心化中訪問。從高級概述來看,圖是一種數(shù)學(xué)抽象,用于表示對象集合之間的關(guān)系。我們使用節(jié)點來指代圖中的一個對象,使用邊來指代對象之間的關(guān)系。
DAG顯然是一個復(fù)合詞,因此通過分解它們來為其含義奠定基礎(chǔ)是可行的。
有向圖:如果每條邊都有某種方向感,則稱該圖是有向圖。節(jié)點之間的連接僅正確關(guān)聯(lián)一個方向,并且單箭頭指示該方向。就像我們使用祖先、后代、父母和孩子這樣的系譜術(shù)語來指代有向圖中的節(jié)點。
非循環(huán)圖:非循環(huán)圖在圖中無法循環(huán)。這意味著無法沿著圖的邊緣從該節(jié)點導(dǎo)航回到自身節(jié)點。
有向非循環(huán)圖-DAG:一個有向但無法循環(huán)的圖。
三、通過定向哈希表(DHT)發(fā)現(xiàn)內(nèi)容
分布式哈希表—DHT是非中心化的分布式系統(tǒng)。在星際文件系統(tǒng)中,DHT用作內(nèi)容路由系統(tǒng)的基本組件,并充當目錄和導(dǎo)航系統(tǒng)之間的橋梁。
DHT將用戶正在尋找的內(nèi)容(CID)鏈接到實際內(nèi)容存儲的Peer上。
使用DHT被對分為三種類型:
提供記錄—將數(shù)據(jù)標識符鏈接到他們已擁有且愿意提供內(nèi)容的Peer上。星際文件系統(tǒng)用于查找內(nèi)容,IPNSoverPubSub用于查找pubsub主題的其他成員。
IPNS記錄—將IPNS密鑰(公鑰的哈希)鏈接到IPNS記錄。
Peer記錄—將一個peerID鏈接到peer可以到達的多個地址上。當我們知道peer的內(nèi)容,但不知道其地址和手動連接時,可以使用星際文件系統(tǒng),例如:星際文件系統(tǒng)swarmconnect/p2p/Qmxyz...