7
1
Let's say someone creates a blockchain fork starting from the genesis block, when the difficulty was absurdly low compared to today; then he starts mining new blocks from there up to the current block index.
Normally, this would require such an amount of time to make it completely impossibile to catch up with the real blockchain; even if he used today's powerful mining hardware, the difficulty increase would compensate for it quickly. But, here's the catch: he customizes his mining software to not ever increase the difficulty, even if it's mining hundreds of blocks per second; block timestamps are simply faked in order to make it seem they were generated at ~10 minutes interval.
When the fake blockchain is longer then the real one (currently ~300000 blocks), he starts broadcasting it; it appears to conform to all rules, and it's longer than the current one, thus all clients and miners treat this as a winning fork and switch to working on it. Of course, difficulty increases abruptly as soon as the full network hashing power is thrown at it, and after some time block generation resumes normal levels.
But now the creator of the fake blockchain owns all Bitcoins that have been generated from the genesis block to when he released it.
Is this scenario actually possible? If not, why? How would Bitcoin nodes reacts to a 300000-blocks-long fork? Is there a limit on how long a fork can be?
2"he customizes his mining software to not ever increase the difficulty" This would make the blocks incompatible with standard Bitcoin clients. – Tim S. – 2014-05-07T16:31:48.573
1Not if the blocks have fake timestamps which make it seem like they were generated about every 10 minutes; that generation rate would not trigger a difficulty increase. When the full fake blockchain is released, it would seem like it was generated by a constant amount of hashing power which never required increasing the difficulty. – Massimo – 2014-05-07T18:09:12.100
2Hm, I suppose you're right, with one big catch: in order to get 300,000 blocks generated every 10 minutes with constant (low) difficulty and forged timestamps, you'd need the total time period to be longer than the real blockchain's time period. This causes problems, but as Nate points out, it's the difficulty that's the real criteria, not the length, so it's irrelevant. – Tim S. – 2014-05-07T18:49:12.027