ipfs 存儲分析

.ipfs 為節(jié)點的存儲目錄

目錄 存儲內(nèi)容 備注
blocks 文件塊內(nèi)容 hash.data
datastore 存儲本地數(shù)據(jù) ipns 等
keystore 存儲公私鑰對
config 配置文件
version 版本信息
datastore_spec

datastore的存儲:https://github.com/ipfs/go-datastore

IPFS是一個分布式文件系統(tǒng),它綜合了以前的對等系統(tǒng)的成功想法,包括DHT,BitTorrent,Git和SFS。 IPFS的貢獻(xiàn)是簡化,發(fā)展和將成熟的技術(shù)連接成一個單一的內(nèi)聚系統(tǒng),大于其部分的總和。 IPFS提供了編寫和部署應(yīng)用程序的新平臺,以及一個新的分發(fā)系統(tǒng)版本化大數(shù)據(jù)。 IPFS甚至可以演進網(wǎng)絡(luò)本身。
IPFS是點對點的;沒有節(jié)點是特權(quán)的。 IPFS節(jié)點將IPFS對象存儲在本地存儲中。節(jié)點彼此連接并傳輸對象。這些對象表示文件和其他數(shù)據(jù)結(jié)構(gòu)。 IPFS協(xié)議分為一組負(fù)責(zé)不同功能的子協(xié)議:
1.身份 - 管理節(jié)點身份生成和驗證。描述在3.1節(jié)。
2.網(wǎng)絡(luò) - 管理與其他對等體的連接,使用各種底層網(wǎng)絡(luò)協(xié)議??膳渲玫?。詳見3.2節(jié)。
3.路由 - 維護信息以定位特定的對等體和對象。響應(yīng)本地和遠(yuǎn)程查詢。默認(rèn)為DH??T,但可更換。在3.3節(jié)描述。
4.交換 - 一種支持有效塊分配的新型塊交換協(xié)議(BitSwap)。模擬市場,弱化數(shù)據(jù)復(fù)制。貿(mào)易策略可替換。
5.對象 - 具有鏈接的內(nèi)容尋址不可更改對象的Merkle DAG。用于表示任意數(shù)據(jù)結(jié)構(gòu),例如文件層次和通信系統(tǒng)。詳見第3.5節(jié)。
6.文件 - 由Git啟發(fā)的版本化文件系統(tǒng)層次結(jié)構(gòu).
7.命名 - 自我認(rèn)證的可變名稱系統(tǒng).

分布式散列表(DHT)被廣泛用于協(xié)調(diào)和維護關(guān)于對等系統(tǒng)的元數(shù)據(jù)。比如,MainlineDHT 是一個去中心化哈希表,他可追蹤查找所有的對等節(jié)點。

Block:一個可變大小的數(shù)據(jù)塊

DHT和BitSwap允許IPFS構(gòu)造一個龐大的點對點系統(tǒng)用來快速穩(wěn)定的分發(fā)和存儲。最主要的是,IPFS建造了一個Merkle DAG,一個無回路有向圖,對象之間的links都是hash加密嵌入在源目標(biāo)中。這是Git數(shù)據(jù)結(jié)構(gòu)的一種推廣。Merkle DAGS給IPFS提供了很多有用的屬性,包括:
1.內(nèi)容可尋址:所有內(nèi)容都是被多重hash校驗和來唯一識別的,包括links。
2.防止篡改:所有的內(nèi)容都用它的校驗和來驗證。如果數(shù)據(jù)被篡改或損壞,IPFS會檢測到。
3.重復(fù)數(shù)據(jù)刪除:所有的對象都擁有相同的內(nèi)容并只存儲一次。這對于索引對象非常有用,比如git的tree和commits,或者數(shù)據(jù)的公共部分。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容