Post
Topic
Board Bitcoin Discussion
Re: Assumptions required for Bitcoin existence
by
onemorebtc
on 27/02/2015, 10:34:37 UTC
1. We can identify work done for Bitcoin

Not an assumption, this is provably true, the math involved is not capable of lying. Each block is built on the previous, they only "fit" into the blockchain if they are built on a block that already exists (along with other constraints.. must be a valid block, must be at least n difficulty, must have a valid coinbase transaction, etc). Ultimately, all of these blocks are built on top of Bitcoin's unique genesis block which is set in stone in the source code of bitcoin-core and you can identify work done for Bitcoin because it can be mathematically proven that each and every block in the blockchain is built on top of Bitcoin's unique genesis block. There is no way a Namecoin block, for example, can become part of the Bitcoin blockchain (or vice-versa) because it's built on top of the wrong blockchain and genesis block. There's also no way the Namecoin blockchain could replace Bitcoin's or vice-versa for the same reason.

Pretty much the only way to replace the whole Bitcoin blockchain would be to start over from the genesis block with more computing power than has been put into mining so far and eventually catch up to and pass the real blockchain (at which point, your chain becomes the real blockchain). In practice it's much harder than it seems, not only do you need a great deal more computing power than all the ASICs on the market at the moment, you also have certain checkpoint blocks which are set in stone in the bitcoin core source code and those block hashes also have to match known values.. so you'd also effectively have to break SHA256 unless you're just starting from the most recent checkpoint (a lot easier, but there still aren't enough ASICs on the market for this to be a realistic attack)

Imagine that Bitcoin is forked into 2 branches: 1 MB and 20 MB. Now we have a fragment where all blocks are identical. If the latest checkpoint is below the fork then we see that assumption #1 is required.

mining has nothing to do with checkpoints. they are a relict which is no longer needed excapt for fasten up an initial sync.

when bitcoin forks every miner who uses the new software is mining on the new chaing and every miner on the old one is mining the old chain.

so no assumption needed: its all mathematic nothing more