Proposal for an incremental Constitution and Dapp layer governance on EOS

in #eos6 years ago (edited)

This article is the sole opinion of Kyle (The Awakenment). It does not intend to represent the views of anyone else, including other members of the EOSVIBES team.

I’ve been wanting to write this article for some time, but due to a heavy workload, I kept putting it off. Having had recent conversations with other freedom-loving EOS community members including Marcin from Tokenika and Roman from CryptoLions (who also share some of my thoughts), it got me re-energized and refocused back into writing this article.  Regardless of all the projects I currently have on my plate, it’s the right time to say what I believe needs to be said. I make no apologies for the length of this article (it's long), but the conclusions I've formulated have happened over several months and thus require a bit of context putting around them.

There are some Block Producers (perhaps the vocal majority) who feel that we should stick with the first set of proposed ideas around EOS governance whereby we maintain a lengthy Constitution and centralized arbitration forum (ECAF) that acts on the protocol layer. But there are others, myself included, who feel differently. 

Marcin (Tokenika)

“The EOS user base is a multi-national, non-homogenous crowd from multiple jurisdictions and legal systems and by definition, their understanding of ‘what is governance’ is going to be extremely different across the board”.

Roman (CryptoLions)

“I would recommend that the existing Constitution take a step back from the idealism and state everything in actionable terms. At every point, the Constitution should be answering the questions: "what should people do if . . . ." It means pitifully little to say "the intent of the code IS THE LAW", or that "property rights ARE SACRED" if there isn't broad consistency to how community members will translate these IS's into action(s)”.


OK, so let’s begin…


I think it would be fair to say that as a community, we have made some mistakes in how we launched EOS. We were ill prepared and overly ambitious in terms of ‘want’ rather than ‘need’.   Nobody is to blame for this and it’s good to be ambitious. What were perhaps lacking were the processes, people and infrastructure in place to adequately push forward on that stated ambition.

As a community, we all want EOS to be the market leading blockchain. In order for this to happen, we all need to be in agreement with the overall vision and direction in which we all want to take, which in turn, requires us all to work together. Decentralized autonomous systems are hard to get right, governed ones - harder still.

However, the mistakes we’ve made and how easily we have been able to bounce back from these mistakes shows just how robust and resilient EOS is, both as a community and as a blockchain.

So, with that said, let’s go back a bit and maybe have a recap of where we’ve come from, what mistakes we’ve made and how we move forward from here.

Approximately 2 months prior to the launch of the EOS main net, people from the EOSGov Telegram channel were asked to take part in a discussion as to what articles they wanted to see present in the EOS Constitution.   Block.one hired Thomas Cox to come in and guide the process and facilitate the conversation.

Unfortunately, only a tiny fraction of token holders actually took part in this discussion - maybe 20 or so people, most of whom were made up of Block Producers Candidates, although there were some independent community members making contributions as well. These people were asked to use the EOS Go forum as the medium for giving their input.

I gave my input during this early stage conversation, both in the EOSGov Telegram channel and in the EOS Go forum.  I expected and advocated for no more than 3 or 4 Constitution articles as a maximum.  I’m not entirely sure how we ended up with a 20 Article Constitution, but this, I believe was the first mistake – the creation of a Constitution that was just way too long. Some of the articles just seemed to appear out of nowhere without my witnessing any discussion happening around them, maybe some of these discussions happened in private or on different forums than the ones I was present on, I don’t know, but a lot of articles seemed to appear just prior to the main net launching.

Now, the issues I have with the Constitution, apart from it being too long, aren’t necessarily with what’s being said (apart from Article XV – I take great exception to that particular article). The problem I have is with regards to their being no stated actions for how the community enforces each article.  It's a lot of fun declaring principles for a Constitution, but it’s really hard grinding out the detailed work of making everything actionable and with consequences (without having some centralized police force to do it for us). We are trying to rush through a Constitution as if we know what we are doing when we simply don’t. I also believe it’s unhelpful when community members give themselves titles such as ‘Blockchain governance expert’ when there’s no such thing. You become an expert through gained experience and as yet, nobody has experience of a governed blockchain.

Without getting bogged down on too much detail. Let’s just take a quick look at a few of the articles contained within the 20 Article Constitution in which we’re all supposed to abide by (yet many openly flout) to see what I’m talking about when it comes to us declaring lovely sounding principles without grinding out the detailed work of making them actionable;

Article I - No Initiation of Violence

Members shall not initiate violence or the threat of violence against another Member. Lawful prosecution of crimes with the goal of preserving life, liberty and property does not constitute initiation of violence.

Sounds reasonable, but where are the stated actions that tell us exactly how this will be enforced on EOS?
I imagine it would take 50+ sub pages to explain the full workings of this article alone, probably 5 pages to quantify what actually constitutes as a threat of violence. Plus, the Lawful prosecution of crimes in some countries does sometimes involve violence by the state, so what then? If someone were to say to me ‘You better watch your back’ would that constitute as a threat or an initiation of violence? or would the interpretation be the responsibility of whichever ECAF/EMAC arbiter is chosen to look into the case? Without a huge list of what actually constitutes as a threat and without a stated actionable consequence of what happens to the individual or dapp who is in breach of this article – what is the point of it? If the threat of violence is open to interpretation by the arbiter, then the interpretations are likely to be inconsistent. If there are 10,000 squabbles taking place on EOS each month, then I’d imagine a third of them would involve some claim of being threatened in some way...

Article V - No Fiduciary

No Member shall have beneficial interest in more than 10% of the EOS token supply.

How would we ever know? What if the owner has two accounts each containing 10% of the token supply? How can this article even be enforced? What’s the point of this rule when a team of 3 people working together and owning 30% of the token supply is deemed acceptable?
Doesn’t having such an unenforceable article just make a mockery of this entire Constitution?

 Article IX - Dispute Resolution 

All disputes arising out of or in connection with this Constitution shall be finally settled under the Rules of Dispute Resolution of the EOS Core Arbitration Forum by one or more arbitrators appointed in accordance with the said Rules.

This article gives default powers to the EOS Core Arbitration Forum (ECAF) to issue orders on the protocol layer. I will describe why I think this weakens our blockchain later in this article.

Article XV - Termination of Agreement 

A Member is automatically released from all revocable obligations under this Constitution 3 years after the last transaction signed by that Member is incorporated into the blockchain. After 3 years of inactivity an account may be put up for auction and the proceeds distributed to all Members according to the system contract provisions then in effect for such redistribution.

This article is absurd and I flat-out disagreed with its inclusion from the start. This completely goes against Dan Larimer’s ethos of protecting Life, Liberty and Property rights for all and I immediately got to work campaigning to have it removed. I feel there is now more than enough community support to have it removed permanently from whichever constitution the community decides to ratify. On a side note, one of my stated reasons for wanting Article XV removed was that we should find ways of rewarding people for staking on the EOS network and remaining active rather than finding ways to punish them for remaining inactive. We now have REX on the way and it goes some way to doing just this, as it rewards token holders for being active, staking and voting. To me, Article XV is a prime example of what signifies an irrelevant and lengthy Constitution that is being written too prematurely.

I could go on… but I won’t. The aim of this article is not to be critical for the sake of being critical; rather it’s an attempt to look at what I believe were missteps and to take learning from them so we don’t repeat them.

The current Constitution exists as a statement of principled ideals, nothing more. These ideals aren’t bad (I actually like most of them), they’re just kind of pointless without a stated way for us all to universally interpret and action them in a universally scalable manner.

Constitutional Discussions Continue..


The EOS Alliance is currently holding zoom calls in which all articles in Version 1 of the Constitution (v1) are getting discussed as a means to figuring out which ones the community like and which ones they don’t like. The purpose of these discussions is to come up with another variant (or several other variants) of the Constitution in which the community can vote on.

I think the EOS Alliance is performing well in this regard as it attempts to correct the previous mistake of only having a tiny minority of EOS community members involved in the Constitutional discussion(s). We need as much discussion and participation by as many community members as possible on all manner of EOS related subjects, so whatever/whoever encourages this increased participation is providing a valuable service.

The formats being used for these discussions (scheduled zoom calls) aren’t ideal as they offer no token holder feedback and the scheduling often doesn’t work for people located in different time zones, therefore they miss out on participating. We at EOSVIBES are working on a dapp that will hopefully improve things in this regard, but that’s for another discussion.

Regardless if we manage to increase the numbers of participants taking part in the discussion(s), I fear we may be continuing to miss the point if we are continually cajoled into coming up with yet another or maybe several amended lengthy Constitution(s) in which to present to the community to ratify.

I can understand the argument for wanting to formulate a set of beliefs and a community identity and for that identity to be encapsulated by a Constitution, but when the formulation is required to be completed within a certain time period (say 12 weeks), you will end up with a Constitution full of either irrelevance or absurdity or both like we have with the current Constitution.

My Proposed Solution is for an Incremental Constitution to take effect over time


Whilst I agree that lengthy Constitution(s) should rightly be part of the selection from which the community gets to choose from, I strongly recommend the EOS community members don’t vote for anything lengthy or complex and here’s why…

EOS is proving to be a flexible Build-it-as-you-go blockchain.

From the ground up, everything can and is being improved and updated at a rapid turn of pace. This flexibility gives EOS a massive advantage over competitor blockchains. Already EOS is the fastest blockchain out there and it’s only going to get quicker and more popular with dapps once IBC and side chains get added into the mix.

The referendum platform is also almost ready and if designed correctly, will be a game-changer. It will allow the EOS community to govern itself and to vote on important issues that will carve out the future direction of our blockchain. It will also make the rush for us to try and decide and finalize a constitution that we all need to immediately agree on, rather pointless.

Why is there this rush to formulate a lengthy Constitution when we have a referendum platform on the way that will allow the community to have its say on important matters and to pivot whenever there’s a requirement to do so?

At anytime, the EOS community can express its will via referenda (which I hope we do sparingly).

For all of the above reasons is why I am proposing a light touch Constitution (at least to begin with) and why I think Dan Larimer and Block.one’s proposed v2 Constitution is a good starting point.

Version 2 of the Constitution (v2) is in essence; Intent of Code is Law.

Unlike the current Constitution, it attempts to spell out the actionable consequences, although it still requires a lot more clarity regarding the how.

Essentially, elected Block Producers allow all software to run on EOS unless the code has unintended consequences (i.e. it has a bug that causes some kind of issue).

“If there is a dispute on intent of code, then intent shall be determined by a super majority vote of elected producers or an arbiter mutually agreed to by the parties to the dispute and enacted by producers. A super majority may, at their discretion, freeze a contract during an active dispute until such time as code to fix the contract is available.”

I interpret this to mean that the responsibility of BPs should be to issue updates of the core eosio code and if any new updates to this code negatively impacts dapps running on EOS then a super majority of BPs may, at their discretion, freeze a contract during an active dispute until such time as code to fix the contract is available.

I do not take this as a suggestion that BPs should be the arbitrators, decision makers or controllers for all dapps built on EOS – Instead I suggest specialist arbitrators chosen by reputation within a free market environment carry out this task (EOSNY have produced some great work around this which I will discuss later in this article).

To Conclude this section


Issues will likely crop up in ways we cannot foresee in advance, these issues may or may not need the community to decide upon a solution, but these issues will likely formulate the constitution for us, over time in a progressive rather than forced manner. There will be many twists and turns to come and we cannot predict the future.  If an event frequently crops up that the majority of the community doesn’t care for, then the majority can put a stop to it. This may require a constitutional amendment, a block producer vote, or it may require a community vote. Either way, the community is able to decide how to handle such unwanted happenings via the tools it has available and this is why I believe working towards an Incremental Constitution rather than defining and ratifying something in hast is a better approach.

Removing ECAF as the default Arbitrator on the Protocol Layer


Because the Constitutional articles are a list of principled ideals that are open to interpretation and have no stated actionable or enforceable measures backing them up, when it comes to enforcement, it leaves us with one rather onerous solution – Instead of the community policing itself under a free market solution, ECAF (EOS Core Arbitration Forum) sits on the protocol level and effectively does the policing/enforcing on behalf of the community.

Whilst this may give reassurance to some, it alarms others in equal measure because;

1) It takes two parties to agree to arbitration. If one party is a thief, then they are not going to agree to arbitration. If ECAF were to rule without agreement by both parties, then ECAF would cease to be an arbiter and would instead become an enforcer, therefore overstepping its powers as a mere arbitration forum.

