如果BP放弃了宪法，但是其它成员却受到它的约束，那又产生了一个问题。一个很大的哲学问题是，BP算成员之一吗？如果一群人因为某些裁决或者合约让他们感到不舒服他们就拒绝接受裁决或撕毁这些合约，那我们真的希望这样一群人插手我们的区块？但如果我们接受区块生产外包的话，那我们也可以通过招标、需求建议书、或者直接去找优秀的区块生产企业（Strongblock? Consensys? R3？等）和他们签订合同来达成目的。
7/ 进一步控制– 各方可能拒绝遵守裁决，这种情况下它们都违约了。接下来会遇到什么事不好说，毕竟这要看情况，但我们假设裁决存在严重错误。
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?
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.
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.