Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IPFS - InterPlanetary File System

codemaxx
October 31, 2018

IPFS - InterPlanetary File System

This is a presentation I have as a part of my blockchain course project at IIT Bombay 2018.

The full report can be found on my website: https://www.akashtrehan.com/projects/

codemaxx

October 31, 2018
Tweet

More Decks by codemaxx

Other Decks in Technology

Transcript

  1. InterPlanetary
    File System (IPFS)
    Akash Trehan
    @cod3maxx | www.akashtrehan.com

    View Slide

  2. Blueprint
    ● Goal
    ● Why do we need IPFS?
    ● High level overview / Usage
    ● The IPFS Stack
    ● Problems with IPFS
    ● Cool Apps
    ● Some cool latest updates
    ● Demo

    View Slide

  3. Blueprint
    ● Goal
    ● Why do we need IPFS?
    ● High level overview / Usage
    ● The IPFS Stack
    ● Problems with IPFS
    ● Cool Apps
    ● Some cool latest updates
    ● Demo

    View Slide

  4. Blueprint
    ● Goal
    ● Why do we need IPFS?
    ● High level overview / Usage
    ● The IPFS Stack
    ● Problems with IPFS
    ● Cool Apps
    ● Some cool latest updates
    ● Demo

    View Slide

  5. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  6. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  7. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  8. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  9. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  10. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  11. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  12. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  13. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  14. Blueprint
    ● Goal
    ● Why do we need IPFS?
    ● High level overview / Usage
    ● The IPFS Stack
    ● Problems with IPFS
    ● Cool Apps
    ● Some cool latest updates
    ● Demo

    View Slide

  15. Blueprint
    ● Goal
    ● Why do we need IPFS?
    ● High level overview / Usage
    ● The IPFS Stack
    ● Problems with IPFS
    ● Cool Apps
    ● Some cool latest updates
    ● Demo

    View Slide

  16. Image of the stack and what all IPFS is built on
    Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  17. Image of stack and the details for ipfs specifically
    Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  18. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  19. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  20. Slide showing all the parts of ipfs we are going to talk about
    Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  21. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  22. P2P networks and Distributed Hash Tables
    Source: https://www.youtube.com/watch?v=kXyVqk3EbwE

    View Slide

  23. P2P networks and Distributed Hash Tables
    Source: https://www.youtube.com/watch?v=kXyVqk3EbwE

    View Slide

  24. P2P networks and Distributed Hash Tables
    Source: https://www.youtube.com/watch?v=kXyVqk3EbwE

    View Slide

  25. P2P networks and Distributed Hash Tables
    Source: https://www.youtube.com/watch?v=kXyVqk3EbwE

    View Slide

  26. P2P networks and Distributed Hash Tables
    Source: https://www.youtube.com/watch?v=kXyVqk3EbwE

    View Slide

  27. P2P networks and Distributed Hash Tables
    Source: https://www.youtube.com/watch?v=kXyVqk3EbwE

    View Slide

  28. P2P networks and Distributed Hash Tables
    Source: https://www.youtube.com/watch?v=kXyVqk3EbwE

    View Slide

  29. IPFS Routing Interface
    ● FindPeer (node NodeID)
    ● SetValue (key []bytes, value []bytes)
    ● GetValue (key []bytes)
    ● ProvideValue( key Multihash)
    ● FindValuePeers (key Multihash, min int)

    View Slide

  30. Incentivization
    ● Must incentivize nodes to seed when they do not need anything
    in particular, as they might have the blocks others want
    ● Moreover, leeches must be protected against
    ● The technique be effective with and resistant to other, unknown
    strategies
    ● Leniency to trusted peers
    ● IPFS uses a simple credit system called BitSwap

    View Slide

  31. The BitSwap Protocol
    Source: https://github.com/ipfs/papers/raw/master/ipfs-cap2pfs/ipfs-p2p-file-system.pdf (IPFS paper)

    View Slide

  32. The BitSwap Protocol
    ● provides resistance to attackers who would create lots of new
    nodes (Sybil attacks)
    ● protects previously successful trade relationships, even if one
    of the nodes is temporarily unable to provide value
    ● eventually chokes relationships that have deteriorated until
    they improve.

    View Slide

  33. The BitSwap Protocol Interface
    ● Peer.open (NodeId, Ledger).
    ● Peer.send_want_list (WantList)
    ● Peer.send_block (Block)
    ● Peer.close (Bool)

    View Slide

  34. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  35. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  36. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  37. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  38. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  39. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  40. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  41. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  42. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  43. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  44. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  45. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  46. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  47. View Slide

  48. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  49. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  50. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  51. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  52. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  53. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  54. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  55. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  56. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  57. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  58. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  59. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  60. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  61. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  62. Source: https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a13f/ipfs-005.2.pdf

    View Slide

  63. Source: https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-038.eth-ipfs-dapp-meetup.pdf

    View Slide

  64. Source: https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-038.eth-ipfs-dapp-meetup.pdf

    View Slide

  65. Source: https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-038.eth-ipfs-dapp-meetup.pdf

    View Slide

  66. Source: https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-038.eth-ipfs-dapp-meetup.pdf

    View Slide

  67. Source: https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-038.eth-ipfs-dapp-meetup.pdf

    View Slide

  68. Source: https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-038.eth-ipfs-dapp-meetup.pdf

    View Slide

  69. Source: https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-038.eth-ipfs-dapp-meetup.pdf

    View Slide

  70. Source: https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-038.eth-ipfs-dapp-meetup.pdf

    View Slide

  71. Source: https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-038.eth-ipfs-dapp-meetup.pdf

    View Slide

  72. Source: https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-038.eth-ipfs-dapp-meetup.pdf

    View Slide

  73. Source: https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-038.eth-ipfs-dapp-meetup.pdf

    View Slide

  74. IPRS

    View Slide

  75. Source: https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-038.eth-ipfs-dapp-meetup.pdf

    View Slide

  76. Source: https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-038.eth-ipfs-dapp-meetup.pdf

    View Slide

  77. Source: https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-038.eth-ipfs-dapp-meetup.pdf

    View Slide

  78. Source: https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-038.eth-ipfs-dapp-meetup.pdf

    View Slide

  79. Source: https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-038.eth-ipfs-dapp-meetup.pdf

    View Slide

  80. IPNS

    View Slide

  81. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  82. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  83. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  84. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  85. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  86. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  87. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  88. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  89. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  90. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  91. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  92. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  93. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  94. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  95. Source: https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  96. Blueprint
    ● Goal
    ● Why do we need IPFS?
    ● High level overview / Usage
    ● The IPFS Stack
    ● Problems with IPFS
    ● Cool Apps
    ● Some cool latest updates
    ● Demo

    View Slide

  97. Problems
    ● Permanence does not mean Persistent!
    ● Illegal/Pirated content

    View Slide

  98. Blueprint
    ● Goal
    ● Why do we need IPFS?
    ● High level overview / Usage
    ● The IPFS Stack
    ● Problems with IPFS
    ● Cool Apps
    ● Some cool latest updates
    ● Demo

    View Slide

  99. Cool Apps
    ● PeerPad: Collaborative editing tool
    ● OpenBazaar: Online marketplace
    ● The Lab: Video hosting
    ● IPFScloud: Cloud storage platform

    View Slide

  100. Blueprint
    ● Goal
    ● Why do we need IPFS?
    ● High level overview / Usage
    ● The IPFS Stack
    ● Problems with IPFS
    ● Cool Apps
    ● Some cool latest updates
    ● Demo

    View Slide

  101. Some cool latest update
    ● Sweet IPFS: InterPlanetary File System for Android
    ● IPFS Pinbot: Add content and pin things using tweets
    ● ipfs.wikileaks.org: Experimental IPFS gateway for WikiLeaks

    View Slide

  102. Blueprint
    ● Goal
    ● Why do we need IPFS?
    ● High level overview / Usage
    ● The IPFS Stack
    ● Problems with IPFS
    ● Cool Apps
    ● Some cool latest updates
    ● Demo

    View Slide

  103. References / Things I read and watched (1)
    ● IPFS Paper:
    https://github.com/ipfs/papers/raw/master/ipfs-cap2pfs/ipfs-p2p-file-system.pdf
    ● IPFS Reddit: https://www.reddit.com/r/ipfs/
    ● IPFS Discussion Forum: https://discuss.ipfs.io/
    ● IPFS Blog: https://blog.ipfs.io/
    ● Resolution and Routing in IPFS: https://github.com/ipfs/faq/issues/48
    ● IPFS Presentation 1:
    https://speakerd.s3.amazonaws.com/presentations/ecffee895940481a8f9aa8416806a1
    3f/ipfs-005.2.pdf
    ● IPFS Presentation 2:
    https://www.w3.org/2016/04/blockchain-workshop/slides/benet-ipfs.pdf
    ● IPFS Presentation 3:
    https://ipfs.io/ipfs/Qme51FQycp922BN83u8KXUYKJAxVAtPJbk1rxxN26934pN/ipfs-0
    38.eth-ipfs-dapp-meetup.pdf
    ● IPFS Presentation 4:
    https://qconsf.com/sf2015/system/files/presentation-slides/ipfs-018.qconsf.pdf

    View Slide

  104. References / Things I read and watched (2)
    ● IPFS talk at Stanford: https://www.youtube.com/watch?v=HUVmypx9HGI
    ● Peer-to-Peer algorithms: https://www.youtube.com/watch?v=kXyVqk3EbwE
    ● IPFS Blockchain Fun (demo): https://www.youtube.com/watch?v=bi-4YGZXxwA
    ● IPLD: The Merkle Forest: https://www.youtube.com/watch?v=Bqs_LzBjQyk
    ● Github MerkleDAG: https://www.youtube.com/watch?v=ronoCeMzfJ4
    ● Intro to libp2p: https://www.youtube.com/watch?v=CRe_oDtfRLw
    ● DHTs at GTech: https://www.youtube.com/watch?v=nCLtfUjAVD4
    ● IPFS Alpha Demo: https://www.youtube.com/watch?v=8CMxDNuuAiQ
    ● BitSwap Coffee Talk: https://www.youtube.com/watch?v=9UjqJTCg_h4

    View Slide