This document is a DRAFT or Request for Comments. Check out also a more detailed writeup, and also the accompanying evidence-based process proposal and writeup.
Premise
We are actors of the Bitcoin Cash ecosystem. We join (and leave) it voluntarily and permissionlessly. We are users, businesses and miners, and we agree on the idea that Bitcoin Cash is a peer to peer electronic cash system for the world. Supporting it as such creates a win-win-win scenario.
It's a win for users, who can transact freely with anyone in the world.
It's a win for businesses, who build upon a stable foundation and profit from offering value to the users.
It's a win for miners, who validate everyone's transactions and profit from the value of the network.
Bitcoin Cash is, first and foremost, a protocol and at its core lie the consensus rules. Those define what Bitcoin Cash is, and it's what we voluntarily agree on.
Anything outside the scope of consensus-level rules is outside the scope of this document. Not even non-consensus protocol rules are covered.
In order to improve Bitcoin Cash as electronic peer to peer cash, it will sometimes be necessary to modify its consensus rules. As the actors of the ecosystem, we need a standard for doing so. No formal process can be established, otherwise we'll be taken over by lawyers and politicians in a matter of weeks.
We cannot appeal to a central authority either, as we refuse to nominate one. The ecosystem is decentralized and should stay that way.
By virtue of this decentralization we establish a loose process in which we, as ecosystem actors, agree to hold each other accountable to a high standard:
we hold ourselves to a high standard
we hold each other to a high standard
we hold everyone to the same standard
A process for changing consensus rules
Basic rules of thumb
The basic smell test: is the change a clear win-win-win for the ecosystem actors? If not, it will need a clear rationale.
No monetary policy changes - they would undermine the most basic agreement around what Bitcoin Cash is.
We require exellence
We require excellence in technicals
A person or group willing to spearhead a consensus change will nominate themselves as the leaders of that initiative. They will assure open communication of the following points.
These are not to be interpreted as a step-by-step process, rather as a checklist - for a proposal to be valid, all of them these need to be completed, not necessarily in-order and possibly with iterations.
(Objective) Define what the change it aims to achieve or what problem it needs to solve
(Solution) Provide a solution that's a clear improvement for the objective
(Specification) Provide a clear spec, which might initially be a draft
(Implementation) Provide a reference implementation for testing
(Burden of proof) Provide a clear case in favor of the change and reproducible evidence (possibly a test suite)
(Feedback) Gather feedback to improve all of the above
(Evaluate) Allow reasonable time for people to evaluate and propose alternative solutions
An evidence-based process is the bare minimum we can ask for. (A more detailed writeup)
We require excellence in collaboration
Within the scope of consensus-rules, there is no space for competition. In a win-win-win scenario, the winning strategy is honest collaboration. Non-collaborating actors need to be called out and, eventually, left behind.
Some baseline rules are provided:
1. Communicate early and clearly
Specifically: no surprises
2. Brainstorm in good faith
3. Don't hold grudges
4. Face disagreement gracefully
Reach out directly
Try a multiparty meeting
Check with the ecosystem
(Failing everything else) A split is always an option
On developers
Developers are not to be thought of as ecosystem actors in their own right - they act on behalf of the actors. They can be contracted by businesses to provide features, by miners to improve performance, or funded by users to improve scalability. In doing so they are accountable to those parties.
But when consensus rules are to be changed, developers (and the actors who fund them) are to be held to these high standards.
We recognize and celebrate the many that up to now have selflessly taken this burden upon themselves. Going forward we all need to share that burden.
With this framework we can make Bitcoin Cash become electronic peer to peer cash for the whole world in a gradual, stable and prosperous way.
I support this proposal.