[This article first appeared on August 23 on the blog The Wall Street Technologist.]
One of the ongoing issues with Bitcoin, besides the scalability issues, is the fact that it lacks a clear governance model. The fact that we don't have one is likely an artifact of Satoshi not really knowing how far Bitcoin would go. Indeed, it was designed to be an (almost) foolproof solution to the problem of consensus without governance.
Like Gƒdel's Incompleteness Theorem (which proves that no formal system of proof '" such as mathematics, can prove its own validity using only its own set of inference rules), however, Bitcoin's consensus solution itself has an Achilles Heel '" the hard fork. A hard fork basically means that competing versions of the same network are simultaneously running a different set of consensus rules. In the real world, we call these competing rule systems '˜jurisdictions' or '˜countries', and we call the methods by which we come to agreement, '˜politics'.
Bitcoin developers have debated this problem at length in the past, and the problem is not an unfamiliar concept to them, but they have failed to come up with any workable solutions to date. The Bitcoin Foundation was founded originally with the mandate of governance, but it fell apart due to infighting, alleged corruption and scandals. Several of the ex-board members are presently in jail, and others have reputations which have been mired in dubious dealings.
A brief history in politics
'"Some political systems have their share of unfortunate downsides
Up to this point, changes to the Bitcoin protocol have been loosely controlled by a small set of people, rightly called the '˜core devs'. They extend from the dynasty of Satoshi, through appointed successors, through to Gavin, and now to Wladimir van der Laan. Like a mirror of human society, which has seen a progression through the phases of political development from a dynastic empire, to monarchy, to the current oligarchy, how a move to a true democracy can be accomplished is truly a difficult problem.
It is hard because it skirts on difficult socio-political issues that human society has always struggled with: corruption, collusion, nepotism, uninformed or disinterested masses etc. Many attempts in human history have been made in an attempt to solve these problems, such as the monastic system of organized religions, (Gregorian monks, Shaolin monks, the Sisterhood of Nuns) which requires one to devote one's life to monastic pursuits and restricts interaction with society at large.
Our current system, that of a republic, was borrowed from ancient Greece, and focuses on the mutual distrust and competition of senators in order to achieve consensus. Other more drastic solutions practiced in dynastic China, such as the forced castration of all political advisors to the court, ensured that one would have no other loyalties than that to the state. I should hope we, in this age of information, need not have to resort to such barbaric methods of stemming the corruption of human virtue and integrity in our leaders.
So what can we do?
'"I think we have managed to solve problems like this in the past.
We can try to follow in the footsteps of the American Founding Fathers. Indeed, what we are experiencing presently, is something akin to what I would imagine the debates and infighting that must have occurred when the initial Continental Congress was being formed. Putting yourself in the shoes of say, John Adams, with the full might of British Empire oppressing them, they had to come up with a way to galvanize the support of the colonists, to fight the crown rule, and to defend their freedom. On July 2, 1776, the congress gave a unanimous vote for independence, and two days later, the Declaration of Independence, was signed. The United States of America, was born.
We, citizens of the global nation of the internet, need something equivalent, to guard the founding principles of Bitcoin. We need to define principles, articles of constitution, if you will, and we need the current leaders of Bitcoin, to vote unanimously to support them.
The current model '" BIP
Everyone technical in Bitcoin is familiar with what a '˜BIP' is. It stands for Bitcoin Improvement Proposal. Developers wishing to change the Bitcoin protocols create a BIP. It is vetted by the core devs and if it is valid, then it is given a number, like BIP101 (which is Gavin's auto-block-limit increase change). Being valid doesn't make it accepted however, it needs to be further discussed, debated and only if a unanimous agreement on the BIP can be reached by all core devs, will it be accepted into the code base which is released to the public.
This is the current system of governance. It has flaws in that it makes it very easy for one member to veto changes. This is one of the criticisms that has been raised by Gavin Andresen in the past; which is that it takes just one dev with ulterior motives to sink an improvement proposal. Given that some of the devs are involved with other companies, it soon becomes clear that this system is inefficient in coming to consensus, assuming everyone may have personal agendas.
Hard forks need to be resolved by humans. So humans need to agree on a set of principles to follow. Open principles. Clear principles. These core principles should be held by all who wish to propose changes to Bitcoin as BIPs, as well as all who evaluate these change proposals to ensure that they adhere to these principles. I touched upon these in my previous article, but here I shall elaborate on them more fully.
'"Words and ideas. It's what binds us together, as a people.
Articles of Constitution of Bitcoin (draft)
BGIP 0.1 '" The use of BGIP as the governance model
A Meta-BIP. A BGIP, or Bitcoin Governance Improvement Protocol. Which would govern and guide core devs (present and future) on how BIPs are accepted or rejected. Of course, having a way to modify a governance model implies we need a governance model to begin with, a sort of '˜genesis block' of governance if you will. Bitcoin needs a Constitution. A BGIP itself is subject to change, via amendments, but these amendments must receive 95% approval of the miners (not the devs), and cannot amend the Core Prime Principles. That is, amendments can be added, so long as they do not subtract from the efficacy of the pre-existing Core Prime Principles. Any such violation of the Core Prime Principles, amounts to a rejection of this process entirely, and shall not be deemed '˜legitimate' by those who honour these Articles of Constitution of Bitcoin. So long as every core dev, can justify their approval or rejection of any future BIP based on these rules, then we should regard them as acting on behalf of the legitimate blockchain of Bitcoin.
Core Prime Principles
In order of importance:
- First Principle (axiom)
Consensus, above all must be prioritized. Consensus by means of adhering to a core set of principles, which we are defining henceforth.
- Second Principle:
Decentralization must be preserved, any change should not detract from decentralization, or indirectly result in more centralization of the network.
- Third Principle:
Open Access. Bitcoin network should be open for anyone to use, free from censorship or prejudice, regardless of political affiliation, geographical location, religion, race, or creed. Bitcoin core code shall always be open sourced for all to examine
- Fourth Principle:
Store of Value, the value of the token (bitcoin) should be preserved, that is, disregarding free market effects, the value of the bitcoin token on the network should not be endangered with existential risk.
- Fifth Principle:
Efficiency as a Payment System, should be improved so as to increase the reliability, availability, utility, and security for all users.
The Pyramid of Priorities
'"Pyramid of Prime First Principles
The above is just a draft. It is my proposal. I am not a lawyer, so I make no presumptions about the above proposal being air tight, or all-inclusive. If you have helpful suggestions to add to it as an official amendment, I give permission for any core dev (or anyone better at legalese) to amend it if you wish. All I ask is that if you do, you name it appropriately, so that people can identify different versions. For example, the first alternative can be called BGIP 0.2. If it is adopted and ratified by the core devs, then any future amendments should only be allowed as additions to the Constitution, and proposals to add them shall be called BGIP 1, BGIP 2 ' and so forth. I would encourage miners who support this to put the message into their block headers; 'œBGIP 0.1,' which would mean showing support for this constitution and governance process.
When enough miners have shown their support for the core devs to take notice, I would like a unanimous vote by the core devs to adopt and adhere to this process, and use it henceforth to govern judgments on BIPs. How they chose to technically do so, I leave it open for discussion (and perhaps an official amendment), but I envision that BIPs shall be '˜innocent until proven guilty', which is to say, if a BIP can be shown to not violate any of the principles, then it should be adopted.
I'd like to think that if we can all agree on this constitution, then any competing fork in the future can be clearly identified as '˜not-bitcoin', and should be encouraged to create their own blockchain, avoiding dangerous Hard Forks. This is not meant to stifle competition. It is not meant to restrict innovation. It is meant as a unanimous statement of identity of who we are and the values that we hold. It is the hope that once that is clear, then at least a certain group can always claim to be upholding these values.
This is the '˜genesis block' for Bitcoin governance. With it, I hope we all can build a future together cooperatively, and collaboratively.
If you liked this post, please consider dropping me some satoshis.
'"Governance begins with consensus