Pages:
Author

Topic: Attack: if I change the genesis block. - page 2. (Read 2214 times)

legendary
Activity: 3472
Merit: 4801
March 13, 2015, 08:54:41 AM
#2
I have a question which is probably naive, but I was wondering:

suppose I change the genesis block of the bitcoin block chain, and, very important, I change the time stamp of the genesis block to, say, January 15th 2007.

Then you will have created an altcoin.

I now calculate an entirely new block chain from there on, in which i can include all or some of the transactions of the current block chain,

but I put time stamps on the blocks so that they are slightly more separated in time than in the original chain.  As such, the difficulty will remain very low, and I can easily calculate such a chain on my PC.
I could include many more blocks on the new chain, than on the original chain, because I have 2 years more "block chain time" to fill up until now.  As long as I separate all the blocks by somewhat more than 10 minutes time stamps, the difficulty will essentially remain 1, and I can very easily mine all the blocks on my PC.  Now, in order to respect most transactions, I would have to use the same addresses of most of the block rewards, but some, I could change and assign them to me.  For instance, I could assign all the Satoshi rewards of the first thousands of blocks to addresses I own, because they have never been spend.

If I catch up to today, with most transactions included, but many more blocks, and I broadcast this new chain, would it replace the old chain (because the one I broadcast is much longer) ?

No.

First of all, all nodes will not recognize your chain as a valid Bitcoin blockchain since it will have an invalid genesis block.  Furthermore, the protocol chooses the chain with the largest proof of work, not the chain with the most blocks.  Unless you have access to more hash power than the combined global hash power of the past 5 years (or you have discovered some significant weakness in the SHA256 hash function), your chain won't have more proof of work than the current chain.

Of course, lots of strange things would happen, such as the difficulty falling essentially to 1 or so. But strictly speaking, would the bitcoin core accept this new chain over the former one because it respects all the rules ?  Or does the bitcoin core check on the genesis block ?

It checks on the Genesis block AND your chain wouldn't pass the "most proof of work" test for becoming the current chain.
hero member
Activity: 770
Merit: 629
March 13, 2015, 08:35:50 AM
#1
I have a question which is probably naive, but I was wondering:

suppose I change the genesis block of the bitcoin block chain, and, very important, I change the time stamp of the genesis block to, say, January 15th 2007.

I now calculate an entirely new block chain from there on, in which i can include all or some of the transactions of the current block chain, but I put time stamps on the blocks so that they are slightly more separated in time than in the original chain.  As such, the difficulty will remain very low, and I can easily calculate such a chain on my PC.
I could include many more blocks on the new chain, than on the original chain, because I have 2 years more "block chain time" to fill up until now.  As long as I separate all the blocks by somewhat more than 10 minutes time stamps, the difficulty will essentially remain 1, and I can very easily mine all the blocks on my PC.  Now, in order to respect most transactions, I would have to use the same addresses of most of the block rewards, but some, I could change and assign them to me.  For instance, I could assign all the Satoshi rewards of the first thousands of blocks to addresses I own, because they have never been spend.

If I catch up to today, with most transactions included, but many more blocks, and I broadcast this new chain, would it replace the old chain (because the one I broadcast is much longer) ?  Of course, lots of strange things would happen, such as the difficulty falling essentially to 1 or so. But strictly speaking, would the bitcoin core accept this new chain over the former one because it respects all the rules ?  Or does the bitcoin core check on the genesis block ?

Pages:
Jump to: