5

If one or a few computers with blockchains from a future time line were connected to the Internet today, what would happen? This other question in Worldbuilding focus on possible consequences, but with this one I am trying to focus on the technical details that would allow or prevent a synchronization to happen. Here are a few sub-questions/ideas I would like to focus on:

  • Would Bitcoin reject a future blockchain (a.k.a. FBC) immediately?
  • If a larger number of computers (surpassing any other collective group) with the same FBC connected now at the same time to the Internet, would others be forced to synchronize to that blockchain?
  • If multiple different FBCs connected, would any of them be synchronized? Which ones and why (furthest or closest to the current time)?
  • Is it possible to simulate an FBC? (e.g. by creating transactions in a future timestamp and synchronizing them)
  • In the event of a full synchronization with an FBC would transactions be possible? What would be "new blocks"?

I am new to crypto-currencies and to this SE site, and I only found this question with some resemblances to mine, but if you have suggestions which add further details/examples or improve this question, please let me know.

  • 1
    HaHaHaH, I like the idea very much, only one thing, how do you know, the blockchains that appear today does not reappear in the future, or are existing in more then 1 timestamp. There you can access data that is from another time, or will never happen. What about the quantum computing, it will calculate more then 1 dimension, for his complexity nature. – iamroot ipcsdemo Oct 7 '16 at 23:22
  • sorry,,,too tired to continue...but I like the destination of that idea :) it can bring lots of "what if", but now what if I go to sleep is the ultimate solution. – iamroot ipcsdemo Oct 7 '16 at 23:24
4

Extremely creative question. Most of UTF-8's answer is correct. I'd like to observe a few consequences:

  1. If someone brought a future blockchain to current reality and even 11 blocks were immediately accepted, you would have some serious chaos. People that didn't spend bitcoins from their wallet would suddenly see money they were going to spend in the next two hours gone. Exchanges would see outputs of a lot of their money that they would have had to send out in the next two hours gone to people that were about to, but didn't yet ask for them. Same with merchants that deal with bitcoin, people would have paid money to addresses that may not have been generated yet!

  2. The big thing about the future blockchain is that you have some serious replay attack vectors. Once future blocks are known, pretty much anyone can replay these transactions as long as they're valid and include them instead of transactions that try to spend the same UTXOs.

  3. There would probably be a hard fork quite quickly to preserve the value of bitcoin that renders all blocks and transactions from the FBC invalid. The competing FBC chain wouldn't have any value since you can't create any transactions on there and some amount of hashing power has gone over to the new fork, making it extremely difficult to catch up to the FBC chain in any way.

  4. From a world-building perspective, the most interesting consequences would be the potential future you got a glimpse of. You would know that you spent some amount of bitcoin 17 days from now, but for what purpose?

  5. The evidence that FBC is actually from the future would be really compelling. First, the proof-of-work on a future blockchain, if it's more than a year in the future, for example, would be astronomically high and nearly impossible to fake. Second, people would see signatures to their own private keys on the chain that they never generated. Again, really convincing proof. It would certainly spawn research into time-travel =)

2

would Bitcoin reject a future blockchain (a.k.a. FBC) immediately?

Only in part. There will probably be some blocks which are earlier than the network-adjusted time + 2 hours (which is the criterion which has to be fulfilled to prevent block time drifting off to the future). Those will be accepted by the network. If the block time previously was spot-on and the first blocks of the future blockchain have been (or will have been ;-) ) mined in the designated 10 minutes intervals, this means that the first 12 blocks after the time of introduction of the future blockchain will be accepted right away.

Since the future blockchain up until those 12 blocks into the future is longer than the previous one is longer than the previously present one, it by definition is the effective blockchain. This means that miners will start to mine on top of it.

The miners may be too slow to mine new blocks (slower than the blocks of the future blockchain become valid) for some time, but there will be a point (probably fairly soon) at which the miners of the present create a longer valid blockchain which then becomes the effective blockchain. It is – of course – possible, that after that they'll take some more time to mine the next block(s) and the future blockchain takes over again because its valid part is longer than the blockchain the miners from the present worked on. This will change the amount of money people have around.

If the future miners have more computational power than the present ones, this game (statistically) continues until the future blockchain has become entirely valid due to time passed and bitcoin will probably have lost its value due to unreliability. If it's the other way around, the blockchain of the present miners will (statistically) win at some point.

if a larger number of computers (surpassing any other collective group) with the same FBC connected now at the same time to the Internet, would others be forced to synchronize to that blockchain?

Miners aren't forced to do anything. They choose to follow the consensus rules. They will accept the new blockchain if it matches their definitions of the effective blockchain and won't if it doesn't. This can happen, for example, if in that future time line a definition which is incompatible with the ones of the present time line is agreed upon. For example, the miners in the future time line could have agreed to increase the maximum block size to 1.5 MB. This will be used at some point, probably very soon after that agreement has reached validity. Then there will be a block in the future time line which exceeds the 1 MB limit of the rules the miners of the present agree upon, rendering the future blockchain beginning with that block invalid.

if multiple different FBCs connected, would any of them be synchronized? Which ones and why (furthest or closest to the current time)?

Should be self-explanatory from what I already said.

is it possible to simulate an FBC? (e.g. by creating transactions in a future timestamp and synchronizing them)

Rather "not telling others about it for some time". Sure, would be possible. You'd need enough hashing power to carry a 51% attack out, though. If you don't have more than half of the hashing power to do so, this means that the rest of the network will generate a valid blockchain into the future faster than you, probably before you get to reintroduce yours. It is, however, possible that you can go a few blocks ahead even if you don't have at least half the hashing power of the rest of the network combined. But not for very long because that's statistically unsustainable.

in the event of a full synchronization with an FBC would transactions be possible? What would be "new blocks"?

There are transactions in blocks. To be more precise: Per definition, there is at least 1 transaction per block (the coinbase transaction). Every time a blockchain of the present time line takes over, its transactions become valid. The other way around, of course, every time the blockchain of the future time line takes over, its transactions become valid. Realistically, of course, the blockchain of the miners of the present will always build upon the valid blocks of the blockchain of the future*, making the transactions of the future blockchain up until that point valid.

After the present miners take over at 14:00 building upon a block which became valid at 13:53 because the next block of the future time line's blockchain will only be valid after 14:02, the transactions included in the block they mined will be valid. They will, however, become invalid, if they don't manage to mine blocks building upon the one they just mined before the next blocks of the future time line become valid at 14:02 and 14:04. Then, the future blockchain will be longer and therefore the effective one.

So transactions would be possible and the miners would include them in their blocks but their validity may change retroactively because the blocks they are included in may not be in the longest valid blockchain anymore at some point in the future.

 * Of course, there probably would be miners noticing that they are better off starting to mine on to of a block which isn't valid yet but will be in the future. They would – provided they change their software fast enough and neglecting the impact on price of bitcoin such an event has – start mining on top of a block forming the end of a sequence of blocks with short block times as their block then is likely to form the head of a new, longer valid blockchain.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.