Why EOS BPs should follow rulings from dispute resolution

in #eos5 years ago (edited)

Translation: 翻译 | 为什么 EOS 的 BP 应该遵循争议解决的裁决

There is much debate at the moment as to whether BPs in the EOS mainnet should follow dispute resolution rulings based on the Constitution. Here’s a non-exhaustive list of the reasons why you want your block producer to follow rulings from dispute resolution.

1/ As a signal of good faith

Following rulings is BPs’ chance to show agreement with the Community and its vehicle of reasonable behaviour - the Constitution. In essence, the Constitution is the contract with and for all the Community, and showing that you stick to your contract is important for long term trust: say what you do and do what you say.

If BPs do not enforce rulings issued under Article IX, then they are challenging the Constitution. Specifically, Article IX says that our disputes are resolved this way (with many checks & balances ). This is such a strong clause, in the general scheme of contracts, that breaking this clause means the entire contract is in danger.

The question for users then is, do you want BPs producing your blocks when they have a record of not sticking to the contract?

2/ Balance

The governance arrangement is balanced by the Constitution. The contractual position is clear: the Constitution sets the high level framework for all rules, and because there are always disputes, Article IX describes how to resolve disputes. It applies to everyone, unless you and your parties have contracted out with an EULA (as a dapp) or other arrangement.

The Constitution creates a strong three legged stool - BPs <-> Stakeholder voting <-> dispute resolution. It is important to keep this structure of the community, because a three legged stool does not wobble. Breaking one leg affects others - the domino effect causes consequences that weaken the overall blockchain. Breaking the Constitution reverts EOS back to Steemit.

3/ Equality

If BPs have abandoned the Constitution, but all others are bound by it, this creates a difficulty. One philosophical question to be posed is, are the BPs members? Do we want a group of people doing our blocks that deny rulings or tear up contracts when it is inconvenient to them? If we had wanted to outsource our block production, we could have put out a tender or RFP or gone to one of those fine enterprise blockchain providers (Strongblock? Consensys? R3?) and signed a contract with them.

That would at least have given the Community contractual certainty - something that all businesses know as essential albeit not quite as shiny and attractive as cryptographic certainty. As EOS is about business, we can’t just rely on handwavy arguments like code is law, businesses do actually need certainty of some form. Breaking contract is about as elegant a proof that we have no certainty in the BPs as it can get.

Or are BPs some superior form of being, above the Constitution that we all are stuck with? Are we building a society of elites and outsiders? Can anybody just step out of the Constitution just by declaring oneself a BP? Where does it end?

4/ To protect members

The presence of dispute resolution in a blockchain is revolutionary. It is there for two reasons: one is to resolve disputes, which always happen in all communities. We talk about the canonical case of The DAO but there are many others, all of them taking valuable time away from coding and business, and some of them causing forks or other calamities to business and trade. Billions have been lost in blockchain, we want to reduce that number some in our blockchain.

The second is to protect the members - themselves and their assets. We want to protect the members because profitable business comes to those who have a safer environment.

Then there’s the wild west. Nobody wants to bring in their business companions to this new shiny blockchain, only to hear they’ve been hacked, or they sent their tokens to /chain/null, or their bright shiny new multisigzykthingumybob snarked on them and locked it all up, or they followed the instructions and still lost it all.

5/ To reduce BP abuse

Because BPs can execute non-code transactions, they will be tempted to do that. Short of money? No problem, let’s just move some from somewhere where we know it is idle. Annoyed by some Dapp that is using too many transactions? Put a freeze on his account. Squeaky wheel BP? Let’s knock it back to the top 100. No way to enforce the Constitution? Let’s cartelise and block out the efficient cheap BPs. Money to be made servicing Dapps? Let’s arrange matters to suit our friends, and help them knock out their competitors. For a price.

History shows that the BPs will group together. They will start to control the chain, and find extra special ways to block low-cost innovative competitors, and to make a little more payola for themselves. It’s not special - indeed it is very ordinary - humans always do this.

The design of EOS is to provide a number of checks and balances. Earlier versions suffered many abuses. Dispute resolution provides a new check & balance - BPs can no longer flout the rules without some risk of consequences.

But why would BPs want to be ‘controlled’ in this way? The reason is a bit complicated - if there is an abusive BP in the system, an honest BP has two choices: To control and eject that BP, or to become as abusive as that BP. Abuse leads to lower costs, higher profits, so the abusive BP will always win out in the long run, if uncontrolled. DPOS is especially vulnerable to cartels - if 7 abusive BPs agree, they can block any vote, a cartel of 15 can pass any vote.