2) Examining the evidence around accusations of theft takes time; therefore any kind of action taken by ECAF with regards to stolen funds will likely come too late to prevent it, thus rendering ECAF impotent in such cases – so what’s the point in this centralized organization being granted such powers in the first place?

3) ECAF community members’ with powers above those of arbitration will have powers above those of the average token holder. This is something that does not sit well with a large amount of advocates/investors in blockchain technology.

4) Humans with power become corruptible over time.

5) It is a centralized solution.

6) It does not scale.

7) This small group of people if allowed to act as police enforcers rather than mere arbiters may undermine the perception of EOS as an immutable blockchain and therefore reduce its market value.

Each time I or anyone else would raise one or more of the above issues in the EOSGov Telegram channel (especially with regards to ECAF acting in a policing/enforcement capacity), a governance enthusiasts would remind us (often with gleeful enthusiasm) that ‘EOS is a governed blockchain’ and what else did we expect…

Well, my expectation wasn’t for our immutable blockchain to have a centralized human enforcement layer sitting at the heart of it. Sure, we need arbitration, but the remit some are putting forward for ECAF to remain on the protocol layer and be given more powers than other free market arbitration forums could well undermine the perceived immutability of the EOS blockchain.

Plus, I always considered DPoS to be the governance layer in and of itself.  As a community, we vote for the Block Producers we want to secure the network on our behalf and if they misbehave or become corrupt then we vote them out. Or at least that’s how it’s supposed to work.

