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.

Decentralised Web: IPFS project, David Dias, Protocol Labs, IPFS

736 views

Published on

Decentralised Web: IPFS (InterPlanetary File System) project (guest speaker - David Dias, P2P Software Engineer & Researcher at Protocol Labs, IPFS - http://daviddias.me/ )

Presented at TADSummit 2016, 15-16 Nov, Lisbon in Stream 3: Project reTHINK: Decentralised Communications

Published in: Technology

Decentralised Web: IPFS project, David Dias, Protocol Labs, IPFS

  1. 1. The Distributed Web
  2. 2. > whoami
  3. 3. David Dias, twitter: @daviddias github: @diasdavid > whoami
  4. 4. David Dias, P2P SE&R @ Protocol Labs twitter: @daviddias github: @diasdavid > whoami
  5. 5. The Web has some issues
  6. 6. – Marc Andreessen, 2011 “Software is eating the world.”
  7. 7. The Internet was designed to be dumb
  8. 8. 200 MB
  9. 9. 200 MB x 30 x 8 = 48 GB
  10. 10. 2,684,972,801
  11. 11. 536.994 PB 2,684,972,801
  12. 12. 200 MB x 30 x 8 = 48 GB CDN
  13. 13. 200 MB x 30 x 8 = 48 GB
  14. 14. https://www.backblaze.com/blog/price-gap-storage-vs-bandwidth/
  15. 15. – “They said like more than decade ago” “Everyone is going to get connected”
  16. 16. low bw interference congestion travelisp outagedatacenter
  17. 17. Permanence Security IoT Control Offline Bandwidth Disconnected
  18. 18. The Web was meant to be distributed
  19. 19. InterPlanetary FileSystem
  20. 20. Content Addressed File System
  21. 21. http://10.20.30.40/foo/bar/baz.png location path http://example.com/foo/bar/baz.png
  22. 22. http://10.20.30.40/foo/bar/baz.png location path http://example.com/foo/bar/baz.png /ipns/example.com/foo/bar/baz.png /ipfs/QmW98pJrc6FZ6/foo/bar/baz.png content path
  23. 23. 10.20.30.40 you HTTP http://10.20.30.40/foo/bar/baz.png /ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
  24. 24. 10.20.30.40 you HTTP http://10.20.30.40/foo/bar/baz.png /ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
  25. 25. http://10.20.30.40/foo/bar/baz.png 10.20.30.40 you /ipfs/QmW98pJrc6FZ6/foo/bar/baz.png IPFS
  26. 26. http://10.20.30.40/foo/bar/baz.png 10.20.30.40 you /ipfs/QmW98pJrc6FZ6/foo/bar/baz.png IPFS
  27. 27. http://10.20.30.40/foo/bar/baz.png 10.20.30.40 you /ipfs/QmW98pJrc6FZ6/foo/bar/baz.png IPFS
  28. 28. SFS web DHT+
  29. 29. • Self-describable data types • Secure data structures • Distributed naming • Distributed and fast updates • Process addressing Multiformats IPLD IPNS PubSub libp2p //github.com/multiformats //github.com/ipld //github.com/ipfs/specs //github.com/libp2p/pubsub //github.com/libp2p
  30. 30. multiformats
  31. 31. multiformats CID - Content Identifier QmdfTbBqBPQ7VNxZEYEj14VmRuZBkqFbiwReogJgS1zIIIContent Address (Hash) zdj7Wd8AMwqnhJGQCbFxBVodGSBG84TM7Hs1rcJuQMwTyfEDSContent Identifier multibase cid version multicodec multihash hash value Content Address (Hash)
  32. 32. • Self-describable data types • Secure data structures • Distributed naming • Distributed and fast updates • Process addressing Multiformats IPLD IPNS PubSub libp2p //github.com/multiformats //github.com/ipld //github.com/ipfs/specs //github.com/libp2p/pubsub //github.com/libp2p
  33. 33. IPLD - InterPlanetary Linked Data any data structures can be represented as a DAG MERKLE LINK
  34. 34. MerkleTree
  35. 35. Blockchain
  36. 36. Blockchain
  37. 37. • Self-describable data types • Secure data structures • Distributed naming • Distributed and fast updates • Process addressing Multiformats IPLD IPNS PubSub libp2p //github.com/multiformats //github.com/ipld //github.com/ipfs/specs //github.com/libp2p/pubsub //github.com/libp2p
  38. 38. IPNS - InterPlanetary Name System
  39. 39. • Self-describable data types • Secure data structures • Distributed naming • Distributed and fast updates • Process addressing Multiformats IPLD IPNS PubSub libp2p //github.com/multiformats //github.com/ipld //github.com/ipfs/specs //github.com/libp2p/pubsub //github.com/libp2p
  40. 40. “IPFS is the data layer that I as a developer always wanted”
  41. 41. “IPFS is the data layer that I as a developer always wanted” “it is the way I always expected the web to work as a User”
  42. 42. The Distributed Web
  43. 43. Live Examples video distribution + streaming
  44. 44. Live Examples legal documents
  45. 45. ipfs.pics (imgur-like) Live Examples
  46. 46. 3D models (they're big!) Live Examples
  47. 47. Live Examples games
  48. 48. Live Examples scientific data + papers
  49. 49. Live Examples blogs and websites
  50. 50. totally distributed webapps Live Examples
  51. 51. Physical Links Virtual Links uuid-11 uuid-65 uuid-70 uuid-17 uuid-19 uuid-27 uuid-61 uuid-91 uuid-37 uuid-2 uuid-43 uuid-51 uuid-1 uuid-31 uuid-80 uuid-5 uuid-14 uuid-47
  52. 52. utp tcp Pigeon Kademlia Chord SPDY WebRTC WebSockets SECIO TLS CJDNS mDNS Radio Bluetooth CurveCP Relay NAT Traversal QUIC STUN SCTP E Tor I2P
  53. 53. IPLD
  54. 54. IPLD { “/“: “<SchemaCID>” }
  55. 55. A protocol to upgrade the Web
  56. 56. PermanentDistributed Safer SmarterOffline Faster
  57. 57. github.com/ipfs
  58. 58. Thank you! David Dias - http://daviddias.me IPFS http://ipfs.io Protocol Labs http://ipn.io

×