I'm sure that cryptocurrencies will play a huge part of the economy across the solar system, when we have colonized many different planets, moons, and asteroids. But there are problems with using a single coin for the entire solar system. Let's just start with the example of a Mars colony. Long distances mean long delays in communication so it would take a very long time to get confirmations of Bitcoin transactions that originate on Mars. That could be problematic. Additionally, people on Mars could never hope to mine bitcoins because the average communications delay between Earth and Mars is 20 minutes one way, which is twice as long as the ten-minute blocks of Bitcoin. So I believe that a different coin would be best for each planet. But here's the crazy part. Even if Mars had its own coin (let's call it Marscoin), Earth would most likely have more computer processing power, so miners on Earth could download Marscoin's block chain and extend it faster than the miners on Mars. Then the miners on Mars would no longer be able to mine Marscoin. Then we would be back to the same problem of using Bitcoin on Mars. So, I think someone would have to create a coin that can somehow be planet-specific, so that longer block chains from other planets will always be rejected.
Simply limit the block target (i.e. 10 minutes) to the speed of light (300,000 km/s).
Unless there is some wormhole or other unknown to reduce this limit, Bitcoin is safe from honest mining from any planet outside of 180,000,000 kilometers away (300000km/s * 60 sec * 10 minutes) since any miner can't keep up with the blockchain and would get any block at about the time the next block comes out.
Someone with more advanced technology / more hashing power could create a 51% attack and submit it to disrupt the Bitcoin economy even outside of this radius.
If hashes are cheap on Earth, you want them exported to Mars to improve the security of the Martian block chain. Exporting hashes is easy to do in the stateless manner we expect from decentralized Bitcoin technology.
Each block on a block chain is protected against modification by the proof of work it shows and by the proof of work shown by the blocks that follow it. This proof of work is communicable---the work done in one chain can be applied to another chain.
So, for example, we have Marscoin and Bitcoin. Bitcoin (still focused on and near Earth) is by far the stronger chain. Marscoin is great for local transactions on Mars, but nobody trusts it for serious savings because its network difficulty is much lower than Bitcoin.
However, some people on Earth start to include hashes of recent Marscoin block headers in their transaction outputs (maybe using ContractHashTool to do this as a part of their regular transactions).
Following a soft fork of Marscoin, Marscoin full nodes download both the Bitcoin block chain and the Marscoin block chain. Looking at the Bitcoin block chain, they find the first Marscoin header hash encoded in an output and look at how much proof of work is protecting that transaction on the Bitcoin block chain. They add that proof of work to the corresponding block on the Marscoin block chain---now that block is protected by the combined hash rate of two planets! For example:
Bitcoin Block 10,000,000
- Confirmed 100 times
- Protected by proof of work equal to 10^72 hashes
- Has a transaction that references Marscoin block 50,000
Marscoin Block 50,000
- Confirmed 200 times
- Protected by native proof of work equal to 10^48 hashes
- External proof of work adds an extra 10^72 hashes
The Marscoin full nodes perform the same calculation for any other Marscoin header hashes found in the Bitcoin block chain. Now attacking all but the most recent Marscoin blocks requires attacking Bitcoin at the same time.
To prevent denial-of-service attacks against recent blocks, methods like Gavin Andresen's require-priority idea can ensure high-priority Martian transactions get through even if malcontents try using cheap Terran hash rate in short-chain 51% attacks.
Now Terrans and Martians can live in peace and harmony---all thanks to Bitcoin. :-)
TL;DR: Whatever block interval one employs, another planet with greater mining power will eventually overtake the local blockchain. It would only be possible to lock other miners out by adding low-depth checkpoints.
MarsCoin starts a new blockchain with a 2 minute block interval, they have one Unit of Mining Power [UMP] at their disposal with a new MarsCoin specific mining algorithm.
Some traders from Earth start using MarsCoin for their transactions with Mars colonists. They get blocks with a 20 minute delay (as proposed in the question). After a while they realize that the MarsCoin mining rewards are quite juicy and technology is much cheaper on Earth than in the underdeveloped colony: They create mining equipment with 2 UMP, allowing them to find blocks twice as fast than on Mars.
- -20 minutes: Mars is at Block X and broadcasts it to Earth.
- 0 minutes: Earth receives Block X from Mars, and starts their own mining effort. The difficulty has not increased yet, so they can mine one block per minute for the time being. Mars is at Block X+10.
- 2 minutes: Earth receives Block X+1 from Mars, but Earth is already on Block X+2 on their own chain. Earth subsequently outperforms Mars and continues mining on their own chain. Mars is at Block X+11.
- 21 minutes: Mars receives the first block Block X+1 from Earth and discards it, because Mars found Block X+20 at 20 minutes. Earth is at Block X+21, and received Block X+10 last from Mars.
- 61 minutes: Mars receives Block X+41 from Earth, Mars is at Block X+40. Earth's chain's total proof of work is greater than Mars' chain's. Mars' chain is discarded in favor for Earth's. Mars' miners lose the mining reward of the last 40 blocks. Earth is at Block X+61.
Neither distance, nor block interval are sufficiently prohibitive. As long as the other planet has more mining power it will eventually overtake the local blockchain.
Addendum: Short block interval with checkpoints at low depth
When I just read this question again, I thought of another thing. If one was hellbent to keep non-martian mining efforts from bearing fruits, one could introduce a sliding checkpoint scheme. In my above example, where I was prescribing a block interval of two minutes and terrestrian mining was twice as fast as martian mining, it would take a reorganization of more than forty blocks for the terrestrian chain to replace the martian.
If the community of Mars agreed upon forbidding chain reorganizations of more than 15 blocks (which at two minute intervals is less time than that of a radio wave roundtrip) by adding every block with 15 confirmations to the checkpoint list, terrestrian miners would be able to fork themselves from the Marscoin chain, but would never be able to take over the martian mining.
This came from bubfranks on reddit:
"Oh fun! Let me try. Given a random stream of bits that was impossible to predict, but agreed upon by local miners, reject blocks that do not include a valid bitstream. The probability of getting scooped by a cooperation between external hashpower and an internal node would be a function of the speed of light, distance between the attackers, and length of a valid bitstream."
why don't we just increase block confirmation time from 10 minutes to 1 day for specific interstellar fork. I think the whole day of unconfirmed transactions is okay for interstellar network & will expand the radius draasticaly.