For those worried about DAO or Parity type attacks taking place, they should seek solace in the robustness of DPoS. Block Producers could and should protect us from a DAO or Parity type attack, for when BPs work together as a majority, they are able to control transactions on the network (2/3 + 1 majority). This feature is often used to levy the accusation of centralization at EOS, but when you compare it to mining pools under a PoW system, it actually appears as the more decentralized system.

Employing (yes paying) ECAF (through the Worker Proposal Fund) as the single arbitration forum that sits on the protocol layer in order to somehow police EOS on our behalf would move us in the wrong direction. To me, it’s a solution based on the old paradigm of farming out authority to a centralized entity who somehow ‘knows better’ than the rest of us. I know others feel differently, but the question we need to ask ourselves remains;

Do we want our governance structure to be a decentralized one or not? 

DPoS is decentralized.

ECAF isn’t.

As a token holder, I’d much rather BPs be the guardians of the network as they have the most visibility and we can (theoretically) vote them out if they prove to be bad actors or have a history of poor decision making. But with ECAF we don’t have this option. As individuals or as a group, if members of ECAF intent to seek executive powers then I don’t see how they could even consider requesting such positions without first seeking approval from the token holder community through the process of being elected (although this would come with its own set of problems as not only would it add another human layer into the mix, it would also require token holders to learn about and vote for another set of people/entities as well as Block Producers).

Voter fatigue/apathy is a very real concern. I believe it is such a concern that the community should only be required to vote for two things;

I) Trustworthy, Competent and Ethical Block Producers to secure the Network.

II) Protocol level changes.

For a community that transcends different cultures, languages as well as political and religious beliefs, we're bound to get radically different interpretations of what the current constitutional articles mean and how to enforce them. There is currently no stated way for us to interpret any violations of these articles with automated actionable consequences, so it is highly likely that different branches of ECAF operating on behalf of different cultures will interpret some aspects of the Constitution in different ways.

