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 some of 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 insights hereinabove. We are willing and eager to further participate in the discussions. To proudly serve our EOS community.

Comments

  • What exactly are you proposing and/or promoting? In the beginning, you seem in favor of Dan/b1 V2.0 of the constitution but later, you seemed to indicate you thought without base level arbitration we open ourselfs up to traditional courts. I take it, this was written by a non-native English speaker and as such, it was pretty clear. But there are also other confusing "legal" terms. For example, "body"; I know what websters dictionary says, but what does "body" mean to you? And in your opinion, should we should reasonably expect normal everyday EOS users to adopt such language, and if so, do you expect folks to comprehend it?

  • Thanks for your comments. Body would mean in our civil law system bodies like a shareholders meeting, board of directors, committee etc. And I am not promoting anything other than a route to make the right choice. And whatever choice, as you noticed correctly, is being made we will need arbitration at base level indeed.

  • Ad an add on: I have tried to steer clear of legal terminology. I'll try and find a better term. Any suggestions? I strongly believe that if non-scholars do not get it, I failed.

  • I speak for myself and I apologize if this is clarified elsewhere but perhaps you should state if your words are your own, and if you speak for EOS Amsterdam here, or a little bit of both? I agree that that constitution is written too broadly. I have suggested some revisions and additions in this gov forums and I would love to have your input on those ideas as well as hear what exactly you have in mind.

    With the assumption that this post is only intended to be read by those influencing the new constitution then I can accept your use of legal terminology. I'll admit that there are sometimes when legalese can be a more useful language than proper English but when we are trying to be inclusive, I feel like we should really try to stick to proper English. And I would hope you agree that the constitution itself should be written in plain English so everyone can easilly comprehend and properly consent.

    AS somewhat of a scholar, I "get it" but I am glad that you want everyone to "get it". Instead of using the legal term "body", which is not an English word in this context, we could use the word "entity", "group of people" or even "pillar" but I think "entity" is more fitting.

    What makes you think we need arbitration on the main level of EOS? I just think it will limit some functionality and be rather exclusive. We should be able to allow people who do not consent to the constitution to use EOS, more or less like a faster bitcoin. They would not be able to bring cases to arbitration but nor could they be brought to arbitration. We could also restrict their ability to vote, so as to keep people who have not consented to the constitutional restriction vote buying from abusing the system.

    I wrote an article about the idea here.

    I just don't think we need arbitration at a base layer. Is your point that you think courts may get involved if we don't have base layer arbitration? That would be very bad in my mind but I don't see a situation where that happens and even If it did, we could just adjust and adapt with a referendum like EOS was designed to do. The other promise that was made, to which EOS is currently not living up to is the ability for users to name their own arbitrator. If we have a default arbitrator, even though they should be elected by community vote, that does not allow everyone to name their own arbitrator. It also leaves ECAF or their replacement, to have much-unchecked power over everyone. If we do not have default arb on the base layer, folks would name their own arbitrator in every contract they sign, and thus limit the powers of a would-be default arb to only the users who named a given arbitrator. Even if we want to keep in line with the intentions of the interim constitution, there is actually not very much we would need a default arbitrator for. This would be vote buying, perjury, and/or just generally being a bad actor and screwing over others. In my article linked article, I explain how it could work. people would be limited in functionality until they sign and consent to a given constitutional restriction. For instance, people could use EOS without consenting to the vote buying but they would be unable to vote.

    Read the article if you have the time. I would appreciate any feedback. What are the biggest problems that you see with my idea of consent coin as I laid out?

    I see you expressed concern about illegal dApps and ensuring we have means to remove such bad acting dApp. Why would we need base layer arbitration for this? Can't we just require, with base layer code, that anyone releasing such a dApp must consent to some developer contract which allows the community to remove such illegal dApps. I wonder how illegal must an dApp be before we need to kick it off the network? And as we are internatinoal, which jurisdiction would we use to determine the undesirable dApps? I mean I would vote to remove child porn dApps but what is your biggest concern in this regard. silk road style apps would not likely want to use EOS when monero is much more private. But in the case some child porn app surfaces, we should have a means to remove such content. Could you elaborate as to why you feel like we need arbitration at base layer?

  • Thank you for your reply. I will address a few issues, basically following the order of your response. My text states how we at EOS Amsterdam believe governance should be organized. It is not merely my personal opinion.

    Do we need arbitration on the base layer?

    I believe there is a lot of confusion here. Having arbitration doesn't mean BPs will be entangled in endless proceedings over stolen keys. Which seems to be the major reason not to support this. (Stolen keys mean that someone else has the private key to a public key than the one that was robbed of it. So the arbitration would be between the former and the latter. A BP will never be involved in this but shall have to execute the arbitrator's order.)

    To answer your question one should find the possible disputes to which BPs might be a party. Those could a.o. be connected to non-fulfillment of the BP agreement or relate to vote buying issues or false statements. The possible conflicts seem to have a limited scope which makes sense since the BPs' work has a limited scope too. In Dan Larimer's 2.0 version, he limits arbitration to reflect this idea. However, in my view it is not necessary to limit the arbitration itself since on base layer it will always have a limited scope.

    Having said that, let me answer your question with another one. What will be the alternative for dispute resolution on the base layer? How would you resolve such disputes? By going to court? Where? What will be the applicable law? Some have assumed no one will be able to touch the BPs but that seems wishful thinking. I believe it is self evident that an arbitration system that functions within the EOS ecosystem is preferable since it provides answers and stability.

    Do we need arbitration to serve users?

    I have largely answered this in my text above. You wrote that arbitrator might have too much power. I don't agree. The judicial branch is very powerful but it cannot exercise their powers for their own benefit. Their role and power is to judge. I have suggested the possibility of appeal in order to repair power abuse. E.g. if the arbitrator is not independent. Please note that in that event the victim can always go to an outside court. In that sense the arbitrators' powers are checked as well.

    As for bad dApps: we don't need base layer arbitration for this. Please see above. We do need, however, the BPs to execute arbitrators' orders issued on a dApp level.

    Freedom vs mandatory consent

    As for you coin: I like the idea of freedom, also when it's about picking your judge. But I believe the general public don't care. Did you ever read the small print about applicable law on the TOS of the companies you engage with? No one does. So why would the public suddenly be interested in where they are going to go once there is a conflict with their supplier? In other words: all folk and the majority of the SMEs as well probably, will just agree to about anything in those TOS. And, I must add, rightly so. There are more important things to deal with in this world.

    Service

    I tend to look at arbitration as an important service to the public. Rather than having to deal with an anonymous dApp provider or a nameless thief, they have s system they can go to and get their dispute resolved. And if we want that service, than it should be mandatory.

Sign In or Register to comment.