I just started playing with ipfs tonight, and I’m intrigued. Specifically, I’m liking the CDN like qualities of the swarm distributing my content, but as I’ve searched around reddit and looked at other peoples content that they’ve placed out there, it’s raised some questions. I’m hoping someone can confirm these concepts I’ve got in my head about this:
Question 1: ipfs’s cdn-like qualities only really work if users are also running ipfs locally. For example, if I post a song and share the /ipfs/hashtaghere through a link on a website pointing to localhost:8080/ipfs/hashtaghere, then only those users with ipfs installed would get the file, and would ideally join the swarm sharing those files, right? But people without ipfs would have to have the link go through a gateway, like ipfs.io/ipfs/hashtaghere, in which case they would be of no benefit to the swarm, correct? If ipfs.io is hard coded as the source link, then basically everything just downloads from ipfs.io’s servers with no cdn-like benefits, right?
Question 2: Do blocks ever push to a swarm peer, or are they only shared when that data is requested?
Last one: I remember a project from about 14 years ago (can’t remember the name) that basically did the same kind of thing here, breaking up files, hashing the pieces, spreading them around. One of their claims was that if you shared a copyrighted song, lawyers wouldn’t be able to prove it because the piece of the file that they may have downloaded from you could technically have been created as a block from a different file, like a family photo. Since ipfs gives back the same hash for each similar content block, and it breaks files down into 256b chunks, theoretically could this same scenario happen here? Could a picture that is broken down into blocks overlap some of the same blocks from, say, a movie file?
Thanks in advance!