The idea of “consensus” in the bitcoin network is interesting to me. The code expresses “consensus” mathematically, and there exists a binary truth of whether a consensus has been “reached.” That’s simple and straightforward. It’s easy to reason about what happens once a consensus has been tautologically reached.
However, answering the question of “do we have a consensus yet?” is far less precise. Answering “what compromises can we make to achieve consensus,” even less so. All deliberation and conversation must happen offline, in “meatspace” amongst humans and operating outside mathematical principles. For example with the segwit2x fork, there was the New York Agreement, discussion all over the internet, etc. But does anyone have a precise number for the “theoretical consensus” or is all discussion based entirely on estimates?
I’ve always thought the “51% consensus” and the “hard fork” idea were hand-wavy solutions to a problem that can fundamentally only be solved by human cooperation. I also think Satoshi never expected this kind of discontent to be such a common occurrence.
Bitcoin should include a consensus building layer of code that acts as an arbiter for building consensus. It could execute polls, enforce rules of deliberation, etc. This is basically decentralized voting, which is generally seen as a distinct topic from bitcoin. But it seems bitcoin, one of the biggest decentralized networks, could benefit from a consensus building protocol.
The problem of decentralized governance is not going away. Solving it will be a massive technological step forward.
I think the most promising work here is around fork futures. Paul Sztorc (of Bitcoin Hivemind, the original decentralized prediction market, and Drivechains) has a lot to say about how with fork futures, we can let the market tell us how valuable proposals are [0].
We saw this in practice with the numerous S2X futures that were available. They were all predicting that S2X had about 13% chance of winning. This signal can then be used as substantial evidence in meatspace to retract or push forward a proposal.
Bitcoin core has a consensus mechanism and it is a very good one. What gets into the code is only that which has near unanimous agreement. which means proposals are discussed and altered and improved until everyone is happy.
Believe it or not this is working well, and bitcoin is moving forward at a very rapid pace (especially given the difficulty of doing blockchain systems right)... people just don't realized it because few people read the release notes.
Those who think bitcoin needs a consensus mechanism to determine its direction usually think that it doesn't have one and that some cabal is in control.
That's not the case.
Remember, Segwit and LN were from outside the community, the LN developers are mostly not part of core, and in fact one of the authors of the paper is an ethereum guy.
They both got support in core quickly because they are good ideas.
Both were announced in the fall of 2015 and cores support was in the code by May of 2016!
You can do on-chain voting for protocol changes and this was done for segwit2x which was activated with an overwhelming majority of votes. Unfortunately only miners vote and in cases where other parties disagree with the miners you can get problems. More recently there have been chain split futures markets that gather predictions from traders; too bad that information came too late to avert the segwit2x fiasco.
However, answering the question of “do we have a consensus yet?” is far less precise. Answering “what compromises can we make to achieve consensus,” even less so. All deliberation and conversation must happen offline, in “meatspace” amongst humans and operating outside mathematical principles. For example with the segwit2x fork, there was the New York Agreement, discussion all over the internet, etc. But does anyone have a precise number for the “theoretical consensus” or is all discussion based entirely on estimates?
I’ve always thought the “51% consensus” and the “hard fork” idea were hand-wavy solutions to a problem that can fundamentally only be solved by human cooperation. I also think Satoshi never expected this kind of discontent to be such a common occurrence.
Bitcoin should include a consensus building layer of code that acts as an arbiter for building consensus. It could execute polls, enforce rules of deliberation, etc. This is basically decentralized voting, which is generally seen as a distinct topic from bitcoin. But it seems bitcoin, one of the biggest decentralized networks, could benefit from a consensus building protocol.
The problem of decentralized governance is not going away. Solving it will be a massive technological step forward.