InterPlanetary filsystem | |
---|---|
Sorts | nätverksprotokoll , filsystem , hypermediadistributionsprotokoll [d] och innehållsleveransnätverk |
Författare | Juan Benet _ |
Utvecklare | Protocol Labs Community |
Skrivet i | gå |
Operativ system | Linux , Android , FreeBSD , macOS , Windows |
senaste versionen |
|
stat | aktiva |
Licens | MIT-licens |
Hemsida | ipfs.io _ |
Mediafiler på Wikimedia Commons |
IPFS (från engelska InterPlanetary File System - interplanetary file system ) - innehållsadresserbart , peer-to- peer hypermediakommunikationsprotokoll . IPFS-nätverksnoder bildar ett distribuerat filsystem. IPFS är ett öppen källkodsprojekt utvecklat av Protocol Labs med hjälp av öppen källkodsgemenskapen. [1] Den designades ursprungligen av Juan Benet . [2]
IPFS är ett peer-to-peer-distribuerat filsystem som kopplar samman alla datorenheter med ett enda filsystem. På vissa sätt liknar IPFS World Wide Web . IPFS kan ses som en enda BitTorrent- svärm som utbyter filer från ett enda Git- förråd. Med andra ord tillhandahåller IPFS en innehållsadresserad blocklagringsmodell .med innehållsadresserbara hyperlänkar och hög bandbredd.
Detta bildar en generaliserad trädriktad graf .
IPFS kombinerar en distribuerad hashtabell , decentraliserat blockutbyte och ett självcertifierande namnområde. Samtidigt har IPFS inga felpunkter och noder behöver inte lita på varandra. [3]
Tillgång till filsystemet kan erhållas på olika sätt:
En lokal fil kan läggas till IPFS-filsystemet, vilket gör den tillgänglig för hela världen. Filer identifieras av deras multihash [4] [5] , vilket förenklar cachelagring. De distribueras genom ett protokoll baserat på BitTorrent-protokollet. Användare som tittar på innehåll hjälper till att leverera innehåll till andra nätverksanvändare. IPFS har en namntjänst som heter IPNS, en publik nyckelbaserad global namnrymd som är kompatibel med andra namnområden och har förmågan att integrera DNS , .onion , .bit och andra i IPNS. [6]
Från och med april 2016 är IPFS på alfanivå [ 7] . Huvudimplementeringen gjordes i Go , en JavaScript- version implementerades delvis , utvecklingen av en version i Python [8] och Rust har påbörjats .