1. 35
  1.  

  2. 11

    What grinds my gears about IPFS is it’s not a protocol I’d ever want to deploy for inter-planetary usage. It has a lot of back-and-forth and not very high-latency-friendly.

    1. 7

      They just use it as a buzzword imho. For real interplanetary protocols, I only know InterPlaNet.

      What did they actually use for the Mars expeditions?

      1. 1

        My understanding (which should not be taken as truth) is that it’s closer to how, say, walkie talkie’s work. There is no protocol as the internet generation understands it, it’s just raw data you know how to interpret.

      2. 2

        I’d call up the Spanner team if working on low-latency, interplanetary use. They already did it intra-planetary. Them and some NASA folks obviously.

        1. 6

          I’m assuming your comment is not satirical and that you are implying the Spanner model is appropriate for interplanetary use.

          Given the current understanding of things, the Spanner model, I believe, is not appropriate for interplanetary use. Spanner is a CP system which has the following assumptions:

          1. Latency is low, in the milliseconds, possibly hundreds of milliseconds.
          2. The network is reliable. All Spanner traffic goes over Google’s magical network.
          3. Clocks can, and are, easily synchronized.

          For the foreseeable future, I believe none of those assumptions apply to interplanetary communication.

          1. Latency is high. Even between Earth and Mars, one way travel time is a minimum of 4 minutes and a maximum of 20ish minutes depending on where they are in their orbits.
          2. The network is not reliable. Right now we depend on the Deep Space Network (DSN) to do all communications and that is both expensive and a precious resource. Even if we expand the communications offerings, it will be expensive and scheduling will be required for awhile back-and-forth communication unpredictable. For things farther away than Mars there are plenty of reasons that communication can be interupted or other celestial objects might be in the way and we can only communicate for a few minutes.
          3. Synchronizing clocks doesn’t necessarily make sense on different planets or floating out in space. What clock to synchronize on? Also, I’m not sure how deep-space friendly things like atomic clocks are. Maybe someone more knowledgeable on this is on lobste.rs.

          But Spanner is a database that gets to use underlying IP protocols and all that. One problem that exists in interplanetary communication is nobody has really done a good job of solving the communication protocols. There is BUNDLE from the Delay-Tolerant Networking (DTN) people but, IMHO, BUNDLE is crap. It doesn’t do clear things you want in such a situation and it has odd choices. The two clearest being it doesn’t do checksums of the data on hand-off so you can detect early if data went bad and it uses UTC as the timestamp everywhere, which makes little sense.

          But if we figure out the communication protocols, I believe interplanetary communication will be an eventually consistent problem. We aren’t going to be able to beat the speed of light unless there is a major revelation in physics which means there is a well known, rather large, minimum latency for communications with most things once you get out of LEO. So you’re back at what communication was like between the New World and the Old World, except you don’t have physics on your side saying that there is a faster way to communicate.

          If we take a Mars colony, I think, at least for awhile, most content Martians consume will be generated on Earth, so we’ll start out with a lot of caching and mirroring of popular content with less popular content requiring an hour or so delay between request and receiving. So getting a webpage will have to be more like “Get me cnn.com and all of the assets on it” rather than this back and forth parsing and fetching. Eventually Martians will develop their own content, assuming they don’t die, in which case we’ll need a model that lets both sides produce data and integrate it. Something, conceptually, like IPFS could make sense there except the actual request/write protocol would need to be high-latency friendly. But for dynamic content, I think CRDTs or eventual consistency of some kind will likely be the model that we have to use.

          But I’m just an amateur who is fascinated by interplanetary communication so I could be completely wrong.

          1. 4

            “I’m assuming your comment is not satirical and that you are implying the Spanner model is appropriate for interplanetary use.”

            It was semi-satirical since I thought you were kidding around. It was a barely-thought-out reference based on how they use precise, time sources to guarantee consistency of data stores that are geographically separated. They use their network because it’s available. If it wasn’t, they’d use a different network with different performance characteristics. The consistency could be done similarly if they were willing to do a long, long wait time for the global sync.

            You did a great write-up on it. I agree with about all of it. What I’ll add is that the chaotic nature of space means a lot of communications will be throwaway. Neither the network nor the devices will be considered available. The latency is horrible. The model will be eventual consistency. If comparing to existing tech, it would be like email store-and-forward model over burst transmission. Things would hit one or more receivers, they’d decide where to send it, and blast it again at full power. Unless they’re the destination.

            In the early days, they might also use Scuttlebutt which IPO’s relatively quickly:

            https://staltz.com/an-off-grid-social-network.html

      3. 5

        I’m not sure that IPFS could actually replace HTTP, how would it deal with dynamic content? It seems to work really well for static, and in theory would be resilient to DDoS.

        1. 7
          1. 2

            Couldn’t you use an Event Store style? This way you can have write only data representing some mutable content.

            1. 2

              Dynamic content is a fundamentally different problem than static content; the trust model must be inherently different. In particular, it’s impossible to know what the content will be in the future, so you need to trust some authority to make a decision as to what is the “same content”, but newer. Thankfully, we can do this trustlessly and P2P via systems like Namecoin. E.g. a piece of content could be indexed by a namecoin identifier, and the latest data associated with that identifier on the namecoin chain is the newest version of the data (or its hash).

            2. 4

              I want to like it, but I cannot find a use case for me. What do you folks use it for?

              1. 2

                Here’s a The Changelog podcast episode about IPFS: https://changelog.com/podcast/204

                Juan Benet joined the show to talk about IPFS (InterPlanetary File System), a peer-to-peer hypermedia protocol to make the web faster, safer, and more open — addressed by content and identities. We talked about what it is, how it works, how it can be used, and how it just might save the future of the web.

                1. 2

                  Shocked his hasn’t been posted here before.

                  1. 2

                    Anyone here who hasn’t heard of IPFS already should get their membership revoked :P

                    1. 1

                      there have been some articles here