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.
Intro 0:00
Why IPFS? 2:00
Explain the original web model and the limitation
Content addressing instead of location addressing
decentralized content distributed among peers
Content 3:30
Content is hashed as CID
Content is immutable each update generates new CID
Content addressing
Routing 4:30
Distributed Hash Table (DHTs) maps CID / Peer IP address
DHT server hosts content and DHT
Publishing Content 6:30
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.
Consuming Content 8:48
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
Demo 13:45
More Information 18:30
Immutable Content
if Content gets updated changes URI how do I inform the user?
hash the public key of the user instead and share that
Brand new Client/server
I know nothing about the network (Bootstraping)
you will be bootstrapped with a collection of ip addresses to start you up.
More
IPFS gateway
IP Name server
Solve content
Deleting Content( once other node hosts it no way to delete it from their network)
NAT traversal
Resources
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
๐ฉ Messaging Systems
https://www.youtube.com/playlist?list=PLQnljOFTspQVcumYRWE2w9kVxxIXy_AMo
Become a Member
https://www.youtube.com/channel/UC_ML5xP23TOWKUcc-oAE_Eg/join
Support me on PayPal
https://bit.ly/33ENps4
Join our Thriving Backend Community on Discord
https://discord.com/invite/CsFbFce
Stay Awesome,
Hussein
Support this podcast: https://anchor.fm/hnasr/support