Now, it's kind of a common knowledge what the 50%+1 attack is, and how it allows attacker to rewrite transaction history.
My idea is, does it really matter to me (as an attacker) to launch the attack and only rewrite the last block (or few blocks)? why not redo the whole block chain and screw it up for everyone?
Lets say I download the first year or two of BTC blockchain, before the time of GPU mining, so the difficulty would be pretty low and can be easily overwhelmed with couple GPU cards. Then, I use a custom GPU miner that will find a block at exactly 10 minutes, because the difficulty is very low, running in an isolated fully controlled environment, and running a custom miner, it shouldn't be hard to generate a block every other minute.
I know there's difficulty change every 2 weeks worth of blocks, but since the blocks are generated with malicious time stamps of 10 minutes delay and I'm running in a controlled environment, it's very easy to trick the system and hold the difficulty at constant level that allows me to keep mining blocks and rewrite the whole history since 2010 for example.
Now, up to this point the whole thing is being run in an isolated controlled environment 'malicious net', so the 'main net' doesn't know about it, what I do next is to mine up to a couple weeks in the future and stop 1 block after a re-target block, then distribute the 'malicious net' on multiple servers to increase upload speed and hit multiple nodes at same time (still not exposed to 'main net') and wait till the re-target happens.
Once it happens, I open my malicious servers to the 'main net', and because I have a longer chain, clients would start to use it, and because it has low difficulty, it'll find more blocks faster and poison more clients with my 'malicious net'.
I've picked to stop at a re-target block because it usually takes a bit longer for miners to find a block after it, giving me more time to distribute my 'malicious net'
This type of attack wouldn't be carried overnight, it will take couple months of preparation for sure.
Is such attack possible in theory? if not, then why? if so, what effects would it bring to BTC? and how would we prevent it??
I've originally wanted to test this idea in a local setup before bringing it to public, but I don't have enough technical knowledge to implement it.
The stage on which an organization sends their private blockchain significantly impacts its security highlights. There are likely outcomes for individuals with sick goals to abuse the vulnerabilities in the system framework. To maintain a strategic distance from such a situation, one ought to incorporate security includes in the foundation that: