As the Ethereum community debated a proposal to fork the network in order to unfreeze Ether tokens locked in some Parity wallets, developer Alex Van De Sande wrote a blog post arguing that any contentious hard fork would hurt the network. Along those lines, he advocates for finding a solution to the problem of the frozen tokens so that the parties which lost access to them are incentivized to continue supporting the current version of the Ethereum blockchain.
Much of the momentum behind EIP867 seems to have dissipated, but there is a continued push to restore access to funds that were frozen when a library contract that served certain Parity wallets self-destructed.
On April 16, Parity’s Afri Schoeden proposed EIP999, which would restore the contract code of the self-destructed contract through a hard fork, causing the frozen Ether tokens to become available once again. In the EIP, Schoeden noted that in contrast to “previously discussed proposals, this [patch] will not change any EVM semantics and tries to achieve the goal of unfreezing the funds by a single state transition.”
Schoeden related that “after lengthy discussions,” it was determined that hard fork-based fixes which involved adjustments to the Ethereum Virtual Machine protocol might trigger “unwanted side-effects.”
He also explained that the EIP would introduce “backwards incompatibilities in the state of” the presently self-destructed contract, because the “Ethereum protocol does not allow the restoration of self-destructed contracts.” Therefore, his proposal includes the following suggestion:
“To implement this [change] on the Ethereum blockchain, it is recommended to add the necessary state transition in a future hard-fork at a well-defined block number, e.g., CNSTNTNPL_FORK_BLKNUM for the Constantinople milestone which is supposed to be the next scheduled hard-fork on the Ethereum road-map.”
Here, Schoeden clearly indicates that the block at which Constantinople would be implemented is simply an example, and that this passage of the proposal is nothing more than a recommendation. All the same, it would appear that bundling EIP999’s changes and separate changes that enjoy broader support into a single hard fork could induce some nodes to support the edited chain even though they would not have backed the EIP on its own.
On the message board linked in the EIP, where Schoeden intended the proposal to be discussed, some of the relatively few contributors supported the move while others spoke out against it.
Referring to discussions that had taken place elsewhere, Ethereum creator Vitalik Buterin wrote that as far as he could discern, “a single company is proposing a change and a great majority unambiguously” opposes it. A few days later, while arguing that his personal feelings on the matter should not affect the ultimate decision to accept or reject the proposal, he stated, “from my [point of view] it seems that the community’s feeling on this issue isalready [sic] clear.”
On the designated message board, Preston Van Loon, a team lead at the Ethereum-focused Prysmatic Labs, contended that the EIP “would set precedent to create another EIP when some subjectively non-trival [sic] amount of ETH is lost by misuse of a valid contract. If I set the wrong owner on my multisig contract and lost all of my ETH, am I entitled to my funds to be recovered?”
Schoeden replied that “EIP is an open process, everyone can file a proposal, everyone is entitled.”
The Ethereum Foundation’s Jamie Pitts also weighed in, opining that while Ethereum’s oft- (and inaccurately) touted immutability “is a special property which has many measurable benefits,” it does not “absolve us of moral or legal responsibility for what happens in the Ethereum network.”
“Perhaps,” he mused, “with EIP-999 and other Ether recovery EIPs we can attain and manage an extremely low mutability in our system instead of assuming immutability.”
EDCC (aka smart contract) developer Bryant Eisenbach said that he believes EIP867 “was not a good precedent to set, and that’s why it failed. I believe this is marginally closer, because hard forks have a signaling process that corresponds loosely to general consensus.”
Van De Sande’s Concerns
Ethereum developer Alex Van De Sande might disagree with this sentiment, according to an EIP he submitted on April 20, which is billed as a possible answer to several recent controversies in the Ethereum community, including the question of recovery forks.
In it, he argues that the frozen tokens incentivize the Parity team to fork with or without the support of a majority of nodes in the network, because if they do, “it’s likely they’ll recover an amount larger than 0,” which is what they currently have to show for the compromised Ether. If they did pursue that course of action, “the main ethereum community might lose a valuable team of developers.”
As Van De Sande related to ETHNews, the proposal advocates repurposing block rewards (after a shift to Casper) so that they can be applied to other ends beyond miner incentivization, such as “trying to help users who suffered great damages and have Ether stuck or lost, as a public good.” In so doing, the proposal would create “a forum that can address [users’] grievances without people having to resort to chain splits.”
While he believes that the “cost of that EIP would be splitting every single token and [he does not] think the benefits outweigh that cost,” he also came out against the position that no action should be taken at all: “If we decide we will NOT deal with parity multisig wallet then they have about 500 million reasons to implement their own fork,” he said, referring to the dollar value of the stuck Ether at the time of the freeze.
In the document, he contended that as long as voices in the space articulate viable narratives to justify the existence each chain emerging from a fork (which is increasingly likely to happen as time goes on), a permanent network split can result. Even if one of the narratives is not particularly convincing, cryptocurrency traders and other parties might support the chain backed by that weak narrative for a variety of reasons, including price speculation.
He also took this logic a step further, warning that, “As long as you can have any reasonable narrative behind both forks, giving the option to chain split will inevitably lead to a chain split.”
Hard forks, he wrote, threaten “to create a burden on every token” that is based on Ethereum’s architecture, one which, in his estimation, is multifaceted.
In the case of asset-backed tokens, a network split could raise questions as to which chain’s tokens legitimately back those assets. In the case of tokens that perform some function in a network, a hard fork could force the team behind those digital assets to choose a side in a battle that they want nothing to do with, and in some instances, they could face legal consequences as a result of their choice.
Additionally, he noted that:
“Ethereum is more than tokens of course, it’s also a platform for apps, games and other sorts of experiments, and all of them would also be split in a similar way. If you are playing a board game, then you’d suddenly be playing two identical games concurrently, and would have to keep playing both or forfeit the winnings in one of the chain. If you own rare online cats, now every one of them will have an evil twin in a parallel universe. Similar things would happen to IOT devices, or smart oracles using embedded chips.”
Ultimately, he concluded, the “cost of forking might be to create and fund and adversarial community.”
Interestingly, though, Van De Sande considers the threat of hard forks to be a positive force in the Ethereum ecosystem. As he told ETHNews:
“I see hard forks as civil war by those who feel disenfranchised. Nobody wants a civil war, and we should avoid it, but the power to have the war is important. Is a bit like coming fully armed to the negotiation table: the fact a minority has the power to fork forces everyone to find a compromise.”