EMAC is the Chinese version of ECAF and apart from language, I’ve also heard some community members state that EMAC is required in order to take account of ‘cultural differences’ whilst still operating under the same Rules of Dispute Resolution as ECAF. On the surface, this appears perfectly reasonable, but dig a little deeper and the alarm bells start to ring.

As well as to arbitrate cases, ECAF was also derived out of a perceived need to issue block producers with orders to carry out certain functions such as freezing accounts and reappropriating funds. This idea was conceived out of the notion that if block producers hold all the powers of execution, then they should hold none of the powers in which to rule on what to execute, this power would remain with ECAF.

Therefore;

I) ECAF rule on cases and issue orders to block producers.

II) Block Producers execute the orders issued to them by ECAF.

I can see the logic in this two-stage approach, but when you take into account the fact that ECAF members are not elected and cases are conducted in private until an arbiter has ruled, this is a level of centralization that just isn’t very palatable to most blockchain enthusiasts. It’s not as if Block Producers’ powers don’t go unchecked – The RegProducer agreement defines the rules BPs abide by and the community do the policing. BPs are more closely scrutinized than any other party operating on EOS and this is exactly how DPoS is intended to work.

There is also a serious flaw in regards to ECAF being the sole centralized default forum sitting on the protocol layer that threatens the security of EOS.

As it currently stands, ECAF is a centralized forum with a single point of contact that issues orders to Block Producers who are supposed to carry out these orders.  So with this in mind, let’s look at what could happen with regards to a case involving a nation state wanting to censor EOS

Example – ECAF on the Protocol Layer

If a hostile state were to take exception to something/anything running on EOS and wanted to censor it, its national court could send an order to ECAF/EMAC as the default arbitrator on the protocol layer demanding it to stop running the dapp it didn’t like. Now what happens if ECAF/EMAC agrees to abide by this court order and sends the order to the top 21 BPs to execute (this is how the system is set up under the current Constitution). How are we any different from a centralized system? To me it just makes a mockery of the decentralized platform we’ve built if we include this attack vector into our Constitution.

Some say, in such cases BPs could just choose to ignore the order(s) issued by ECAF/EMAC, which begs the question – What’s the point in having ECAF on the protocol layer?  To provide some type of pseudo protection layer to Block Producers?

Example – ECAF on the Dapp Layer

Block producers are individual entities spread across the globe with hundreds of back up producers ready on standby to take over. Under a new Constitution whereby BPs are no longer required to carry out orders issued by ECAF, the hostile state given in the example above would have to issue their national court orders to the 21 block producers running the network. EOS requires a 2/3+1 majority agreement of the top 21 block producers in order to execute protocol level changes (which censoring would be). Some BPs (likely the ones who are located within the jurisdiction of this hostile state) may comply with the hostile states order to censor and the community could respond by withdrawing votes from those BPs who comply with the orders to censor and replace them with a back up BP in a different jurisdiction who doesn’t agree with the hostile states censorship order. For me, this is how a DPoS system should work. I vote for block producers to secure the network, not members of ECAF whom I have no ability to vote on.

It is easy to see where the single point of weakness lies when it comes to potentially censoring EOS. If ECAF/EMAC was removed from the protocol layer and this system was scrapped, then the resistance to a hostile state attempting to censor EOS would be much harder to do providing the majority of BPs were out of reach of its jurisdictional oversight.

That’s why it’s so important for us to;

A) Vote for a widely dispersed geographical network of Block Producers operating under as many different jurisdictions as possible.

B) Encourage all members of the community to do likewise.

C) Have a large and capable network of back up producers ready on stand by to take over.

My take (and I believe I share this mindset with a growing number of block producers/community members), ECAF should not police at the protocol level of EOS, instead they should be one of many competing arbitration forums that operate at the dapp level under free market conditions.

The community should be educated to only use dapps that allow arbitration forums to be incorporated into them and for there to be choice. These arbitration services could be automated or they could be staffed, or maybe they’re a mixture of both. Within a free market - all options could & should be represented and the best solutions with the best reputations will get implemented.

It’s also great to see those not directly involved in governance suggesting some great ideas around how we achieve this. EOS New York have put out a fantastic paper on their vision of how arbitration could work under free market conditions whereby any account can register to be an arbitrator and it’s a really great initiative that's gaining traction.

The EOS community, through referenda, will need to decide whether they want ECAF/arbitration to sit on the protocol layer or whether they'd prefer it to sit on the dapp layer.

For the purpose of remaining decentralized, I advocate that arbitration (including ECAF) sits on the dapp layer rather than the protocol layer and is responsible for issuing orders only in relation to the dapps on which they are registered to arbitrate on - an agreement made between the dapp and the user(s) of said dapp.

I would also like to take this opportunity to stress that I have nothing against the people involved in the organization known as ECAF/EMAC, I am sure they are all honorable people as well as great arbiters and if arbitration on EOS becomes an open and free market solution on the dapp layer (as I believe it should), then I'm sure ECAF/EMAC will no doubt benefit from their first mover advantage and will be able to carve out a great business for themselves in competition with other arbitration forums under free market conditions.

To Conclude


If as a community, we are able to agree on a free market solution for arbitration on the dapp layer rather than the protocol layer, then I think we can begin to address the concerns many community members, as well as potential investors and onlookers have in regards to EOS being too centralized.

Well done on getting all the way to the end :)

Sort:  

