What would the challenges of transacting in outerspace be for bitcoin? What improvements need to be implemented to address these challenges? I'm particularly curious about low-earth orbit.
Biggest problem facing spaceborne bitcoin is communications latency. Consider possible Mars colony.
Light speed imposes delay, 4 to 24 minutes. Bad enough this is. If miners on both Earth and Mars, each comes up with new block, possibly extends blockchain twice more, before signal from other crosses distance. Means very long transaction confirmation time, for colonists (assuming on Earth most mining power). Transactions fine going into local blockchains, but those blockchains not continuing. Only when individual transaction records reach Earth (meaning lightspeed delay at minimum) does it get into chain that will more likely continue. Then must wait while more blocks close at ten minutes approx. each.
Now further problem appears. High latency causing deeper depth of chains which abort. Colonists wanting to be sure of transaction commitment. To be as sure as six blocks deep in earth-only chain, must being nine or more blocks deep in interplanetary chain. So now delay is lightspeed delay, plus maybe 90 minutes. Then lightspeed delay again before news reaches Mars.
When Mars 24 light minutes from Earth, expect delay confirming Martian transactions minimum around 140 minutes. Plus whatever network propagation delay on planet, not usually very significant. Effect much less pronounced when 4 Minutes mars is from Earth; Need only 7 blocks to be as sure, lightspeed delay much less. Expect delay around 80 minutes confirming Martian transactions.
Earth mostly unaffected as long as Mars have not significant mining power. But when real possibility is scenario of Martian blockchain accepted and extended, Earth-only transactions also take ten to thirty minutes extra for confirm. Problem here is not knowing when Martian miner extends chain, so needs more chain depth before sure of confirmation. Still, extra delay only about ten minutes.
Propagation delay problem goes deeper when additional colonies on Ceres, Juno, Pallas, Vesta, Jupiter Moons, &c. Extra time taken for confirm transactions proportional to approximate diameter of sphere containing vast majority of mining power. Adding twice lightspeed delay at least from center of mining power to location for confirmation times at location.
Extra bandwidth too. Extra bandwidth required because of aborted blockchains. Not significant too much in reasonable scenarios, but in extreme case scales badly, with square of distance.
Next, bitcoin client need accurate network time. Establish accurate network time require many iterations of light speed delay. Bitcoin client not worry about. Will be provided by operating system. Must be provided, because MOST network clients want accurate network time.
However, if too picky about accurate, is not really possible (or at least very interesting) due to Relativity. Time passing at slightly different rates closer and further from sun, different orbital speeds, different relative vectors, etc. Einstein is a Meanie.
Now we have meta-problem. Mining not really possible unless mining power on site comparable to mining power at largest other single site. No point mining bitcoin on Martian colony, for example; Due to lightspeed delay your work will arrive 4 to 24 minutes after you do it, and you'll be working with blockchain 4 to 24 minutes older than miners on earth. You must work so hard that you get 8 to 50 minutes ahead of Earth's miners. Very very hard to do.
Interesting though, that if this ever happens, then when Martian extend blockchain, suddenly it is Earth miners who are 8 to 50 minutes behind. All considerations of delay previously working against Mars colony now work against Earth; roles reversed as long as nobody Earth get 8 to 50 minutes ahead of Martian miner. Suddenly Earth transactions face 80 to 140 minute delays, Martian transactions clear in only 70.
Finally, effects of different mining speed various locations on hash rate. Consider where Martian miners have 1/4 power of Earth Miners. Due to high variability of block closures, chance of mining "center" switching to Mars and unfairly favoring Martians as above very real is. So is chance of switching back to Earth and unfairly favoring Earthlings later. When a 2016 block mined, possible that hash difficulty could change suddenly. Possible for hash difficulty swing back and forth unpredictably, one week to next. Miners have maybe very prosperous week, then very dry month when no coins at all, and all go broke. Meanwhile Miners in other location reap huge reward in bitcoin. Depending on value of bitcoin, sudden swings in direction of money movement affect local economies, destabilize things.
But in general, value movement caused by mining would be unfair directed away from smaller locations toward major centers of mining, probably bad for development of frontiers.
Bitcoin by nature would be a fantastic currency for interplanetary travel, if mankind every reaches that stage.
- No physical medium to be transported
- Relatively low bandwidth to conduct a transaction
Considerations to address
bitcoin is highly reliant on having accurate system time
A transaction would need to be based on Earth's UTC time. This opens up additional discussions in relativity that are far to complex for this forum. A mechanism would need to be implemented to compensate for differences in time at each local.
limitations in 32 bit software
Many computer systems may have issues in the year 2038 due to the fact that epic time will reset back to 0 on 32 bit systems. http://en.wikipedia.org/wiki/Year_2038_problem
This is not an issue for bitcoin until the year 2106 because bitcoin uses an unsigned int. https://en.bitcoin.it/wiki/Block_timestamp
Bitcoin mining will stop when it reaches the maximum of 21 million coins A society where humans are physically exploring other planets will likely contain a population too large for bitcoin to satisfy. https://en.bitcoin.it/wiki/Controlled_supply
To answer your direct question, transactions will be delayed by the round-trip time light takes to get to the nearest mining community. With low-earth orbit, this really shouldn't make much of a difference.
That said, the deeper problem once space travel is wide-spread is that the current protocol is inherently space-time centralized. This is because the planet with the most hashing power can control any blockchain, and all others are at a disadvantage based on the light-delay between them and the most up-to-date blockchain.
For example, let's say a bitcoin mining community forms on one of the moons in Jupiter rich in a superconductive material where the average temperature (128K) is low enough for superconductivity (<138K).
The community begins mining bitcoins. However, even though they have a fourth of the mining power of the earth, the light delay between earth and Jupiter of 33 minutes at its closest distance means that they would have to find a block 66 minutes before earth finds the next block, which is completely unfeasible.
Thus the community moves to a new currency called JBtc (Jupiter Bitcoins). At first, they are hashing jBTC merrily by themselves and everything is going swimmingly.
However, the Earthies soon learn of jBTC and get greedy, and since they have much greater hashing power than the Loonies they download the block chain from Jupiter and start hashing 33 minutes behind...
Since the difficulty only included the Jupiterian's mining equipment till that time, they are able to hash a block in 2 minutes. By the time they get their next block from Jupiter 6 minutes later, they have already mined and published 3 blocks, so they stay on their chain since it is longer.
After 35 minutes of the earthies hashing, the Jupiterians receive the earthies first block. The Jupiterlings say amongst themselves, "Silly earthlings, your measly earth-chain is 5 blocks behind the current jBTC blockchain! Mwahahaha!" and continue hashing away on their chain.
After 53 minutes, however, the Jupiterians become enfuriated when they receive the first earth-chain that is longer than their own. At this point, 8 blocks they have mined are now abandoned. Going forward, their Jupiter blockchain has been completely hijacked and they now face the same situation as before which prevented them from mining bitcoins. The Jupiterians stop mining and go into hiding.
The earthlings laugh to themselves in pride at the silly Jupiterians.
1 year later, the Jupiterians emerge, but as they have been manufacturing mining equipment the entire time, they now have 3 times the hashing power of the earth. 53 minutes after they flip the switch, they not only regain control of jBTC, but also they take control of BTC as well.
Immediately, the mining equipment market bottoms out on the earth, so covert Jupiterians on Earth go on ebay and buy all of the earth's mining equipment for a $x plus free shipping, which solidifies them as the solar system's mining leaders.
Or so they thought...
Meanwhile, earth politicians debate sending a nuclear present to the Jupierians and a little community near Alpha Centauri begins ramping up production of a mining community of their own...
Bitcoin, as it works now should work fine in low-earth orbits. I'm pretty sure that anyone currently in space has sufficient internet access and computing resources to view the network, post transactions, and probably even mine. But that's boring...
Beyond low-earth orbits, say more than 5 light-minutes* out, I wouldn't recommend mining. There is a limit to how fast information can be sent. On and around earth, transactions and blocks propagate fast enough such that the network remains pretty much in-sync, as the distance the network spans is relatively small. Expanding to outer space (assuming internet connectivity), blocks and transactions would quickly become out-of-sync with the rest of the network simply because it would take too long for them to propagate. Blocks mined in space would disagree with the blocks mined back on earth and thus be rejected. You could still post transactions to the network and read from it, but the farther you are from earth, the longer your transactions will take to go through (compared to everyone else on earth).
One could mitigate this in at least two ways:
Modify the bitcoin network such that the average block creation time is greater. Although this would lower transaction speeds, there would be more time for the network to sync-up thus lowering the probability of the aforementioned disagreements and thus allowing off world mining.
Initially, I had the thought that one could get around this by having a network of comparable computing power to earth in a space colony to act as a relay node, but this would lead to irreconcilable forks rather than a second compatible network. However, these nodes could be used to create purposefully incompatible networks that use currency to be exchanged with earth's bitcoin (as well as other space currencies) as well as to be used in and around the colony.
*Note: A light-minute is the distance that light travels through space in about one minute --equal to about 18 million kilometers or 11 million miles.
The high latency will likely cause one of the following to occur:
A consolidation of mining power on a single highly connected orbital station/planet. Each transaction has a round trip latency cost, plus a 6 confirmations time cost as well.
Stations/Planets compete for mining power. The latency induced by their distance will cause a number of block chain reorgs, therefore slowing down the overall transaction commit rate.
Difference in up/down speeds. In some deployments, there is a greater ability to download data than upload. This difference may cause delays in sending the block to the main chain.
It's not much different than using a satellite phone/internet to participate in the block chain on the Internet