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.
Explain the original web model and the limitation
* Content addressing instead of location addressing
* decentralized content distributed among peers
* Content is hashed as CID
* Content is immutable each update generates new CID
* Distributed Hash Table (DHTs) maps CID / Peer IP address
* DHT server hosts content and DHT
* New Content that you want to share on ipfs
* hash the content creating new CID
* Update your local DHT CID / your ip address
* DHT will be updated to all the content peer (NOT the CONTENT)
* People searching for your CID will be connected to you and only you.
* ipfs client (dht client) want to consume Ipfs://cid/
* ipfs client consults its local DHT table to see where this CID is located, gets back a collection of IP addresses
* client connects to some or all the peers found hosting that CID
* client downloads chunks of the content from each peer so it speeds up
* 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)
* New updated DHT is propogated across peer
IPFS Overview (Digrams) 11:30
* if Content gets updated changes URI how do I inform the user?
* hash the public key of the user instead and share that
* I know nothing about the network (Bootstraping)
* you will be bootstrapped with a collection of ip addresses to start you up.
* Deleting Content( once other node hosts it no way to delete it from their network)
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
https://www.youtube.com/watch?v=K4Usud4g4iY&feature=youtu.be&t=1008
https://twitter.com/hnasr/status/1353548949945163776?s=21
https://docs.ipfs.io/conce
🎙️Listen to the Backend Engineering Podcast
https://husseinnasser.com/podcast
🏭 Backend Engineering Videos
https://backend.husseinnasser.com
💾 Database Engineering Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQXjD0HOzN7P2tgzu7scWpl2
🏰 Load Balancing and Proxies Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQVMeBmWI2AhxULWEeo7AaMC
🏛️ Software Archtiecture Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQXNP6mQchJVP3S-3oKGEuw9
https://www.youtube.com/playlist?list=PLQnljOFTspQVcumYRWE2w9kVxxIXy_AMo
https://www.youtube.com/channel/UC_ML5xP23TOWKUcc-oAE_Eg/join
Join our Thriving Backend Community on Discord
https://discord.com/invite/CsFbFce