星際文件系統(tǒng)(IPFS)是一個(gè)網(wǎng)絡(luò)傳輸協(xié)議,旨在創(chuàng)建持久和分布式存儲(chǔ)和共享文件。它是一個(gè)具有可尋址內(nèi)容的點(diǎn)對(duì)點(diǎn)超媒體分布協(xié)議。IPFS網(wǎng)絡(luò)中的節(jié)點(diǎn)將形成一個(gè)分布式文件系統(tǒng)。目前的實(shí)現(xiàn)是在Go和JavaScript中,Python的實(shí)現(xiàn)也在開(kāi)發(fā)中,Go的實(shí)現(xiàn)被認(rèn)為是官方規(guī)范開(kāi)發(fā)的 "參考實(shí)現(xiàn)"。
IPFS是一個(gè)對(duì)等的分布式文件系統(tǒng),試圖為所有計(jì)算設(shè)備連接相同的文件系統(tǒng)。在某些方面,IPFS類似于萬(wàn)維網(wǎng),但它也可以被認(rèn)為是一個(gè)獨(dú)立的BitTorrent蜂群,在同一個(gè)Git倉(cāng)庫(kù)中交換對(duì)象。換句話說(shuō),IPFS提供了一個(gè)高吞吐量、內(nèi)容可尋址的塊存儲(chǔ)模型,并有內(nèi)容相關(guān)的超鏈接。這就形成了一個(gè)廣義的Merkle有向無(wú)環(huán)圖(DAG)。IPFS結(jié)合了分布式哈希表,鼓勵(lì)塊交換,以及自我認(rèn)證的命名空間。分布式內(nèi)容交付節(jié)省了帶寬,防止了HTTP方案可能遇到的DDoS攻擊。
文件系統(tǒng)可以通過(guò)多種方式訪問(wèn),包括FUSE和HTTP,將本地文件添加到IPFS文件系統(tǒng)中,使其在全球范圍內(nèi)可用。文件的表示是基于它的哈希值,因此有利于緩存。文件使用基于BitTorrent的協(xié)議進(jìn)行分發(fā)。IPFS有一個(gè)名為IPNS的名稱服務(wù),它是一個(gè)基于PKI的全球名稱空間,用于構(gòu)建信任鏈,它與其他NS兼容,可以將DNS、.onion、.bit等映射到IPNS。