There is a governance mechanism behind every blockchain. It varies between chaos and order. Right now, it’s mostly chaos.

What is governance? In this case, I’m talking about the process how groups of people make decisions. All blockchain communities are human communities. There is a bunch of people who need to come up with proposals what to do next and then make decisions which ones are implemented.

Unless the blockchain project is completely dead, there is some kind of process to select which proposals get approved. That’s why I claim that all blockchains are governed blockchains.

Sometimes, or rather most of the times, it’s hard to identify the exact process behind decisions. Somehow things just get done. Why? That’s because most blockchains lack formal rules for governance. Decisions are made in a chaotic way instead of following rules written down and accepted by the community. Power structures emerge on their own depending on how the individuals in the community feel in any given day.

The opposite would be a formally governed blockchain with a constitution, charter or similar document with clear rules which are strictly followed by members of the community.

This perspective has been missing from the blockchain governance discussions around the web. So let me expand what I mean.

Blockchain governance levels between chaos and order

I look at this from the community perspective. That’s what matters the most. The community hopefully has a common vision for what they are trying to achieve with a particular blockchain.

First, the community has to answer this question: Do we want some kind of constitution or any other founding document?

Level 0: No founding documents

If the community answers “no, we don’t want any kind of constitution”, then they have chosen the chaos. But that’s not necessarily as bad as it might sound. It just means that there are no official rules on how to reach consensus on anything besides what the code does.

This is the “code is law” blockchain. The community trusts that the code works as it is intended, and everything else should be minimized. Problem is that there is usually a lot of things to decide.

If “code is law” then coders are the lawmakers. I’m not sure how well people have understood this. Coders need to make perfect code which doesn’t need to be updated. Not an easy job.

For example, just look at the Bitcoin scaling debate. The Bitcoin software was not ready for the world domination, so the community must upgrade it. They have been arguing over the matter for years without fully legitimate decision accepted by the whole community.

Consensus is an emergent phenomenon with level 0 blockchains. Sometimes it’s reached quickly, sometimes it’s impossible. What is considered a legitimate way of governance today might not be legitimate tomorrow.

This might be a good thing if the goal is to make upgrades as hard as possible. No new features are added until a strong consensus emerges within the community. It means stability.

From the business perspective, this chaotic emergent consensus is not preferable. It’s slow to answer to the demand from the markets.

Level 0 blockchains are interesting experiments, but for any serious businesses and the mainstream people, they are really challenging environments to operate. For example, they lack rules against stealing and scamming. That is one of the main reasons why blockchains have so few users today.

Level 1: Non-binding rules

The community might want to avoid at least some of the fighting that is seen with level 0 blockchains and create non-binding guidelines to reach consensus easier.

It’s a declaration of intent, or a manifesto, or a wishlist how the community should behave. The community can create a lot of rules, but without a way to enforce, it’s up to the members to comply with them.

The DAO hack of Ethereum is an example. The alleged attacker made a case that because The DAO was supposed to work as “code is law”, he didn’t do anything wrong. It wasn’t only an unwritten implicit rule but actually written down to the terms of The DAO. That’s why everyone should have accepted the hack. But the community didn’t, so they forked the blockchain. The community did what they wanted and the attacker didn’t have any way to stop it even though the terms of the contract were on his side.

Level 2: Multiparty contract with a judicial process

Now the things get more exciting. The community can draft a constitution or a charter. It will be a multiparty contract. All blockchain users are required to sign it. Otherwise, they are not allowed to use the blockchain. That’s also a good way to define who are the members of the community — everyone who has signed the multiparty contract is a member. By signing the contract, members commit to obey the rules.

The multiparty contract includes a dispute resolution process over the contract itself. Every time there is an accusation of somebody breaking the rules, members can take the case to the institution which handles the dispute resolution. It will give a ruling which states if the rules were actually broken. If the rules were broken, it usually orders a punishment or a restitution.

I’m not sure if anybody wants to stay at this level because there is no official way to enforce rulings, but I put it here to make things clearer. It’s really important to understand the need for a judge. Without a fair judicial process it will be hard for the community to reach a consensus when the rules were actually broken. In many times, cases are not simple.

The community can’t punish the rule-breakers if it doesn’t know when rules were broken. That’s why the judicial process needs to come first.

This level might work if punishing wrong-doers happens by voluntary means, like blacklists. If a large majority of members, dapps and exchanges would blacklist a convicted account, it would create an incentive to comply with the judgment or leave the ecosystem.

Level 3: Multiparty contract with a judicial process and enforcement

The community has decided to include official ways to enforce the rulings by the dispute resolution process. In a blockchain, this is easiest to implement by giving certain parties, like blockproducers, an authority to enforce.

The community should identify which are the best ways for enforcing. They must be relative to the severity of the case. They must be economically efficient. They must be conceived as fair by the community.

The community might want to enforce rules only in the most severe cases and let small things get away without punishment. Or it can treat all breaches of the multiparty contract very strictly and make sure that all rule-breakers will get punished.

For levels 2 and 3 it’s preferable to have very clear rules. Everyone must understand them. No logical inconsistencies. Good test for clarity is to ask a few different individuals to describe the governance mechanism: if they all give the same or very similar answer, the governance mechanism is very clear. If they give very different answers, the mechanism is closer to levels 0 and 1, where there is no intention of a clear ruleset.

