EOS New York: We need to talk about where EOS is headed
Could EOS be doing more to leverage its core strengths?
- Asymptotic immutability may be a good long term goal for EOS.
- More clearly differentiating between EOS' governance and protocol layers could encourage smarter development.
- EOS has room to learn from its mistakes.
EOS was the first cryptocurrency to get him excited, said EOS New York member Kevin Rose.
"I thought to myself, 'this is something we could use,'" he said to Crypto Finder.
Now, over a year later and with a lot of fascinating lessons learned, it's time to start seriously thinking about how EOS needs to evolve. Governance is always a hot topic in blockchain, but as a "governed blockchain" EOS needs to be much more proactive about evolving its governance models.
"When we're talking about governance we need to be building solutions that are helpful, not debating weird political theories," Rose emphasises.
The first step is for someone to make concrete, practical and implementable proposals. That's what EOS New York is doing.
The second step is for people to engage with them, and give feedback and suggestions. That's where you come in.
A modest proposal
EOS New York's proposal is to encourage a drive towards "asymptotic immutability".
"You might roll your eyes at this, but I tried to come up with a name for this concept and it's asymptotic immutability," Rose says. "It gets closer and closer, but may not ever actually touch."
Essentially, it's a vision for EOS which makes it increasingly difficult for any party to modify smart contracts, touch other people's private keys, and so on – especially unilaterally. The goal is to move it closer to trustlessness, while still allowing a certain degree of mutability, to retain EOS' key difference.
In concrete terms, Rose pictures the system leveraging EOS' multisignature capabilities.
"You take the owner permission, which is like a master key, and you share a multisignature arrangement with a block producer or a standby producer," he explains.
The key to modify something can then be divided with block producers or standby block producers. In this way, something can be made as close to immutable as needed, while still allowing a certain degree of malleability.
"EOS dapps are mutable. They can be changed," Rose says. "If you're a software developer that would make perfect sense because no one codes bug free software... but to persist in a state of mutability isn't good."
This is because complete mutability defeats the purpose of actually having a blockchain and using decentralised applications. For EOS to serve a purpose next to centralised systems on one side, and immutable systems like Ethereum on the other side, it needs to find that sweet spot between the two.
Asymptotic immutability is that sweet spot, Rose suggests, where dapps can be mutable yet trustless.
"So what we're proposing is a phase of development be introduced to the mindset of developers. You do everything up to launch, you launch, then you have these periods where you start to relinquish control of your smart contracts. You raise the threshold to achieve a change to your smart contracts, making it difficult to do so unilaterally... We cannot expect users to always have to trust developers. That’s not what we’re doing. We're trying to eliminate the need for trust, and moving in this direction I think does that."
The road behind
These suggestions, and the vision of a more trustless EOS ecosystem, have been driven by some clear problems to date. Everything in EOS has not been going perfectly, but one of EOS' key strengths is that it can be updated to solve these problems.
It would be nice to see this key strength being leveraged, Rose says.
One of the first problems, Rose says, is that the EOS mainnet launched without effectively clarifying the difference between the governance rules enshrined in the protocol itself, and the tertiary governance layers later built on top of that framework, such as the EOS constitution.
- The protocol is how the system actually works. For example, the rule that the 21 nominees with the most votes become block producers is unbreakable and enshrined on the protocol level.
- The EOS constitution is an evolving guide whose power is limited by the extent it may influence the behaviour of voters and block producers. For example, it suggests that people should not buy or sell votes because it would be a bad look.
The constitution is not an actual set of a system rules, and block producers such as EOS New York can create and pledge to follow their own code of conduct too. They can then decide on a case by case basis whether the code of conduct is applicable and should be followed. In some cases they might judge their code of conduct to be wrong, or based on incorrect assumptions and so will ignore it. EOS New York has indicated a willingness to do this.
It's anathema to most blockchain enthusiasts, but in EOS' case it's intended to provide flexibility and adaptability.
Clarifying governance layers
Rose envisions it as several different layers of governance and rules. You have the automatically-enforced protocol-level rules, then you have the suggestions laid out by the constitution, the promises independently made by different block producers and so on.
"The problem is that we try to layer additional things on top of that and treat it as if they were protocol-enforced additions to the governance," he notes.
This means a lot of people were under the assumption that the protocol-level system rules and the constitution were both equally enforceable. The EOS vote buying scandal, for example, was scandalous only because some people expected it not to happen. The question isn't necessarily how to prevent vote buying, but to acknowledge that placing a vote has never been completely free – so there's functionally no difference between placing a vote and selling a vote – and to adjust accordingly.
Other changes can be more subtle and organic. For example, moving to describe the EOS constitution as a "user agreement" instead.
"That word ["constitution"] doesn't mean the same thing in every language and this is a global community," Rose notes. "That word can be very inflammatory in certain languages and cultures - a declaration of moral authority."
Someone in the United States might see a "constitution" as a mutually beneficial article that everyone can willingly follow, while someone else might construe it as a self-serving order passed down from a corrupt authority, which can be reflexively ignored. It's not unusual that adherence to the EOS constitution varies so widely. It would be much stranger if everyone followed it the same way.
An EOS block producer's responsibilities can't be purely technical, Rose says. They also need to be aware of these subtler and less predictable types of issues, and come up with ways of overcoming them. And when these tertiary governance schemes aren't working as intended, it's time to go back and ask why, and see what can be done differently.
ECAF is also looking a lot like a failed tertiary governance layer whose time has come, Rose says. ECAF is the EOSIO Core Arbitration Forum, and like the constitution it's one of those secondary governance layers that's been built on top of the EOS protocol.
It was intended to serve as an arbitration and dispute resolution service, but quickly ran into problems when scammers started imitating it to pass down orders to block producers, and when people starting co-opting it as a way of trying to settle personal grudges. With no on-chain way of reliably verifying that an order actually came from ECAF, and a lot of dross orders coming down the pipes, the safe thing for a block producer to do was start ignoring it.
"Right now I would say that ECAF is not working," Rose says. "Most notably what signals that to me, is that ECAF requested that the private keys of an individual account be changed, and the block producer said no."
"There’s a difference between the protocol layer and these additional layers [such as ECAF] that were tried and tested, and they were found wanting unfortunately. The resources that were committed to developing them were not sufficient to build a scalable solution that could survive contact with the blockchain community. It didn't survive contact as far as I'm concerned."
It's a popular sentiment, with an EOS Referendum showing overwhelming (98.5%) support for the scrapping of ECAF.
Speaking of which
The still-quite-fresh EOS Referendum system is another example of one of those tertiary governance layers. Just like the constitution, ECAF and others, it's not binding and block producers are free to ignore it. But unlike the others it might be able to spur some action, Rose says.
"I think the Referendum system... will encourage block producers, who very correctly fear taking risks, into taking action. It's the general support," Rose says. "This is real time liquid democracy on specific issues, and then watching how that plays out with block producers is very interesting."
According to Rose, one of the reasons the Referendum system could help governance results, despite just being an opinion poll, is because it gives a sense of how much support there actually is for certain issues and so how many votes a standby block producer might get by supporting certain changes.
This can drive the more risk averse block producers to more proactive changes, and encourage smaller standby block producers into more assertive campaigning around certain issues that matter to voters. It's an example of how diverse governance layers can be, and the benefits of thinking outside the box when shaping the network.
EOS New York is envisioning a system of asymptotic immutability for EOS in the long run, where it keeps getting closer to complete trustlessness but never quite touches it. But implementing these changes on EOS requires more effective governance systems, and these are also asymptotic.
Better governance models can constantly emerge with the help of new technology, but perfection will always be out of reach. So all the more reason to start iterating sooner rather than later?
Disclosure: At the time of writing the author holds ETH.