3 ms·
In theory you're right, yes. If the majority of the hashpower runs a specific version with specific consensus rules, then that version of the chain would "win".
by capableweb 6y ago
In theory you're right, yes. If the majority of the hashpower runs a specific version with specific consensus rules, then that version of the chain would "win".
But in reality, developers and others write the specification, which gets implemented in the clients and when a new version is available, the miners usually upgrade to the new version without any qualms what so ever. So in practice, the specification is what controls the network, as developers writing the clients implement things from the specification.
- joosters 6y agoI mean in terms of bugs, rather than a 'rogue' client, i.e. not a deliberate attempt to cause a chain divergence. If a 'broken' transaction gets accepted by a buggy client, and that buggy client has a majority of hash power, then that transaction is, by definition, not actually broken at all and everyone will be forced to accept it (because it will take too long to write a bug fix and re-write the blockchain history)
- splix 6y agoIn practice if an "official" client has a different interpretation of the spec it must be accepted by other clients. Like with mentioned OpenEthereum (ex. Parity) here: https://github.com/openethereum/openethereum/blob/582bca385fedb1af682e989e5bcc6b3b2cf53028/crates/ethcore/types/src/transaction/transaction.rs#L1091 https://github.com/openethereum/openethereum/blob/582bca385f...