top | item 29011303

(no title)

arcatek | 4 years ago

If they start to play with different rules, one of the hard fork remaining branches (or both) will be refused by everyone on the network and be worthless.

There's no telling whether it'd be the "hijacked" branch or the original one - assuming they control 50%+ of the mining power, there's a decent argument that the remaining miners would follow their lead if only to stay on the largest branch.

discuss

order

dannyw|4 years ago

What miners do is irrelevant: the code known as bitcoin, with a 21M hard cap, simply will reject any block that creates more than its allowed bitcoins as invalid, the same way it rejects a random string of bytes as invalid.

danbruc|4 years ago

Depending on your definitions this might or might no be true but it also might be totally irrelevant.

There is a protocol and system specification. There are implementations of that specifications. There is a distributed system running those implementations. And the distributed system has a state. Each of those can change and each of those or a combination of them could arguably be called Bitcoin.

If everyone would run new implementations with a different coin cap, you can argue that it is no longer Bitcoin because Bitcoin is a very specific specification with a 21M coin cap, but this would have little bearing on the actual situation.

UncleMeat|4 years ago

In the sense that updating the code to do something else would make it “not Bitcoin”, sure. But I really don’t think this matters to much of anybody if the “OG Bitcoin” drops to zero and the hard fork with new behavior wins.

capableweb|4 years ago

Developers of the core protocol would notice, add a flag and then miners/clients/exchanges who want to remain with the same dev team can signal they want to follow the "dev" chain instead of the "miner" chain.

Usually forks have checkpoints as well so things can't change willy-nilly.

jstanley|4 years ago

If blocks in the "miner" chain break the rules of the "dev" chain, then no flag is required. You'll automatically stick with the chain that contains valid blocks, as determined by the implementation that you're running.