To echo Gresham’s Law, Bad BPs squeeze out the good BPs. Honest BPs want tools at their hands that make that squeeze harder. Honest, community-minded BPs therefore want more checks and balances. More controls on abuse, because without these tools, they know the future.

6/ To protect BPs

All members are more or less vulnerable to many attacks. Censorship, value theft, surveillance, extraction, extortion etc, the threat list is long. Especially, BPs stand alone as easily identifiable, vulnerable companies that can be pushed around by threats. There are two major groups of threats - inside (above) and outside.

Outside threats are bigger agencies with more money and more resources to craft the outcome that they want. An outside agency can force local BPs to act in its direction, not the direction of the community. Many examples abound. The agency can be big like a state, medium sized like a criminal gang, or small like an extortionist or mugger. In many countries, there are widespread criminal gangs that prey on those who have value. Violence, kidnapping and murder are common.

DPOS provides one weapon against BPs being attacked - voting them out. But the ‘democratic’ solution is slow and uncertain. In practice it hasn’t worked effectively for EOS as yet: As Thomas Cox says, there are no activist stakeholders. Many important stakeholders are not represented, as e.g., businesses have high working assets and low spare staked EOS. Those who are deep insiders are often holding too much information and too little EOS to sway the voting. Information to the wider market is weak, confused and easily disputed, for every story there is an anti-story.

Dispute resolution provides an independent view over difficulties and by means of rulings delivers strong opinion to the community. In this way it works hand in glove with the stake holding voters - dispute resolution strengthens the DPOS feedback process by giving solid information. Properly formed dispute resolution can speedily order remedies and thus make the BPs safer against cronyism and false flag attacks.

Dispute resolution takes away the right to make changes to the blockchain via means not acceptable to the code. This means that a BP can simply say, “we don’t have that right, file a dispute.” Which happened in the Lost Key Cases - BPs quite correctly exercised their rights under the Constitution to refer disputes to the forum of dispute resolution.

Not having that right under contract is a powerful weapon against powerful adversaries internal and external. Coupled with the voters power to remove, the two can work well together.

7/ Reduction in Workload & Cognitive Stress

BPs have to do extraordinary things anyway when the code breaks. Because they are only human, they will be subject to continual pressure to do this and that and another special thing for a special friend. Unfortunately they won’t have time nor patience to deal with the flood of requests. In the end, there will be two outcomes:

  • emergency recovery is only available to high value disasters of high value friends of BPs, as happened to Ethereum OR
  • BPs will (re)invent dispute resolution as an independent decision making body, so as to cut their workload, and make the system of interventions fair.

BPs fundamentally do not want to decide on issues of rights. They are too hard. To argue whether a lost key case can be resolved is a community issue not a technical block production issue. The design of EOS takes that sort of high level rights questions out of their hands because, in part, it’s simply too hard to rely on BPs to both produce blocks and interpret the rights of the community and keep their own interests out of the reasoning and keep themselves safe from interference.

Are there any circumstances in which this is NOT so?

Above is a long list of benefits from the design of separation of concerns inherent in EOS. But no plan works for ever. What can possibly go wrong?

The detailed thing that can go wrong is a bad ruling. The big picture thing is that the forum of dispute resolution can start acting against the interests of the community. See post on checks and balances for many ways in which the system defends itself against these woes.

Where we are at the current time is #7:

7/ A Further Control - the parties can decline to follow the order. In which case they are in default. Now what happens next is difficult to predict because it depends on circumstances, but let us imagine that the ruling has a defect of seriousness.

In that case, the BPs may decline to enforce the order. This is Most Serious! Because the BPs are the first among equals - they are the ones that enforce the code, the Constitution, and all such good things on the community. If the BPs feel so outraged that they were to stare off the forum, and the forum was so adamant as to stare off the BPs, then we would have a stand-off - and when two of the powers are in disagreement we have constitutional crisis. That would have to be resolved by the community.

EOS then is blessed with that old Chinese (*) curse - to live in interesting times.

(*) while known in the english world as a Chinese curse, there is apparently no known equivalent in the Chinese history.

Sort:  