It is also important to include a rule on how to change the rules. Sometimes the community will conclude that some of the rules are not very good and they must be changed. There needs to be an explicit way to do that.

Sometimes the formal governance process is in place, but people don’t really live by it. Instead, there is a shadow government which actually makes the decision according to its own governance processes. This is not desirable. The formal governance process should be the one which is followed by everyone. The power structure which is created by the official ruleset should always match with the actual power structure which makes the decisions.

The community

The meaning of community hasn’t been discussed much in the context of blockchains. Everyone seems to think that blockchain communities should be open to everyone without any kind of limitations. But this is not necessarily a good idea.

It matters a lot what kind of individuals there are in the community. Communities can influence this if they have a way to either decide who can come in and/or who will be kicked out. This is possible with level 2 and 3 blockchains. It’s possible to define the requirements for membership in the multiparty contract. A member can be kicked out if those requirements are not met.

Communities get much better with even a little bit of quality control. When toxic persons are excluded, it’s much more fun for everyone else.

It’s important to understand that there is no “one size fits all”. Communities can and should be different.

If the governance doesn’t work, forking the community is a great choice. Blockchains are operating in an environment where an exit is easy. If the governance sucks, it’s possible to move to another blockchain with better governance. I hope to see lots of formally governed blockchains competing for customers.

Currently, blockchainers are like third world country citizens: highly skeptical of any kinds of official government. For a good reason, because they have seen how corrupted all authorities are. But that doesn’t mean it’s impossible to design a well-functioning governance system.

Yes, there is a risk of ending up in a totalitarian government. But the community can minimize that risk by consciously designing the governance process to mitigate bad behavior. Just look at the world now. There are different governance systems and we can clearly see the differences between them. Just copy what’s working and remove what doesn’t.

There is market demand for level 3 blockchains

“Decentralized and trustless” level 0 blockchains are here to stay. But the proponents shouldn’t feel like blockchains at other levels are somehow wrong. They are not, they just respond to a different demand from the markets. To effectively fight against old and corrupted banking systems, we need to fulfill all the different needs in the markets.

It doesn’t make much sense to argue which governance model is best. Let’s just try as many as possible and we can see which ones flourish in which environment.

So far we haven’t seen mainstream people coming to blockchains. Level 0 ecosystems which we currently have are harsh places. Lots of stealing and scamming going on, without any good ways to stop it. Very few people actually prefer this kind of ecosystem. If you ask random people: “Do you like doing business in an environment which is full of thieves and scammers?” most will answer “no”.

Lately, I’ve seen many people emphasizing “personal responsibility” as an answer. “There wouldn’t be any problems if blockchain users just would take care of their private keys in a proper way.” It’s important, of course, but doesn’t make much sense if looked from the business perspective.

Imagine a business which is always complaining how stupid their customers are because they are not using the product in the right way. It’s easy to predict that such a business won’t be successful. The problem is the product and it must be changed so that customers can actually use it. As long as you are not getting any happy customers, your product is faulty. With level 3 blockchains it is possible to fix some of these faults.

Level 3 multiparty contract can include some pretty neat things, like property rights. So far blockchains have lacked them.

From “code is law” perspective, all transactions made according to the protocol are legitimate transactions. But if there was a stolen private key which made the transaction, it doesn’t feel very legitimate for the victim. There is not much anybody can do about it, except go to the police which usually can’t catch the thief.

Of course, it’s not possible to catch all thieves in a formally governed blockchain. But that doesn’t mean we should not even try. In order to create a successful blockchain-based economy, we need to use all available tools to fight against toxic behavior. This includes making bad things officially prohibited.

EOS

This is written from the perspective I got from EOS. It’s currently level 3 blockchain. There is a lot of discussions should it stay that way or drop to level 1. What kind of ruleset there should be, and how to enforce the rules. This text is written mostly for EOS folks because there is still a lot of misconceptions around how the system is supposed to work.

I think this is helpful also for other blockchain communities. Ethereum has its own discussions about governance. For example, Vlad Zamfir made some interesting posts lately. But he didn’t consider the EOS paradigm, so I hope this text will make it a little bit more clear what we are trying to do. Multiparty contract with enforced rules is one possible way how to solve the problems that blockchains are currently facing.

EOS uses arbitration as a dispute resolution mechanism over the constitution. That has some real benefits. Arbitration is recognized by courts all over the world, so this kind of dispute resolution will be more or less compatible with existing legal systems. And at the same time, it’s independent.

The EOS community is creating a new jurisdiction for itself. It doesn’t need to live in chaos or accept defective and unfair order created by existing governments.

Further reading

Norton Rose Fulbright: Legal analysis of the governed blockchain

http://www.nortonrosefulbright.com/knowledge/publications/167968/legal-analysis-of-the-governed-blockchain

Ian Grigg: The Governed Blockchain

http://iang.org/papers/the_governed_blockchain.html

Daniel Larimer: Decentralized Blockchain Governance

https://medium.com/@bytemaster/decentralized-blockchain-governance-743f0273bf5a

Urbit: Design of a digital republic: part 1, goals

https://medium.com/@urbit/design-of-a-digital-republic-f2b6b3109902