Ethereum was awarded the designation as CryptoTulip of 2017, and no small part of that distinction was due to its on-going efforts to deal with the catastrophic results of buggy “smart contracts”.
The DAO disaster of 2016 was “fixed” via an ad hoc hard fork that had the tiny side effect of creating a second, rump Ethereum currency. Since that time, Ethereum has done several more forks to respond to problems. And in 2017 a little oopsie resulted in millions of dollars worth of Ether being locked in inaccessible accounts. This goof has not yet been addressed by a hard fork or any other technical fix.
The underlying problem, of course, is that Nakamotoan cryptocurrencies are designed to be “write once”, with the ledger being a permanent, unchangeable record. This feature is intended to prevent “the man” from rewriting history to cheat you out of your money. (This is a key part of the Nakamotoan definition of a “trustless” system.)
Ethereum has implemented executable contracts on top of this “immutable” data, which is where a lot of the problems come from. Software is buggy, and “smart contracts” inevitably have errors or just plain produce incorrect or unintended results, such as theft. But there is no way to correct the unmodifiable ledger, except by violating the write-once principle, i.e., a hard fork to rewrite history.
True Nakamotoists deeply believe in the unchangeable ledger not only as an engineering design but as the logical foundation of the new, decentralized world economy. But Ether-heads have (mostly) acquiesced to multiple ad hoc forks to work around grievous bugs, which to my mind completely trash the whole point of the Nakamotoan ledger. The CryptoTulip Award citation noted “the tremendous cognitive dissonance Ethereum has engendered”.
It is very interesting, therefore, to see current discussions proposing to regularize this recovery process . The idea, of course, is to reduce the risk and delay of ad hoc fixes with a more open proposal and review process. Unfortunately, this process publicly endorses the very practice that the ledger is supposed to preclude.
This proposal has not been uncontroversial, for many obvious reasons.
In addition to the obvious problem with the whole idea of ever rewriting the ledger, the Ethereum community is dealing with questions about how “decentralized” decision making should work.
Theoretically, anyone on the Internet can have a stake in decisions about Ethereum software and protocols. However, in the crypto world—and “open source” in general—some people are more equal than others. Active programmers, AKA, “developers”, have influence and often veto power over technical developments. And operators of large mining operations have veto power in their ability to adopt or reject particular features.
In the earlier ad hoc forks, the devs decided and then implemented the fork. There was little discussion, and the only alternative was the nuclear option of continuing to use the denigrated fork—which many people did. The result was two Ethereums, further muddled by additional changes and forks.
The proposed new process requires public discussion of forks, possibly including video debates. Critics complain (with good reason) that this is likely to introduce “politicians” into the process. I would say that it also will create factions and partisan maneuvering. It is not inconceivable that (gasp) vote buying and other corruption might arise.
In short, this public decision-making process will be openly political. What a development. The governance of Ethereum is discovered to be political!
The explicit acknowledgement of human decision making creates a tremendous cognitive dissonance with the Nakamotoan concept of a “trustless” system, where all decisions are by “consensus”. (In practice, “consensus” means “if you disagree, you can split off your own code”.)
But it also clashes with the core Ethereum idea of “smart contracts”, which are imagined to implement decentralized decision making with no human involvement. The entire idea of the DAO was to create an “unstoppable” enterprise, where all decisions were implemented by apolitical code. When Ethereum forked to undo the DAO disaster, it essentially undermined the basic rationale for “smart contracts”, and for Ethereum itself.
And now, they want to have humans involved in the decision making!
The very essence of this dissonance is capture in a quote from Rachel Rose O’Leary:
In other words, EIP-867 is so completely inconsistent with the decision-making process it isn’t even possible to talk about it. I guess they will continue to muddle through, ad hoc, violating the spirit of Nakamotoism.
I think that Ethereum is managing to radically “disrupt” itself and the whole concept of Nakamotoan cryptocurrency.
- Rachel Rose O’Leary (2018) Ethereum Devs Call for Public Debate on Fund Recovery. Coindesk, https://www.coindesk.com/ethereum-devs-call-public-debate-fund-recovery/
- Dan Phifer, James Levy, and Reuben Youngblom, Standardized Ethereum Recovery Proposals (ERPs). Etherium Ethereum Improvement Proposal, 2018. https://github.com/ethereum/EIPs/pull/867
- Rachel Rose O’Leary (2018) Ethereum Developer Resigns as Code Editor Citing Legal Concerns. Coindesk, https://www.coindesk.com/ethereum-developer-resigns-as-code-editor-citing-legal-concerns/