Overview of InterPlanetary File System - IPFS with (Examples with Command line & Brave Browser)

The Backend Engineering Show with Hussein Nasser

Episode | Podcast

Date: Sun, 31 Jan 2021 20:10:05 GMT

<p>The InterPlanetary File System (IPFS) is a protocol and peer-to-peer network for storing and sharing data in a distributed file system. IPFS uses content-addressing to uniquely identify each file in a global namespace connecting all computing devices.</p> <p>Intro 0:00</p> <p>Why IPFS? 2:00</p> <p>Explain the original web model and the limitation</p> <p>* Content addressing instead of location addressing</p> <p>* decentralized content distributed among peers</p> <p>Content 3:30</p> <p>* Content is hashed as CID</p> <p>* Content is immutable each update generates new CID</p> <p>* Content addressing</p> <p>Routing 4:30</p> <p>* Distributed Hash Table (DHTs) maps CID / Peer IP address</p> <p>* DHT server hosts content and DHT</p> <p>Publishing Content 6:30</p> <p>* New Content that you want to share on ipfs</p> <p>* hash the content creating new CID</p> <p>* Update your local DHT CID / your ip address</p> <p>* DHT will be updated to all the content peer (NOT the CONTENT)</p> <p>* People searching for your CID will be connected to you and only you.</p> <p>Consuming Content 8:48</p> <p>* ipfs client (dht client) want to consume Ipfs://cid/</p> <p>* ipfs client consults its local DHT table to see where this CID is located, gets back a collection of IP addresses</p> <p>* client connects to some or all the peers found hosting that CID</p> <p>* client downloads chunks of the content from each peer so it speeds up</p> <p>* Once the client has the content it is now also updating its local DHT table that it now also hosts that CID (if it supports being a DHT server)</p> <p>* New updated DHT is propogated across peer</p> <p>IPFS Overview (Digrams) 11:30</p> <p>Demo 13:45</p> <p>More Information 18:30</p> <p>Immutable Content</p> <p>* if Content gets updated changes URI how do I inform the user?</p> <p>* hash the public key of the user instead and share that</p> <p>Brand new Client/server</p> <p>* I know nothing about the network (Bootstraping)</p> <p>* you will be bootstrapped with a collection of ip addresses to start you up.</p> <p>More</p> <p>* IPFS gateway</p> <p>* IP Name server</p> <p>* Solve content</p> <p>* Deleting Content( once other node hosts it no way to delete it from their network)</p> <p>NAT traversal</p> <p>Resources</p> <p>https://datatracker.ietf.org/meeting/interim-2020-dinrg-01/materials/slides-interim-2020-dinrg-01-sessa-an-overview-of-the-interplanetary-file-system-ipfs.pdf</p> <p>https://www.youtube.com/watch?v=K4Usud4g4iY&amp;feature=youtu.be&amp;t=1008</p> <p>https://twitter.com/hnasr/status/1353548949945163776?s=21</p> <p>https://docs.ipfs.io/conce</p> <p>๐ŸŽ™๏ธListen to the Backend Engineering Podcast</p> <p>https://husseinnasser.com/podcast</p> <p>๐Ÿญ Backend Engineering Videos</p> <p>https://backend.husseinnasser.com</p> <p>๐Ÿ’พ Database Engineering Videos</p> <p>https://www.youtube.com/playlist?list=PLQnljOFTspQXjD0HOzN7P2tgzu7scWpl2</p> <p>๐Ÿฐ Load Balancing and Proxies Videos</p> <p>https://www.youtube.com/playlist?list=PLQnljOFTspQVMeBmWI2AhxULWEeo7AaMC</p> <p>๐Ÿ›๏ธ Software Archtiecture Videos</p> <p>https://www.youtube.com/playlist?list=PLQnljOFTspQXNP6mQchJVP3S-3oKGEuw9</p> <p>๐Ÿ“ฉ Messaging Systems</p> <p>https://www.youtube.com/playlist?list=PLQnljOFTspQVcumYRWE2w9kVxxIXy_AMo</p> <p>Become a Member</p> <p>https://www.youtube.com/channel/UC_ML5xP23TOWKUcc-oAE_Eg/join</p> <p>Support me on PayPal</p> <p>https://bit.ly/33ENps4</p> <p>Join our Thriving Backend Community on Discord</p> <p>https://discord.com/invite/CsFbFce</p> <p>Stay Awesome,</p> <p>Hussein</p>