Fair warning, today’s article is going to be a little more speculative than usual. However, it is a fascinating thought experiment, so I hope you’ll bear with me.
Recently, this image has been making the rounds in the Bitcoin community.
In a nutshell, it makes the argument that the communication delay imposed by the speed of light makes it impossible to maintain a single Bitcoin network across multiple planets. This is because the time it takes to broadcast your newly mined block across the interplanetary void is so great that a block or few will already have been mined at the destination by the time yours arrives, orphaning it and rendering your work useless.
In order for this to be relevant, let’s stop for a moment to talk about exactly how specific the future has to be for this to be a relevant technical concern. First off, the Bitcoin advocates have to be right that, in the long run, decentralized cryptocurrencies are how money works. We will neither go back to using centralized digital currencies nor develop a better decentralized solution than Bitcoin-style proof of work schemes. It also assumes that Elon Musk’s big dreams work out, and we find ourselves in a situation where humanity has an independent colony on at least one other planet that’s large enough that moving money back and forth between planets is a serious problem. We aren’t talking about a dozen NASA employees shivering in a mylar tent in a crater. We’re talking cities.
But, if we get over how unlikely this future is, it’s actually an interesting question. If you did want Bitcoin to scale to international distances, how would you do it? The boring answer is simply to use a centralized, trusted network to move money between planets, but say we don’t want to. The slightly less boring answer is to adjust the network to extend block times to give everyone in the network time to participate.
The maximum distance between the Earth and Mars is 401 million kilometers, which works out to 22-minute signal delay. Round trip, it’s 44. Right now, it takes about a minute to propagate a message to the whole planetary network. That means that, allowing time for both the speed of light delay and full propagation on both sides of the network, we’d have block times of at least 46 minutes. That might be acceptable, with some big caveats, but what if we have a colony on a moon of Saturn, one and a half light hours away? Clearly, three hours and change is an unacceptable block confirmation time.
This problem is actually worse than it sounds, because hashing power probably isn’t going to be evenly distributed. Let’s go back to the Mars example. If 90% of the hashing power in the network exists on the Earth side of the network, then miners on the Mars side are at a big disadvantage. When a block is generated on the Earth side and broadcast to Mars, it takes twenty minutes to arrive. During that time, the Martian miners don’t even have the information they need in order to start mining a block – they’re sitting on their thumbs until it arrives.
If we actually did use a 46-minute block time, the Martian miners would have literally no time to mine before they had to submit their solution. They’d get the last block twenty minutes after it was mined, and then immediately have to submit their solution for the twenty-minute journey back. Earth, in contrast, would only need to factor in the twenty-minute delay to Mars, putting them at a huge advantage and pricing Mars entirely out of the mining business. In reality, in order to make mining even vaguely equitable, we’d need transaction delays so long that the twenty-minute wait shrinks to an irrelevancy, and you could never eliminate them entirely.
The problem is mitigated a little when you realize that the Martians can save a lot on their electric bills, the primary expense for a mining operation, by simply turning off their computers until the Earth-mined block comes in. Then they’re only really losing on hardware depreciation. Still, the situation doesn’t exactly seem ideal – it seems unlikely that it would ever be possible for Mars to compete for blocks. So how could we do better?
An Alternate System
The answer, I suspect, lies with “side chains,” a concept for an addition to Bitcoin that we’ve discussed before. Essentially, the idea with side chains is that you can run multiple cryptocurrencies, merge-mined together, with a protocol to allow you to “freeze” units of one to create units of another and vice versa, via a “two-way peg.” This lets you have cryptocurrencies with very different properties linked together in such a way that it’s possible to fluidly move money between them without having to use an exchange. That means that you can keep your currency in the form in which it’s most useful. Side chains have some fairly serious security drawbacks, but I think they’re a very good fit for this situation.
Here’s how it would work: Both Earth and Mars would maintain a local cryptocurrency (Earthcoin and Marscoin), which would have a nice, fast block time and would be mined across a planetary network. There would also be a third cryptocurrency, Earthtomarscoin, which would span both planets, and would have a very long block time (probably several hours). It would be merge-mineable with both Earthcoin and Marscoin, and two-way pegged to both.
This has a lot of really nice properties. If you want to spend money locally, you can do it within the planetary network just as we do today with the Bitcoin network – you don’t have to think about interplanetary commerce. If you do want to send money to your buddy on Mars, all you have to do is convert your Earthcoin to Earthtomarscoin via the two-way peg, and then send it to your buddy’s Earthtomarscoin wallet. When the next block occurs, a few hours later, he’ll see the transaction and convert it into Marscoin that he can then conveniently spend. It’ll take a while to get to where it’s going, but that seems fair. You are sending money over four hundred million kilometers of empty space.
On a system security level, this has a lot of other advantages. One problem that crops up with side chains is that it creates an incentive to find the weakest, least-mined side chain at any given moment, and attack it, then move your ill-gotten gains over to the main block chain. Because these networks are geographically isolated by speed of light delay, that really isn’t an option here: attackers can only attack the portions of the network they have access to. A 51% attacker on Mars gets no advantage from the existence of Earthtomarscoin, and if they try to attack Earthtomarscoin itself, they have to deal with the combined hashing power of two planets: Earthtomarscoin will always be more secure than either planetary network, so the system suffers no significant security loss.
Furthermore, this system also eliminates the unfairness to Martian miners that would otherwise price them out. Marscoin will automatically adjust to a difficulty at which it is profitable, regardless of the local price of electricity, computer hardware, and other commodities that might be expensive on the Martian frontier. It will always be profitable to mine Marscoin. It’s true that Martian miners will be at a disadvantage when it comes to successfully mining Earthtomarscoin, due to the delay before they receive Earth-mined blocks. However, since you can merge-mine (essentially) for free, there’s no reason for them not to mine it as well, since they’re going to be mining Marscoin anyway. They’ll wind up mining Earthtomarscoin blocks occasionally, and there’s no reason to turn down the sporadic extra income.
Insofar as I can tell, this is a relatively robust and user-friendly way to expand the concept of a Bitcoin network to an interplanetary scale. In the case of a civilization spanning many planets, you could have a number of interplanetary cryptocurrencies, one for each possible edge in the graph, all pegged and merge-minable together. You’d be able to send money anywhere in the solar system at a delay of only a multiple of several of the actual speed of light delay. We can even imagine extending this system by adding yet another hierarchy of meta network, with block times of years or decades, which bridge the economies of different solar systems together. This, however, is beginning to get out of my comfort zone for even wild speculation.
For all the advantages of the system described, it does introduce some interesting new difficulties that are worth talking about. For starters, it seems likely that the internet connectivity between Earth and Mars is going to be fairly limited, possibly depending on a single orbital transmitter, in the way the current Mars missions do. In that case, it’s possible that an accident or act of terrorism could entirely disrupt communication between the two planets. In that case, the Earthtomarscoin network would fork itself. The Earth side would continue to mine blocks mostly as though nothing had happened, and the Mars side would as well, albeit more slowly, due to their reduced pool of hashing power.
This is a problem, because both sides have access to the two-way peg mechanism regardless. Imagine the following scenario. A group of unscrupulous criminals collect an enormous amount of money (perhaps by borrowing it) and move to Mars. Once there, they convert it all into Earthtomarscoin. Then, they blow up the relay station carrying traffic back and forth from Mars to Earth. Once the internet has been segregated, they take their money back out of the two-way peg and convert it back into Marscoin. Then, when the connection is re-established, the Earth version of the network arrives at Mars, and has much more hashing power behind it than the Mars version. The Mars version of the block chain, in which they’ve destroyed their Earthtomarscoin, is replaced by the Earth version, in which no such thing happened. Their wallet balance restored, they are free to withdraw their money again through the two-way peg, doubling their initial investment with a minor act of terrorism.
This attack is interesting to me, because it occurs to me that (in principle) it could be performed right here on Earth, right now. A handful of undersea cables carry all internet traffic across the Atlantic ocean. It’s not out of the question that a sufficiently motivated attacker could disrupt international internet traffic for a few minutes in order to double-spend their Bitcoin overseas. The attack would be even easier on small countries: Armenia lost access to the global internet for five hours once because an elderly woman cut through a single fiber optic cable with a shovel. You wouldn’t have the luxury of a two-way peg, but if you could sell your Bitcoin fast enough, you might actually be able to successfully do a double-spend this way. More so if you have an inside man with a particular ISP, who can help make the sabotage go more smoothly. This attack isn’t hugely practical, either right now or for the hypothetical Martians, but it is interesting, not least because I’ve never heard it described before.
It’s probably clear to most of you that the analysis in this article is more than slightly silly. We’re looking at a very specific, very distant future for any of this to be relevant. It is, however, not as silly as it might look at first glance. We should be thinking about this for the same reason we should be thinking about the miner-bandwidth problem, even though the network isn’t big enough yet for it to be relevant: because Bitcoin is ambitious. I think Bitcoin is important for people to remain free and wealthy, and I want it to replace other forms of money, not just in the near future, but for all of it that I can foresee. At some point, presumably, humanity will be an interplanetary species, and I’m glad to know that, when that day comes, Bitcoin will be able to help.