> The benefit of this is that you can fetch the data from anywhere
Only works if the data I want is being replicated in many locations. But storage in spacecraft is presumably a tightly constrained resource, due to the need to use technology that's space-hardened and has an extremely good reliability record, and is therefore probably far from being both cutting edge and high density. JWST, for example, only has 68GB of storage despite being an instrument for taking high resolution photographs.
I would guess that that creates a situation that is very far from the one content-addressable storage is trying to solve. The goal isn't on-demand access to arbitrary files that are just sitting around in long term storage, because I'm guessing that, in space, there is effectively no long-term storage of data files in the first place. Instead, what you're looking to do is to get the data off of the spacecraft and down to earth as quickly and efficiently as possible, and then delete it from the spacecraft's storage so that you can make room to do more cool space stuff.
And I also don't want to be using my spacecraft's SSD to cache or replicate data for others if I can possibly avoid it. That will unnecessarily shorten the lifetime of the SSD, and, by extension, the piece of hardware that I just spent millions or perhaps even billions of dollars to build and launch into space.
And I just can't follow you as far as
> imagine being on the moon and requesting some website
because, right here right now, that is such a hypothetical situation that I have absolutely no idea why it needs a real-world demonstration of proof of concept using currently-available technology. Let's wait to see if browsing the Web from the moon leaves the domain of science fiction and becomes science reality first, so that then we can benefit from whatever technology exists in that future when we're solving the problem.
So I just want to point out that IPFS was fairly deliberately designed to have numerous, forward-compatible features that could be swapped out in the future : like https://multiformats.io/ and in particular https://multiformats.io/multiaddr/ .
In the IPFS community, there's always been a fairly heated discussion about which bit of the entire system should be stuck with the term IPFS. Like, if you took away the libp2p protocol, and just served CIDs over http, would it be IPFS? What if you took away CAR files (the merkle-tree file format used to define multi-item content)? What if you're a private IPFS network, with no shared nodes with the public network (like https://github.com/TryQuiet/quiet ). What if you didn't use bitswap, the file transfer protocol (Filecoin doesn't use bitswap, and mostly doesn't interconnect with the main public IPFS network). What about if you didn't use a DHT to find providers of a CID. What if you're not using any of the "IPFS" software stack, but your implementation still uses bits and pieces of content-addressability as defined in the standard?
Interestingly, right now, there are a bunch of experiments going in all of these directions: I think it's fair to say that if you wanted to test out content-addressable networks across the solar system, they probably wouldn't be IPFS as it is now, but their nature could probably be described using the primitives the IPFS stack uses, and learning about what needs to change would give a useful direction to some part of the extended IPFS ecosystem.
Yes, the actual transfer won't be fetching from multiple sources unless it's replicated.
The difference between location-addressing and content-addressing is that it enables the content from being fetched from anywhere, which has uses outside of space too, as many storage solutions has already discovered since long time ago (multiple decades).
> SSD to cache or replicate data for others if I can possibly avoid it. That will unnecessarily shorten the lifetime of the SSD
Correct me if I'm wrong, but SSD lifetime is based on writes, not on reads. So you should be OK with replicating already saved data, in that case?
> that is such a hypothetical situation that I have absolutely no idea why it needs a real-world demonstration
The whole "IPFS in space" is a "utopia goal" of sorts, but aiming for it gives us benefits today.
Personally, I'd love to see a move from location-addressing to content-addressing as I'm often in locations with spotty global-internet connection and really poor latency. Sometimes, websites refuse to even try to serve me data, as it takes really long time for packets to go between where I am, and the host I'm trying to reach, so they decide to cut the connection as tell me "sorry, timed out..."
If the web was already built with content-addressing in mind, my machine could automatically fetch the content from another machine on my network, my neighbor, a dynamic cache at the ISP or wherever, anyone could serve me that data instead of that particular node with that particular IP on the other side of the world. Sharing a YouTube video between two computers on the same network would just transfer bytes on the local network, instead of reaching out to the internet. The benefits of this should be fairly obvious to anyone who is familiar with networking today.
Realistically, I don't think IPFS will be the technology that makes this possible in 10+ years, but that doesn't mean content-addressing itself is the reason why it isn't more widespread. Content-addressing been around for a long time already, and I'm sure even more and more people will realize its value over time.
I don't think the lack of content-addressing is the main thing holding this "utopia" back. The bigger problem is designing P2P communication protocols that work efficiently, utilize bandwidtch fairly, are not easily attackable, do not accidentally cost peers excessive amounts of money and so on. If your neighbor is on a metered connection, I'm sure they are happy the web is not using their machine to serve you content. Even if they are not, if connections are spotty and bandwidth limited, they may not be happy if their YouTube video starts stuttering because their system is now serving you Netflix content. And when they're watching porn, they're probably happy that someone else can't easily find out which porn movie they are watching by polling nearby peers for a content hash.
Ultimately the client-server model has major advantages over peer-to-peer that are highly ingrained in our society. It is the model by which delivery has almost always worked, way before the internet.
You can add distributed caching to HTTPS with message signatures (or a similar scheme): https://httpwg.org/http-extensions/draft-ietf-httpbis-messag...
Imagine shipping an IPFS node to Mars and being able to have content consistency
See, for example, DTN, which is already being used to do real work on the ISS. There are also plans use it elsewhere, including in some future lunar missions. https://www.nasa.gov/communicating-with-missions/delay-disru...
CAS is a separate issue than a caching hierarchy.
CDNs usually offer location-addressing, sometimes via different ways but most of the time boils down to "I have to reach that specific node to fetch this specific content". I'm not sure in what other words I could use to explain how content-addressing is different from that...
(not even talking about IPFS at this point (or in my grand-parent comment), it's just about URIs vs URLs in the end)
(edit: besides, the CDNs you're talking about are with 99% certainty using content-addressing all over the place internally)
Also, even for a peer-to-peer network, you still need some way to discover the peers that actually have the data, so you need some kind of centralized infrastructure that can help coordinate. Ultimately whether you connect to a CDN or to the centralized P2P facilitator is not such a massive difference.
Also, given the way ISPs typically operate, you will probably have much better bandwidth downloading from a centralized server than from a generic other end-user.
This is why BitTorrent only really has two successfully deployed use cases:
1. Windows updates and similar, where machines can rely on broadcasts on a small LAN to coordinate without needing more complex infrastructure (doesn't scale beyond LAN)
2. "Piracy", where the major advantage is that it diffuses the blame for copyright infringement, instead of presenting a single large target that holds all of it.
Reality is the space thing is just part of the usual crypto grift narrative building.
Being able to arbitrary place caches anywhere and let anyone serve the data, and you can trust you're getting the right data, is a huge benefit over location-addressing. Ignoring IPFS, content-addressing makes sense for so many things, which is what lots of storage/caching/CDN solutions have discovered decades ago.
Content-addressing is nothing new (nor did Protocol Labs/IPFS "invent" it) and if you're using a CDN to serve content today, the CDN is with 99% certainty using content-addressing at least internally.
This is the grift.
The "libertarians" want to be able to host their CSAM, sorry, their "freedom materials" on everyone's servers in such a way that nobody can ever "silence their freedom" because it would mean silencing the cat gifs, too. Want to be "on the net"? Well, you absolutely have to agree to host anyone else's content without question at all times. But, it's okay, we'll pay you with... coins!
Besides, how on earth is your argument even relevant when we're talking about content-addressing as a whole, without involving IPFS at all?
Lots of things use CAS, not just IPFS.
The specific case you outline can be served by existing technology, without having to introduce magic coins, beans, or other distractions.
I was pretty interested in IPFS prior to it being overtaken by web3 grifters.
Or once its in the network thats it?
Seems easy to DDOS by changing one character many times in a file which generates a new id each time
The same as you'd delete anything from any protocol essentially, you delete it locally. If you've shared it on the internet, you ask people nicely to delete it, if they refuse, you either pursue them legally or give up. Basically, just like how you delete a picture from the internet today.
> Seems easy to DDOS by changing one character many times in a file which generates a new id each time
All you're doing in that case is adding more files locally and filling your hard-drive with random files. No content gets automatically distributed unless people request it.
This complete nonsense. First of all DNS can give you multiple IP addresses[1] (that's how CDNs work eh!) and then IP addresses are only very loosely coupled to geographical locations…
[1]: https://www.cloudflare.com/learning/dns/what-is-anycast-dns/
Edit: I removed the "geographical" from the "pointing to a IP which has a specific geographical location" part. Hopefully it'll make things clear enough while not over-simplifying it.
Instead, IPFS uses content-addressing, where the content is hashed and given a ID based on the content itself. So "foo" could have the ID A, while "bar" could have the ID B. No matter who added the content to the network, if the content is the same, the ID will be the same.
The benefit of this is that you can fetch the data from anywhere, and you'll get the data you wanted guaranteed (assuming the content is available somewhere on the network).
In terms of space, imagine being on the moon and requesting some website. With location-addressing, you have to be able to reach that particular node, and the data has to travel from there to you. With content-addressing, that content can be fetched from anywhere, maybe another node on the moon has it already, so it can fetched quicker from there, or some node in-between the moon and earth.
More reading about content-addressing: https://en.wikipedia.org/wiki/Content-addressable_storage
Magnet links and git are two fairly common technologies that uses content-addressing with lots of benefits.
(edit: of course, this is a simplification of both how IP, networks, IPFS, DNS and more works, but I hope it provides a fair overview at least)