Choices when drafting a new constitution for an EOS decentralized community platform
Introduction
A constitution is about distributing power and checks on that power in such a way that the community rules in a fair way.
EOS Amsterdam is supporting the community. We have decades of experience in setting up governance structures onboard. This memo is meant to share that knowledge and help the community to vote and to help drafting. This memo aims to bring focus to the current debate.
We have identified bodies and functions. Power is about allocating functions to bodies. Governing is about splitting power to allow for checks (anti-corruption) to ensure the community benefits. With EOS bodies operate decentralized. A body in a constitutional sense could consist of multiple entities. E.g. BPs.
Onchain and offchain are intertwined. There are numerous levels of interaction. If the constitution is improperly drafted, offchain will overrule onchain. We want to prevent that as much as possible. For the sake of predictability for all and of compliance management. Otherwise we would have to deal with huge regional differences.
At first we have to do some soul searching: what are we?
What we are
We should try and define our community. Only after doing so, we can effectively talk about how to rule. We need to know what to rule before we make decisions on how to rule.
We are EOS. We provide a self sustained technical infrastructure that will allow billions of people to organize their lives and businesses.
The fundamental question is: do we want to meddle with how people do that or do we just want to provide a sustainable infrastructure? We at EOS Amsterdam believe the latter. We shouldn't enlarge our scope to happiness or prosperity for all. It's too vague. We believe strongly EOS might help to achieve a lot of that, but that doesn't mean such moral notions should interfere with our work. In that respect the current constitution is too broadly written.
The Community
The community is the highest body. From the community stems all other power. The community determines the constitution and as many other rules as they deem fit. But its powers shouldn't be unlimited. The individual member should be protected as well as minorities.
Protecting individuals and minorities is typically done by providing fundamental rights such as right to property, the right not to be judged for actions that took place before a rule was implemented, the right to be judged by an impartial judge and the like. Further the minorities are protected because the constitution cannot be changed with a simple majority of the votes. As is the case in both EOS constitutions.
Block producers, dApp devs, users
The constitution defines which body does the actual work. Who is responsible for what. If we were to elect one body to control the chain, this body would be omnipotent. Such body could do as it pleases. Therefore a good constitution splits up the power of such body. This is done, in both versions of the constitution, by making such bodies subject to voting (BPs) and arbitration (all). Basically this is taking power away from the executive and redistribute that powers to the community and arbitration.
Having said that, let's look at the various actors and their powers.
BPs
Block producers control the chain but in our view they do so by providing a technical commodity. They shouldn't be deciding about good or bad, about lawful or unlawful. About compliance. They should run the chain and keep it healthy. Just like a good ISP does in the old world.
They should follow code. However, BPs should also implement verdicts. E.g. freeze accounts that are stolen. But never on their own initiative. Only when they are compelled to do so by a ruling by an arbitrator of by a judge. Arbitration could be within EOS but also an offchain judge could order a BP to act in a certain way and such BP would have no other choice than to comply.
To us, as BP, code is law as are rulings issued following due process. BPs should in essence be blind to the morality or compliance with laws of the work they do. Only extraordinary circumstances may force a BP to act outside of these limits.
dApp devs
The dApp devs interact with the users. They have a far broader responsibility. They must ensure compliance with outside rules and regulations. For them code isn't always law. They can introduce all kinds of criteria. Like "fair".
Users
Users are, eventually, the real actors on EOS. Once a dApp is onchain the responsibility to use such dApp will be the users'. Each user will be responsible and liable for such user's own acts or omissions. Even if the dApp itself is against the law, the user pays the price. Users are also fully subject to arbitration.
Checks and balances: arbitrators
The work of a body should be controlled. Otherwise power can be abused. Checks and balances need to be in place. This can obviously not be a voluntary pick. No one would voluntarily chose to be punished.
BPs have a huge responsibility. They control the chain. There are checks in place. The first one is that the community can vote a non-functioning BP out. This is an extremely important check on their work. However this isn't sufficient since for a profound change in votes to take place the wrongdoing must be widely known. Further voting happens after the act and doesn't compensate for damage done. Therefore we need further checks.
The dApp devs and the users should also be controlled. There should be means to stop illegal actions. If an illegal dApp is running, it should be stopped. This would typically be after complaints of users or against users. Someone has to ensure such dApp is removed. That someone shouldn't be a block producer. A block producer doesn't have an opinion. We execute.
So we need courts. Or arbitration. The choice is do we provide courts (arbitration) ourselves or do we let outside courts interfere. Own arbitration is preferable since the arbitrators will then apply as much as possible one worldwide EOS rule set. It is possible to limit the scope of our own arbitration but that will result in plaintiffs seeking remedy with outside courts for all that fall without such limited scope. Therefore also bonds do not help. They limit exposure and will leave room for outside courts to step in. in order to work, arbitration should be mandatory. All EOS members should be bound to it.
Conclusion
We encourage every member of the EOS community to debate further on the best choices to make. We have offered our in depth knowledge hereinabove. We are willing and eager to further participate in the discussions. To serve our EOS community.
Amsterdam 18 July 2018