The danger of an ungoverned chain is always higher than one being governed badly (you can always change this in a referendum), in my understanding that's what eos is about. I dont see why Dan and so many (maybe just blindly following him) are so keen about a dapp layer arbitration, which is no arbitration at all, apart from the idealistic idea of voluntarily enabling arbitration... in reality a small hodler will just have to accept the TOC of the mighty EOS critters/casino dapp (just to give you an example), which will be 100% tailored to the need of the casino, and that will make any arbitration (if it were even included in such a contract) nothing more than a joke.

I disagree with your statement that a badly governed blockchain is less dangerous than a non governed one. Thats's like saying any government is better than no government. ToC's will also be subject to the forces of free market economics - A bent casino won't last long when a slightly less bent one comes along, which then gets superseded by a reasonably honest one, which then gets out-competed by one that just gives you random odds and allows you to choose from a list of 20+ registered arbiters.

  1. An ungoverned chain will be in fact governed by the biggest bully in the yard.
  2. That market competition that you describe is an abstract ideal. Why should it be different on EOS than it is with the internet 2.0, namely Facebook et co.?

Before Facebook there was Friends Reunited, Bebo, MySpace, Friendster.

Facebook is the latest incarnation of Social Media.

Blockchain Social Media will work differently than traditional platforms such Facebook as it will likely be designed to reward financially as well as socially. They will also be Open Source projects rather than walled gardens. Apples to Oranges.

'cept, as we saw in Steemit, that worked for a while, and is now apparently captured by the voting rewards bots.

And so there will be a Steemit 2.0
Dan has hinted that he's already building it.

As you rightly say, before fb, there were several platforms that competed, but it turned out that on a globally operating, platform economy, the winner takes it all, and thus there is now only fb (and a few others that compete for their niches), a monopolist, that dictates the rules for everyone, this is a possibility, because corps can act globally, but laws are local, eos with a globally set up - binding! - governance , would be able to rebalance this, but is now threatened, to become yet another uninspired chain, with maybe a solid tech base, but that's certainly not an usp for long....

You are assuming Facebook will remain the winner.

If you believe in some type of centralized global governance structure for EOS then I think we've reached a point whereby we differ politically.

We could easily deploy a smart contract interface that describes to the user the following information before s/he even decides to interact with the dapp:

  • Ricardian Contract
  • List of free market Arbiters that can be used on the dapp in case there's a dipute.
  • A trust rated index.
  • User reviews and experiences of interacting with the dapp.

I think a lot of supporters of ECAF assume that if we don't have rulers in charge at the base layer then there isn't going to be any kind of alternative and we're all going to hell in a handcart. This simply isn't true.

Yes, I fear we will remain in disagreement about this.. I was looking to better understand the v2 position, but i still don't. I am not talking about fb as it is but principals of platform economy with fb as an example.
What you describe is not much different from what we already have with scatter, have you tried to check the ricardian tab of dapps? In just so many dapps that remains simply empty... How will you ever determine the intent of code of that? My point is, if you don't have governance on the base layer, how will you ever be able to - now I say the bad word - enforce that the core principals are respected?

Thanks for your time for bringing us your idea and consideration. Really need time to digest. Good work.

Thank you for reading it.

As one of these people in Governance list promoting the cause, I understand the world-weariness of all the people on the different sides of the debate. But it doesn't help to believe and promote falsehoods which this article does - if you believe in false assumptions, your logic cannot result in useful conclusions. Some remarks about the early parts of this article. If I get time I'll write more.

For example, the statement "ECAF is more mature than many realize." That was true. ECAF was ready. What it wasn't ready for was a flood of cases. It was ready for a few cases. The cases and work that has been done so far has been pretty good, but any flood will drown the best swimmer.

Saying it's not true has to be compared to the alternate. There is no viable alternate as no other forum would respond as fast, and the BPs would have just dropped the ball. ECAF was as ready as it could be in the circumstances, we just miscalculated the load. And it wouldn't have mattered anyway because we and everyone else couldn't meet that load.

Next. Your implied criticism of the Constitution that there aren't the stated actions of enforcement e.g., Article I. That's exactly how it should be. If we had stated actions, the document would be 100 pages or 1000, and people would be spending all their time paying for lawyers to arbitrage it. Instead, principles should be tested by community and battled over in arbitration. Yes, it isn't a checklist. And that is a good thing, because no checklist survives society.

(BTW, I agree thatr most of the clauses in the C need to be rewritten.)

Contributions. The tiny group that worked on the C is about the same as the tiny group that worked on the code. We wanted more people to help, but we can lead the horses to water, not make them drink. It's not a mistake, it's the reality of bootstrapping a mainnet chain of this size.

As an aside, I strongly agree that the C should be short, consise, readable by maximum amount of readers. The current one is too long, and the proposal by @eosnewyork is written in american legalese.

Next. Referendum isn't the wonderful tool you hope it is. The results will be very expensive and you might be surprised: There is no democracy in EOS, and the diversity of opinion isn't clear. The opinion on some of the groups is not matched by the stakeholder value.

"v2" is internally not a constitution. For a set of rules to be rules, there has to be compulsory enforcement of the rules. Otherwise they are mere philosophies, not contracts. Because the arbitration proposal is only over DApp level, the C itself is unarbitral. Which means breaching any component of the C is uncontrolled. One could argue that the BPs will enforce it, but I wouldn't be betting anyone's EOS on that, because, you know who is going to breach the C and get away with it, right? :-)

