Hacker News new | ask | show | jobs
by Geee 3149 days ago
You're wrong. The consensus which Satoshi meant is the consensus inside the specific protocol, so that everyone agrees about the same transactions.

Developers choose which software they want to develop. Users choose which software they want to use. There's no need for a consensus. It's like every other open-source software.

1 comments

People choosing which software to use is neither here nor there. That doesn't really matter until it affects the protocol, and the protocol is dictated by consensus of the miners. I'm not sure what exactly you think I'm wrong about.
That miners somehow can vote which is the correct Bitcoin.
Miners vote with their hash power what chain is correct. 'Bitcoin' or 'the correct bitcoin' are just labels. There is no technical basis, you can call whatever you want any name you want. If all mining power decides they accept 2 MB blocks and the chain that says only 1 MB blocks are allowed dies, you can continue to call the chain that is dead and no longer bitcoin if you want. The 'core' group certainly wants to do that because blockstream wants to hijack and control the now valuable bitcoin name. That doesn't change the reality of how the technology works however.
No, the miner vote and consensus is applied in an adversary setting to protect the blockchain, to allow only valid transactions on the blockchain. Miners enforce the rules of the blockchain.

However, When someone makes a new software with new rules (BCH, S2X), users are free to choose it and miners are free to mine it. Miners can't vote which version users should be using, or which version is the correct one. There is no 'correct one'. Miners vote doesn't apply there. There are now multiple blockchains and each one has miners who enforce the rules in that specific blockchain.

If there's a major user base for different versions, then there's a need for distinct names. If a majority of Bitcoin users agree to update to a new version, then it's called a 'consensus hard-fork' and the new version gets to keep the same name (and the old version dies). When the new version is a 'split-fork' (both versions has users), the new version needs a new name and the old version gets to keep its name. Miners don't have a vote in that. It's the users who choose which software they want to use and what they want to call it.

Only problem here is that because BTC mining is so centralized, small chains with same POW-algorithm are vulnerable to attacks. This leads to this situation where miners can potentially coerce users into using their version of the software.

P.s. If someone gains unfair advantage on the blockchain somehow (Blockstream etc.) and users lose confidence in Bitcoin's core developers, the majority of user base will then fork into something else and keep the Bitcoin name. There hasn't been a reason for that yet. I trust the larger Bitcoin community that it will happen if there's a legitimate reason.

> There is no 'correct one'.

Bitcoin Cash and segwit 2x have a major difference: in bitcoin cash there is replay protection (purposefully) and in segwit 2x there is not (also purposefully). Because segwit 2x is a meant to be a hard that kills the other chain off, there IS a correct chain - the chain with the highest proof of work. This is explained in the original bitcoin white paper.

Miners are signalling with an overwhelming majority that segwit 2x will be the chain with the most hash power / proof of work behind it, and because there is no change to the transaction formats, if it gains the majority of hash power, it is considered the valid continuation of the bitcoin blockchain.

Btw, S2X got just cancelled :) https://twitter.com/alistairmilne/status/928308522370195456

As you can see what happened here, 'consensus' means more than just miners.