Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

IPFS: The Permanent Web

1,779 views

Published on

IPFS is a distribution protocol that enables the creation of completely distributed applications through content addressing. A very ambitious open source project in Go, IPFS adopts a peer-to-peer hypermedia protocol to protect against a single point of failure. This presentation aims to highlight the design and ideas of IPFS and also touches upon a real world use case.

Published in: Technology
  • Be the first to comment

IPFS: The Permanent Web

  1. 1. InterPlanetary File System Sivachandran
  2. 2. InterPlanetary File System • Hypermedia distribution protocol • Faster, safer, and more open web • Open source project • GitHub • Go Implementation
  3. 3. Web: Network Topology • Centralised • Single server • Easy publish • Difficult to scale • Single point of failure • Decentralised • Multiple servers • Demand and failures better handled
  4. 4. IPFS: Topology • Fully distributed network • Node • No server/client • Acts both server and client • Connected with every other node • Web original design
  5. 5. Web: Connectivity • Content in server • Always connected • While traveling? • Offline apps • Different implementation
  6. 6. IPFS: Connectivity • Connection required • Content • Node information • Connection opaque to applications • Built-in offline support • Syncs content when online • MerkleDAG, core data structure, eases sync
  7. 7. Web: Permanence • Availability not guaranteed • At the mercy of the app and server • Deleted accidentally, intentionally
  8. 8. IPFS: Permanence • Content cached at nodes • Distributes automatically • No single place to delete • Pin to keep permanently
  9. 9. Web: Integrity • Integrity not guaranteed too • Depends on server safety • Contents addressed by name • Technically not related • Band aids • GPG, Checksum • High overhead or difficult to enforce
  10. 10. IPFS: Integrity • Contents addressed by its contains • Cryptography hash as address • Name for dynamic content • Multihash - algorithm independent • Nodes identified by hash • Ensure the authenticity
  11. 11. Web: Speed • Content always retrieved from server • Latency • Bandwidth wastage
  12. 12. Bandwidth Wastage
  13. 13. IPFS: Speed • Contents available at multiple nodes • Low latency • Parallel download • Downloads from nearby node • Person sitting next to you • Saves bandwidth and time
  14. 14. Using IPFS
  15. 15. Distributed Storage • Built-in support • Content deduplication • At multiple level • Directory hierarchy • Symbolic links
  16. 16. P2P Communication • go-libp2p - IPFS P2P implementation • Supports TCP, UDP, UDT, etc. • ID based node addressing • IP independent
  17. 17. IPFS Components • Modular design • Independent components • go-libp2p • multihash • many more
  18. 18. More Information • ipfs.io • YouTube: IPFS channel and “ipfs” keyword • IRC: freenode/#ipfs • Current version 0.3.11, 0.4 will be out soon • Lots of opportunities to contribute • Visit github.com/ipfs
  19. 19. Thank You • Thanks to Juan Benet of IPFS • Me @ • sivachandran.p@gmail.com • github.com/sivachandran

×