[bitcoin-dev] Bitcoin governance
nxtchg at hush.com
Wed Jul 1 08:45:12 UTC 2015
(sorry for the long post, I tried)
I've been thinking about how we could build an effective Bitcoin governance, but couldn't come up with anything remotely plausible.
It seems we might go a different way, though, with Core and XT continue co-existing in parallel, mostly in a compatible state, out of the need that "there can be only one".
Both having the same technical protocol, but different people, structure, processes and political standing; serving as a kind of two-party system and keeping each other in check.
Their respective power will be determined by the number of Core vs XT nodes running and people/businesses on board. They will have to negotiate any significant change at the risk of yet another full fork.
And occasionally the full forks will still happen and the minority will have to concede and change their protocol to match the winning side.
Can there be any other way? Can you really control a decentralized system with a centralized governance, like Core Devs or TBF?
In this view, what's happening is a step _towards_ decentralization, not away from it. It proves that Bitcoin is indeed a decentralized system and that minority cannot impose its will.
For the sides to agree now would actually be a bad thing, because that would mean kicking the governance problem down the road.
And we _need_ to go through this painful split at least once. The block size issue is perfect: controversial enough to push the split, but not controversial enough so one side couldn't win.
If this is where we're heading then both sides should probably start thinking of themselves as opposition parties, instead of whatever they think of themselves now.
People and businesses ultimately decide and they need a way to cast a Yes/No vote on proposed changes. Hence the two-party system.
If the split in power is, say, 60/40 and the leading party introduces an unpopular change, it can quickly lose its advantage.
We already have the "democratic party" on the left with Gavin and Mike representing the wish of the majority and the "conservative party" on the right, who would prefer things to stay the way they are.
Finally, I propose to improve the voting mechanism of Bitcoin to serve this new reality better.
Using the upcoming fork as an opportunity, we could add something like 8-byte votes into blocks:
* first 4 bytes: fork/party ID, like 'CORE' or 'XT'
* second 4 bytes: proposition number
(or at least add the ID somewhere so the parties wouldn't have to negotiate block version numbers).
Miners are in the business of mining coins, so they are good "sensors" of where the economic majority will be.
We will have a representative democracy, with miners serving as 'hubs', collecting all the noise and chatter and casting it into a vote.
This is not perfect, but nothing ever is.
More information about the bitcoin-dev