If ECAF were ready, then why was there no secure method of communication set up with block producers? Block producers didn't know who were members of ECAF and who weren't. Talking of logic; To say it was ready, just not for any kind of volume is to admit it wasn't ready. You have admitted before (Telegram) that ECAF wasn't ready, so I'm not sure why you're now trying to say it was.

If the Constitution was designed to be vague as you say - then it has succeeded. The problem with vagueness is - it doesn't work well on blockchains. We need certainty. Vagueness ensures the requirement for some type of body to sit in judgement - an ideal scenario for those seeking positions within such a body.

Tiny group working on the C - Yes, there was no way around that other than to wait for more people to join the debate (which is still only very small percentage wise).

The article stipulates that the referendum should be used sparingly. So providing we don't have an ambiguous and lengthy constitution that's riddled with inconsistency, then the referendum will be a great tool for setting the direction we want our blockchain to head in. A lot of the mundane stuff can be voted on by block producers.

I agree with you about EOS not being a democracy.

If the C is just a set of rules rather than a vague set of principles, then there won't be a requirement to arbitrate on the base layer. If BPs somehow get around these coded rules, then it's up to the community to judge the rights and wrongs using their votes. Admittedly, this would be way more directly responsive and democratic if it were 1 person 1 vote, but that's another topic entirely.

How could there be a secure method of communications set up with people who didn't exist?

You said ECAF was in an advanced state of readiness with a list of arbiters and administrative processes all in place. I disagreed and said this wasn't true and nothing you have said has changed my opinion on this.

ECAF's readiness or lack thereof appears to change as and when it suits your argument.

If ECAF were ready, then regardless of which BPs got elected, ECAF could have stipulated their chosen method of communication so BPs knew who they were dealing with. They didn't and this caused a great deal of confusion. BPs had no way of knowing who was a member of ECAF and who was a fake.

I still don't think you quite grasp the concept of needing to prove your worthiness before requesting such positions of power.

lol... it's always possible to cherry pick one little point and use that to proove the other guy is "false".

"Advanced state of readiness" is a subjective thing, not a thing provable by one detailed question.

Overall, ECAF was ready because it was able to handle the cases that came in. Look at the history of the 7 frozen accounts. ECAF did its thing, returned its results. As far as I can see, no particular case was badly handled beyond what you would expect in the normal starting phase of a complex and complicated operation.

(And did so securely. BPs were not confused. BPs knew who they were talking to. It might be that the public saw confusing results. But that's not the same as the BPs being confused.)

Ian, I respect you greatly, but I feel you are not recalling recent history correctly. Please read the article below written by a very dismayed and very respected block producer:
https://medium.com/eos-new-york/the-state-of-eos-governance-ecaf-regarbiter-401c073d622d

If the Constitution was designed to be vague as you say - then it has succeeded.

No - those are your words. I won't respond to that strawman, instead better to concentrate on what I said:

Your implied criticism of the Constitution that there aren't the stated actions of enforcement e.g., Article I. That's exactly how it should be. ...

A founding document such as that in EOS should always be brief and principled. Elsewise nobody will read it and understand it.

'Your implied criticism of the Constitution that there aren't the stated actions of enforcement e.g., Article I. That's exactly how it should be.' Yes, I took this to mean vague.

I guess by making them brief and principled it actually creates a job for you guys...

  • i.e. to interpret their meaning on everyone's behalf?

A group of people with expertise in this will no doubt emerge regardless of how it is written. But, better a clear, short readable document of principles that the community can understand and get involved with if it needs to ... than an indeciferable code that results in a guild to protect their secret wisdom.

On your 7 points:

  1. the thief has agreed to arbitration because it's in the Constitution. Unless you take it out ... :-)

  2. defence in depth. This works well if there are 3 day delayed stakeholded amounts or other defences. Use defence in depth. Make it your friend. Actually, many friends.

  3. is wrong, total bunk. Yeah I understand that people might believe that, but people used to believe the earth was flat and the moon was made of cheese. Let's move on.

  4. yes - but that's humanity and removing humans because we're corruptible means removing everyone.

Ask yourself this: is it easier/faster to corrupt the DPOS system or the Arbitration system? if your answer is the Arbitrators you are empirically wrong.

  1. compared to what? What's your definition of 'centralised' v. 'decentralised' ? Let's cut to the chase. ECAF is decentralised across N arbitrators. Each arbitrator takes on a case, essentially at random. So in order to reliably breach the ECAF system you have to (a) put a dodgy arb in place (b) make sure your dodgy arb takes on the case, and (c) deal with all the checks and balances that will stop a dodgy ruling.

In contrast, to breach BPs, you just have to trick one BP once to get a bad tx through. Guess which one happened already - twice.

  1. Bunk. It scales much better than BPs, when funding arrives :-) What's scaling now slowly is volunteer ECAF with only 6 arbitrators. do the math... with funding, we'll move past 21 within a few months.

  2. bunk. if you call someone 'police', they will act like police. It helps the argumentation to use the right words.

The BPs are (like) the police. The Arbitrators are (like) the courts. Literally, practically, and intentionally, the original judgement capability within DPOS has been taken away from the BPs, leaving them the policing or enforcement function, only.

Our versions of what's centralized and what's decentralized obviously differ greatly. Having more arbiters join ECAF won't make it more 'decentralized' if you think that, you're missing the point. More than the worry of corruption is the notion of having this body rule over us with powers (that can be ignored) to freeze accounts and reappropriate funds - thus having control over the immutability of the EOS blockchain. It's an oxymoron.

