Intro a IPFS

Interplanetary File System πŸŒŽπŸ”­

> Filippo Costa πŸ‘‹

Rust Software Engineer @ Edge & Node πŸ¦€

Trading infra, C+Rust, WebAssembly, blockchain

hola πŸ‘¨πŸ»β€πŸ’»

Un file system distribuito e P2P ideato per conservare e diffondere dati, rendendo il Web piΓΉ scalabile, resiliente, e aperto.

– Conrad Anker

  • File System. Files e directories. ext4, btrfs, NFS
  • InterPlanetary.
    • Distribuito.
    • Scalabile & fault-tolerant.
    • Incensurabile.

In locale
file://path/to/file.txt

Web
http://example.com/path/to/file.txt

IPFS
ipfs://Qmah2h[...]AeLY.com/path/to/file.txt

Server

VS

Content Identifier

(CID)

  • HTML, immagini, video, etc.
  • Di ogni file (+ metadata) si calcola l'hash, ottenendo un CID
  • I contenuti sono immutabili (file modificato ➑️ nuovo CID)
  • ipfs://CID
  • URI poco human-friendly πŸ’‘πŸ€”

I file

  • Dato un CID, come trovo un host con quel file? Distributed Hash Table πŸš€ DHT

Routing

  1. CID
  2. Ricerca nei server DHT
  3. Connessione ai peers
  4. Download
  5. Verifica

Upload

  1. File ➑️ CID
  2. Entry nella DHT locale
  3. DHT propagation
  • Version control: git, svn, mercurial
  • Package managers: npm, cargo, pacman
  • Condivisione file
  • NFT!
  • https://en.wikipedia-on-ipfs.org
  • Storage distibuito, stile SETI@Home

Idee per applicativi

πŸ‘‹πŸ»

Filippo Costa
twitter.com/neysofu

Made with Slides.com