Proposal: Move EOS back to Ethereum and forget this ever happened
EOS is in a very bad place right now. That place is the EOS network.
A lot of EOS participants seem to be feeling nostalgic for the good old days a couple of weeks ago when EOS was going to be the greatest platform ever and they didn't have to deal with all these problems.
This exchange between a block producer and an unknown disgruntled participant sums it up pretty well and has supposedly been confirmed as genuine by the EOS New York block producer.
The situation is supposedly that someone was misbehaving on the network and attacked someone else with a double-spend attack. The attacker was supposed to be blacklisted, but one of the block producers missed that meeting and failed to update their blacklist, so it didn't go through. Someone was then attacked and lost funds.
The most obvious problem is that the block producers present 21 human points of failure, which can fail any time one of them does a human thing. And as rumour in the EOS Telegram has it, block producers reach an agreement by physically signing – with pen and paper – printouts of proposals and then uploading a picture of the paper and their signature. Boy, if only there was some reliable way of verifying digital signatures in a trustless environment by using a blockchain or something.
The slightly less obvious but perhaps more serious problem with all this is that it's clear that the entire network is an autocracy. The block producers are given orders, and if they don't follow those orders, they lose their $10,000-a-day cash cow and get replaced by a more compliant block producer.
At this stage, there seems to be no real reason for anyone to use EOS for real-world applications. If someone wants to build an application on a centralised system, they can go to one of the reliable providers out there and get the benefit of clear commercial agreements and a service that's not dependent on some random person showing up to a meeting somewhere, at some time.
And if someone wants a decentralised system, perhaps to avoid the risk of autocratic unilateral terms and conditions or to create a more robust platform, they certainly don't go to EOS.
Stages of improvement
Credit where it's due, EOS has resolved to address its current shortcomings. With good management, quick thinking and a firm hand on the tiller, EOS might be able to successfully go down kicking and screaming, rather than just sinking like a stone.
The first order of business, after counting all the filthy ICO lucre, was to start addressing people's concerns and essentially provide a kind of customer service experience for EOS. This is, after all, its main point of difference to Ethereum.
EOS doesn't take such a hard "code is law" stance, which is intended to make it more useful in the real world.
Code is law?
"Code is law" refers to a mentality where anything that's possible is allowable. As the reasoning goes, if it's not allowed, it shouldn't be possible anyway. So rather than wasting resources hunting down hackers and punishing theft, for example, you create bulletproof code that simply cannot be hacked.
The idea is that decentralised systems have no authorities, so the laws of the land are determined by the technical constraints of the system itself – computer code is law.
But this is a very strict ideal because humans are fallible, and there will always be mistakes and rogue elements. Also, every novel creation risks being flawed in its own right. In the real world, this problem is solved with rules and with authorities of different kinds to enforce those rules. For example, the rule that you can get reimbursed if someone steals your credit card and starts spending money. Without that rule, credit cards would probably be a much less attractive spending option.
But you can't have those rules in decentralised systems because enforcing those rules means having authorities to enforce them, and there's no guarantee that the authority won't abuse their power. This is seen as an inherent flaw of centralisation and a weak point that can't ever be buffered out.
The "code is law" ideology can theoretically work, but the only way of getting there is by slugging through a constant series of insane costs and devastating errors.
This is where the EOS and Ethereum ideologies diverge.
EOS maintains that the "code is law" ideology is too impractical to ever see real-world adoption. As such, it deliberately built central authorities into its system, with the power to control the blockchain, to reverse transactions, to move funds and to act as a kind of customer service team.
Ethereum, however, is committed to the concept of code is law, arguing that this is the point of this whole decentralisation thing in the first place. If you give any entity central control over the entire blockchain, it's no longer decentralised. If it's no longer decentralised, it's no longer trustless and you might as well just use any other existing database solution.
Much to the delight of EOS's many critics, it has started moving closer towards a "code is law" ideal because its high-paid block producers were getting bored of playing at being customer service representatives. They couldn't exactly hire help either, without delegating control of the EOS network to someone else and inadvertently revealing how pointless the entire thing is.
EOS owner Dan Larimer hasn't enjoyed his customer service stint either.
We have seen that if you give people arbitrary power to resolve arbitrary disputes then everything becomes a dispute and the decisions made are arbitrary. The more power the arbiter has, the more vicious and petty the disputes become and the less predictable the outcome." - Dan Larimer
Now he's proposing a new model dubbed "the intent of code is law." The idea is that block producers stop spending so much time arbitrating disputes and playing favourites, and instead start focusing on adjudicating the intent of the code and using the programmer's intentions as a basis for resolving disputes.
His idea to formalise the power structure so that a super majority of the EOS block producers (two-thirds plus one, so 15 of the 21) get to decide what the intention of the code is and can freeze contracts in certain situations. EOS block producers have already divided into about two or three major cartels, so getting a super majority shouldn't be too hard if the powers that be will it.
This problem is causing some EOS fans to un-ironically suggest alternative methods of picking the block producer from a wider pool.
Solution: Move EOS back to Ethereum and pretend none of this ever happened
EOS's centralisation troubles are chafing, and among all the discussions of how to best tweak the systems, there's one easy solution that's being overlooked. It could just move back to Ethereum and pretend none of this ever happened.
That would solve the centralisation problems and prevent trouble with block producer cartels. And everyone could just hang up a sign saying "code is law," and then tap the sign every time there's some kind of dispute.
Maybe EOS's glory days are simply behind it. It spent its youth talking about how it would change the world, then grew up and got slapped in the face by the real world. It certainly wouldn't be the first crypto project to go live and then feel nostalgic for its pre-release days.
It might not have much point, but if nothing else, EOS can be a cautionary tale and a clear example of the downsides of centralisation.
"Code is law" has always been a controversial topic, even in the decentralisation-focused Ethereum community, but EOS's failure just goes to show that the hard road to decentralisation is worth the slog, that there aren't any shortcuts and that the grass isn't any greener on the centralised side of the fence.
Disclosure: At the time of writing, the author holds ETH, IOTA, ICX, VET, XLM, BTC and NANO.