IPFS: The Permanent Web
-
Upload
sivachandran-paramsivam -
Category
Technology
-
view
631 -
download
1
Transcript of IPFS: The Permanent Web
InterPlanetary File System
• Hypermedia distribution protocol
• Faster, safer, and more open web
• Open source project
• GitHub
• Go Implementation
Web: Network Topology• Centralised
• Single server
• Easy publish
• Difficult to scale
• Single point of failure
• Decentralised
• Multiple servers
• Demand and failures better handled
IPFS: Topology• Fully distributed network
• Node
• No server/client
• Acts both server and client
• Connected with every other node
• Web original design
Web: Connectivity
• Content in server
• Always connected
• While traveling?
• Offline apps
• Different implementation
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
Web: Permanence
• Availability not guaranteed
• At the mercy of the app and server
• Deleted accidentally, intentionally
IPFS: Permanence
• Content cached at nodes
• Distributes automatically
• No single place to delete
• Pin to keep permanently
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
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
IPFS: Speed• Contents available at multiple nodes
• Low latency
• Parallel download
• Downloads from nearby node
• Person sitting next to you
• Saves bandwidth and time
Distributed Storage
• Built-in support
• Content deduplication
• At multiple level
• Directory hierarchy
• Symbolic links
P2P Communication
• go-libp2p - IPFS P2P implementation
• Supports TCP, UDP, UDT, etc.
• ID based node addressing
• IP independent
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
Thank You
• Thanks to Juan Benet of IPFS
• Me @
• github.com/sivachandran