The new iroh-blobs design restores the initial “one unique identifier for each file” ethos of IPFS (abandonned by IPFS), to reduce swarm fragmentation. It takes the standard Blake3 hashing algorithm to generate file CIDs (equivalent to Bittorrent magnet infohash).
The protocol uses the Mainline Bittorrent DHT (not a custom DHT). There is no notion of block CIDs (no potential deduplication, but also less scalability issues for announcing each block CID on the DHT).
So that’s a lot of design simplifications that will improve implementation time.
If you are interested, have a try at Iroh-share, a CLI and TUI Rust implementation.



From my understanding, peers stream merkle-tree leaves to the requester, allowing to verify data while downloading: https://docs.rs/iroh-blobs/latest/iroh_blobs/protocol/index.html#responses
So it does have piece chunking for large files, which correspond to the native Blake3 chunks.
The same goes for shared directories (sharing each file root blake3), I think this is called a “Collection”.
i think https://github.com/mrsarthi/Chorrent is a better bittorrent/ipfs replacement.
from my understanding, iroh-share is like ipfs-style global uploads, and then can be fetched from any peer with continuation ( like wget -c ) .
Thanks for sharing! It looks like it is based upon Iroh too (lower layers).