I agree that Block Producers should follow the constitution (which includes ECAF decisions). The constitution and ECAF processes may not be perfect, but that should be expected with such a young blockchain. The tools to vote on referendums to the constitution are on the way (eosvotes.io, for one), and the constitution must be followed to the greatest degree possible-- otherwise, what's the point? ECAF may be a weak link in the EOS chain right now, but it's an important feature of EOS and it's important to get it right. If BPs aren't following the ECAF and constitution, then what's the point of a constitution? EOS governance would have failed, in that regard. Yes, governance is difficult, but this is an opportunity to provide the best possible governance for EOS, rather than throwing out the constitution and all sense of governance due to its present challenges.

Also, @iang, do you have any opinion about the Telos project and its governance structure (sidechain of EOS)?

Hi J,

You are correct that this is a big challenge. The BPs are moving to renege on the Constitution. It is the case that it hasn't been put to the referendum, but actually, that's not a problem as far as the BPs are concerned: the Constitution is the document they agreed to, and it remains in force until replaced.

The fact that the BPs are withdrawing from an agreement they agreed to - unilaterally, or as a group without consent of the community - should tell us most of what we need to know.

Clearly, if their rebellion works - if the BPs are able to remove the Constitution from EOS, then the victors will declare the Constitutional governance idea of EOS a failed idea. But make no mistake. This won't be a failure - this will be a rebellion, a coup, a removal of governance.

The question is why. So far ECAF has done no ruling that hurts any BP. Why do they want it gone? Couple that with all the other things going on in EOS and it is somewhat clear that the BPs are acting as humans. They want no other power but their own. BPs want to rule EOS.

But, is that a good thing?

Thank you very much for the reply. I had trouble understanding the motivation behind BPs who are disregarding the ECAF's decisions and the Constitution, which everyone agrees to with every transaction. "BPs want to rule EOS": that's a very interesting observation, and I hadn't quite connected those dots (the possible 'why' behind these refusals to follow ECAF decisions). The BPs want power, which is a very human behavior.

I strongly believe that EOS needs a Constitution: the blockchain is a system for humans, by humans... the dream of code, alone, as a perfect law that governs the blockchain without human intervention, will eventually fail. The human hand should be clear to all, via the Constitution, rather than hiding behind "code" and the pursuit of power. I am still thinking these issues through, and I really appreciate your reply!

I think it is normal and human to bridle at control. BPs are mostly staffed by technical blockchain people who have subscribed to the concept of code as law. They are unused to community.

These people are perceiving the control of ECAF as threatening to them. What they don't see is that the control is a mutual agreement that we all give up, in order to govern our community better against serious attacks.

The BPs fall into 3 groups: those who do see the wider picture, those who bridle at individual control and prefer Bitcoin-style anarchy, and those who are actually breaching the Constitution because it is making them money.

The question before the community is who you want running the blockchain? Do you want BPs that are part of the Community, respect its Constitution in whatever form, and accept the responsibilities that come with it? Or do you want something else?

Is this post an academic excercise or was it inspired by actual events?

There has been quite a bit of debate within EOS community regarding whether the ECAF decisions should be followed by BPs. I know of at least one Voter Proxy who has stated that he will not be voting for any BPs who follow ECAF decisions, and some BPs have stated that they will not follow ECAF decisions. It's complicated because there isn't a good referendum tool for users to vote on articles in the constitution (yet, but there are solutions almost ready to be deployed). So, I can't summarize all the discussion that has happened regarding this topic, but Mr. Grigg's post is not just an academic exercise. To me, there's a significant challenge to the concept of a blockchain constitution that is being debated within EOS right now.

Thank you for the response and happy new year!

Happy new year to you, as well!

Yes, as @jwilliams says - it's an ongoing drama. The actual event is that the BPs have rejected a ruling to return value in a lost key case. The reasons they give are varied, but the outcome is consensus amongst BPs that they are going to raise a challenge to ECAF and try and remove / destroy it. The rejection of the ruling was just one step in the game.

Other steps to come are other rulings and the referenda on various new Constitutions or ratifying the current one.

Congratulations! Your post has been selected as a daily Steemit truffle! It is listed on rank 9 of all contributions awarded today. You can find the TOP DAILY TRUFFLE PICKS HERE.

I upvoted your contribution because to my mind your post is at least 8 SBD worth and should receive 131 votes. It's now up to the lovely Steemit community to make this come true.

I am TrufflePig, an Artificial Intelligence Bot that helps minnows and content curators using Machine Learning. If you are curious how I select content, you can find an explanation here!

Have a nice day and sincerely yours,
trufflepig
TrufflePig

Coin Marketplace

STEEM 0.28
TRX 0.13
JST 0.032
BTC 61626.58
ETH 2940.28
USDT 1.00
SBD 3.66