on the point of 'decentralisation' I just posted ECAF can be more decentralised than DPOS

Adding more employees to a centralized organization = more decentralization... Hmm...

I'm not sure I agree with the logic there. More chance for inconsistency of judgements... Certainly.

thus having control over the immutability of the EOS blockchain.

ECAF doesn't have the power to control users' accounts, but BPs have. ECAF can only propose transactions which are finally made by BPs.

This doesn't have anything to do with "breaking immutability", because it's still preserved. All transactions are recorded in the blockchain and nothing is removed. The blockchain is immutable.

It's about multisig: BPs have the right to create any kind of transactions from any account, so basically all accounts in EOS blockchain are multisig accounts which are controlled by the account owner and BPs. If ECAF is removed from the constitution, users have more to fear because ECAF is supposed to an independent institution in this multisig scheme. Without ECAF, there is nobody to tell BPs what kind of multisig transactions they can make with the users' accounts.

In theory, ECAF could effect the immutability of the blockchain.

In theory, ECAF could effect the immutability of the blockchain depending on what precise point they intervened.

No, this is not possible even in theory. If the immutability of a blockchain is broken, there is some serious bug in the software.

This is how it should go: Transaction is recorded on the blockchain. A dispute arises considering that particular transaction. An arbitrator looks at the case and makes a ruling (which is recorded on the blockchain). A new transaction based on that ruling is proposed to the network. BPs check that the proposed transaction comes from a real arbitrator, etc. and accept it to the blockchain.

All transaction are recorded immutably on the blockchain: original disputed transaction, arbitrator's ruling, and enforcement of the ruling by BPs. Nothing is removed from the blockchain, only new transactions are added to it. Just like a blockchain is supposed to work.

This is semantics. My fault for not explaining fully in the above reply.
If an ECAF arbiter incorrectly rules on a case and orders the reappropriation of funds to another party, then it effectively interferes with the immutability of the blockchain. Yes, the blockchain code isn’t reversed in any way, but the outcome – the result the person who thought they had sent an immutable transaction in the first place - is being modified (by the arbiter) after being created, therefore the intended result becomes mutable.

My point is that talking about immutability of a blockchain in this kind of case doesn't make sense. The technical immutability is preserved, and on the level of token amounts the concept of immutability doesn't apply because everything is done by the rules.

If an account is a multisig account, like every account is in EOS, then everyone who has the keys to the account has an ability to do transactions.

So rather than speaking about "immutability", we should be speaking how to make the system fair, transparent, etc. so that all parties can trust it.

Awesome discussion and a very well written article. We have to side 100% with Kyle on this one, and have been consequently pointing to the same flaws and fallacies perpetuated by the heavy governance proponents that Kyle correctly points out here. It's great you took the time to write it all up, and then carried on with the discussion, as it makes for a good summary of this conundrum.

There are a few misunderstandings here.

ECAF is not a police or an enforcer. It's the judge. What does it judge? Disputes. What kind of disputes are under its jurisdiction? All kinds of disputes in the EOS blockchain which can't be resolved in any other way, because it's the default arbitrator.

The Constitution is a multiparty contract. That's the contract which defines the jurisdiction of ECAF. When ECAF makes a ruling for a dispute, the dispute has been something that was against the Constitution, for example, transferring tokens without the consent of the owner.

If we remove the default arbitrator from the Constitution, there will be disputes that won't get resolved. Users can try to get them resolved through traditional justice systems, but as most already know, it will be very difficult.

The arguments for and against a default arbitrator, IMHO, should be made from this perspective. Can we create a system which can resolve disputes in a protocol layer? If there are risks, are those risks so big that it's better to leave disputes not resolved?

We have already seen that there is much bigger demand for protocol layer dispute resolution that anybody could have imagined. Hundreds of open cases. If the protocol layer dispute resolution is removed, all those cases will be left unresolved.

I think that we really need a protocol layer dispute resolution. Not only for obvious problems, like theft, but for everything that we can't foresee. The more complicated system we have, the more there will be ways to create new kind of problems and disputes. If we don't have any kind of dispute resolution system, the end result tends to be bad.

And maybe even more important is to actually create a market economy. For free markets to function properly, we absolutely need private property rights and a dispute resolution system. Those both are formed by the current Constitution. V2 would ditch them out, so I'm not sure if we can say that we have free markets with it.

Your example how things could go wrong with ECAF on the protocol layer is not very convincing. Governments can't just say to it that it needs to shut down an app. ECAF can only make rulings on disputes. So first there needs to be a dispute. Let's assume there is. What kind of dispute would require to shut down the whole app? That would require pretty convincing arguments if it was to be accepted by BPs and the rest of the community. If ECAF was forced to create obviously false ruling, it would create a shitstorm immediately and very likely BPs would not enforce it. And even if it would somehow successfully to be sneaked in and enforced, without anybody noticing what's happening, the app could be brought back online on a different account. So nothing would be achieved, maybe the contrary, because now everyone would be aware of the app and it would get a lot more users and the next time it couldn't be shut down so easily.

Of course, there is always a way to replace ECAF it was to be corrupted or forced to follow outside orders. It requires a change in the Constitution. It will take longer than replacing BPs, but I pretty sure it would be easy to do. Because ECAF is used by everyone, everyone must care about it. This creates a huge incentive for everyone to make sure that it functions properly. And if it doesn't, everyone has an incentive to pressure it to fix itself, or to vote for another arbitration forum to replace ECAF on the Constitution.

A thief steals someones tokens and the token holder calls ECAF to step in - ECAF agrees to step in and freezes the account (highly unlikely as it's not set up to act this quickly), the thief has not agreed to arbitration, yet ECAF agrees to arbitrate anyway. How is this arbitration when their are not two parties agreeing to it? It's not. It's enforcement. You guys are claiming ECAF doesn't have enforcement powers when it clearly does. If you're not prepared to admit to the powers you possess - why should the community be asked to trust you on how you use these powers?

In terms of the unresolved disputes - my advise to ECAF would be to resolve as many of them as you can before we vote via referendum and show the community your worth rather than holding these cases over the community as some means of political leverage in order to gain funding. A large proportion of the cases you guys have are in relation to the key generator phishing scam in which you have all of the evidence. Refusing to look at cases before being paid just looks like political gamesmanship to me. BPCs all worked incredibly hard to showcase their worth to the community prior to being voted in - why isn't ECAF doing the same?

'Your example how things could go wrong with ECAF on the protocol layer is not very convincing. Governments can't just say to it that it needs to shut down an app. ECAF can only make rulings on disputes. So first there needs to be a dispute.'

The dispute would be between the State and the Dapp.

I appreciate all you ECAF guys for coming on here and putting forth your side and for that I thank you.

Loading...

The Constitution places all parties under arbitration. As a contract, this is binding.

You may say that the thief did not agree with that. Sure, this is a theory that might be advanced. In which case the thief has no rights in EOS. They don't have rights to the property, they don't actually have any property in their ownership because the Constitution is the document that creates the rights to the property in EOS.

Article III – Rights

The Members grant the right of contract and of private property to each other, therefore no property shall change hands except with the consent of the owner, by a valid Arbitrator’s order, or via community referendum. This Constitution creates no positive rights for or between any Members.

Unless of course the thief can present a valid alternative contract that establishes their rights. We're all ears to that!

'The Constitution places all parties under arbitration. As a contract, this is binding.'

Until a new C is ratified.

Unless ECAF is honest about the powers it wishes to grant itself, then there is going to be skepticism. You are more than a mere arbitration forum...

Of course, until a different C is ratified. Meanwhile ECAF will serve the C as it is stated.

It's hard to be more honest that the C is written - the powers are written right there in black and white.

Refusing to look at cases before being paid just looks like political gamesmanship to me.

Oh my lord. Firstly, cases are declined because of a due process. Secondly, it is highly unlikely that declining cases would put pressure on the community to change their ways or thoughts. Only a controversial ruling is likely to do that, and no case has delivered a ruling as yet.

Thirdly, it is the case that EOS victims are grudging supporters of ECAF's existence, but unrepentant grumblers of ECAF's speed.

BPCs all worked incredibly hard to showcase their worth to the community prior to being voted in - why isn't ECAF doing the same?

??? You do understand that this isn't TV trial time - Judge Judy and all that? A lot of cases have sensitivity, and they are not conducted as reality shows for the pleasure of the viewing audience.

The Arbitrator is required to keep mum about any running case, and communicate fairly with only the parties and assistants. Not to run around in chat rooms and say how worthy they are...

The point of maximum transparency is the ruling which has yet to be delivered in any case. Recent figures suggest AAA has average of 7 months. Yes, things have been slow, but yeah, everyone has day jobs too.

And how many standby BPs are being paid now?

Let's not get carried away with Judge Judy hyperbole. Ruling on a few of the simple cases would go along way to showcasing your usefulness. Waiting to be paid $160 per hour per arbiter before taking any kind of action doesn't look great, but hey, it's your gig.

If it's going to take 7 months for someone to get their 200 phished EOS tokens back, it's hard to see how this system is ever going to scale.

Yes indeed. But no matter how much pressure you put on an Arbitrator for a result, he or she should ignore it. It's hardly a workable system if you can push the Arbitrator to follow your bidding.

The dispute would be between the State and the Dapp.

That would be handled in State courts. A ruling or order from the State court would then be forwarded to ECAF under 5.4 External Courts . Then, see @samupaha's response above - firstly ECAF would have to accept and forward the order, then the BPs would have to accept and execute the order, then the Community would have to accept and not referendum / vote out the BPs.

Lots of checks and balances.

The fact that a state court has a single entity in which to engage with weakens the whole decentralized structure we aimed to build. We can talk about the few checks and balances (such as BPs ignoring ECAF/EMAC orders), but the truth is, having ECAF as the centralized arbiter on the protocol layer makes it way easier for a state to request censorship - ECAF builds an accessible door in which hostile states may enter.

I'm not being marginally theoretical either - many states all over the world deny their citizens access to information and employs a practice of censorship upon them.

Granted. It all depends on who your enemy is. If your enemy is the state, you might like Bitcoin better. If however your enemy is the thief, this system works better.

It's doubtful ECAF could gather all the necessary evidence together and rule in time to stop a thief.
If ECAF employed a practice of freezing accounts prior to making a ruling then that opens up a whole other can of worms.

...and so we loop back to the issues I raised in the above article.

Congratulations @eosvibes! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

Award for the number of comments received

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

Support SteemitBoard's project! Vote for its witness and get one more award!