I propose a path forward for fund recovery of the frozen ETH and suggest that this be a topic of the upcoming Ethereum Magicians meetup.
When a following began to grow around Ethereum in early 2014, there was a refreshing feeling to the community and its conversations. At the time, many of us felt alienated by the lack of technical progress and toxic discourse that was developing within the Bitcoin community. It was clear that Bitcoin was (and still is) suffering from a failure to innovate and evolve.
The passion for change and innovation that gave rise to the success of Bitcoin in the first place had been replaced by religious dogma, irrational infighting and complacency — effectively stagnating the project. I hope that the same fate does not happen in Ethereum. If the innovators that took the risks and developed Ethereum are attacked and penalized for technical experimentation, then we will drive the very builders that we rely on away and we will slow development considerably, potentially catching our own case of Bitcoin-esque stagnation.
We should not forget the fact that Ethereum is still hardly into its beta phase. The original Ethereum roadmap includes multiple planned hard forks going forward up to the moment of Serenity. Until that time, we should prioritize development and evolution of the protocol.
Everyone can feel free to be dogmatic about immutability after Serenity.
I call for a return to these values as the guiding principles of our community and look to the leaders and major projects in the Ethereum community to support EIP867, EIP999, or some other equivalent measure, which would allow for unfreezing the considerable amount of ETH locked in frozen contracts via some recovery process. I also suggest that we commit a significant portion of the unfrozen funds towards necessary protocol-layer development and set forth a series of parameters for future decisions of this nature based on the lessons learned from this experience and The DAO before it.
Debunking the Counter-Arguments to Unfreezing Funds
There are a series of common arguments used against EIP867, EIP999 or any other proposal around frozen ETH. The following is a review of the primary points:
The most commonly cited argument I come across from members of the Ethereum technical community is that allowing for a procedure whereby funds are unfrozen could “open a can of worms”. While this isn’t a technical argument without identifying specific attack vectors, it is a valid concern that any hard fork could have unforeseen consequences. However, I have to believe that we can limit negative byproducts by adequately testing any measure (whether it be a hard fork or not) in an appropriately incentivized testnet and by conducting multiple security audits. I propose that any smart contract shipped on the Ethereum mainnet going forward have demonstrably passed no less than 3 independent security audits from technical teams that are widely respected in the community.
The other aspect of this line of concern is that many other requests for fund recovery will be generated if the ETH in question is unlocked. This argument overlooks the fact that there are many users with potentially legitimate cases for the recovery of lost funds at this moment and there will be more in the future.
“This is just about helping Parity, who messed up”
This is not about Parity. There are a lot of great infrastructure development teams working on building Ethereum and Web 3.0. We want them all to succeed. We also know that no matter how deeply we audit code and how laser-focused a team might be on security, vanguard technologies will present bugs and be subject to bumps along the development roadmap.
It is true that nearly a third of all nodes are run on the Parity implementation, including many of the most complex smart contracts and decentralized applications. Arguably, there is not a single team that has contributed so much to protocol layer development of Ethereum software since day-one. While I personally believe that this community does owe Parity a certain debt of gratitude, solving this issue isn’t about helping them. Parity (and Polkadot) will be just fine independent of this ETH because the parachain protocol they are building is very compelling for the entire industry and is appropriately funded.
This is about the 587+ wallets containing frozen funds. This is about helping deserving teams like Moeda, who are building a cooperative banking system for developing nations, TapTrust, who are developing an open-source project meant to bring more trust and transparency to the token economy, and Musiconomi, a decentralized music project designed to empower artists and their fans. Many of these teams have limited runway and may not be able to complete development if the funds are not unfrozen within a reasonable timeframe. What kind of community denies users access to funds that are provably theirs? In the context of the oncoming competitive environment where Ethereum is no longer the only smart contract platform out there, how will these decisions affect future developer’s allocation of resources?
This is about a threat that faces anyone who wants to build on Ethereum. A recent study has proven what we already know, that many, many smart contracts deployed on Ethereum have vulnerabilities with 89% of those studied in detail offering real exploits. Many projects and individuals have lost money due to these trace vulnerabilities, and will in the future. This clearly shows that this is one of many problems with Solidity and we must continue to evolve, or be overtaken by another protocol that can deal with these issues effectively.
I favour a properly orchestrated carbon vote, even if only to test the temperature of the community and evaluate whether or not the token holders are in favour of EIP867, EIP999 or some equivalent solution. Please note that the ad-hoc carbon vote that took place in April was limited only to MEW/MyCrypto wallets and did not have an appropriate communication phase nor deadline for voting and I do not feel that it appropriately represented the community.
I understand Vitalik’s view that stake-voting is nothing more than a plutocracy. I deeply respect his opinions and influential position in the Ethereum community, but would argue that evaluating the signals a carbon vote provides is better than a central authority making decisions based in large part on what the mob is shouting on social media. I observe that some form of governance and signal capture from the community is better than no governance.
“My ETH is now worth more because of reduced supply”
I don’t see how near term pricing is set by actual demand-supply dynamics in any way. Quantity Theory of Money or most other traditional macroeconomic constructs are currently not appropriately pricing token value (and may never appropriately price crypto assets). This should seem obvious considering the current beta of the underlying assets. There is far more noise from the irrational gyrations of the market than there is signal from underlying fundamental metrics around network usage or token velocity.
Furthermore, the ETH in question is not an expressive enough component of the supply to truly matter in the context of total supply. It is myopic to believe that one benefits from someone else’s misfortune in this case. It should be very clear that whether the ETH in question remain frozen or not has no actual bearing on the price of your Ether. In fact, because so much of the frozen ETH belongs to projects fully committed to building decentralized technologies, unlocking it may very well help grow the Ethereum network and in turn increase the long-term value of your ETH.
Immutability and Other Dogmatic Concepts
There is an argument that given the tumultuous events around previous forks (see The DAO à Ethereum Classic) that we should not, under any circumstances, fork to return funds to any individual or group as to negatively affect Ethereum’s reputation as not being an immutable chain.
I would like to remind those in this camp that Ethereum is very much still in early stage development and this sort of dogma surrounding immutability severely disincentivizes innovators from taking otherwise reasonable risks to build the technology of the future.
Those who praise complete immutability and resist fund recovery of any kind should also consider the fact that the ultimate vision we all have for blockchains is to create better, more secure and transparent systems than those we currently have in place. The reason many of these systems were built in the first place was to protect individual property rights. Wouldn’t we rather be a part of a community that respects these sorts of natural laws whenever possible? How can we expect mainstream adoption of blockchains if we ignore this central facet of social consensus? We must have a balanced approach and remember that blockchains are being built by humans, for humans. Humans will make mistakes and code can’t yet account for what is morally and ethically just.
A Proposed Path Forward
There are lessons to be learned from this experience and we must continue to develop best practices in the community. I offer a few proposals, but invite thoughtful feedback on how we could arrive at the best path forward:
1. I call on any prominent projects in the ecosystem to manifest their opinion in favour or not for EIP867, EIP999 or any fund recovery solution. I am quite optimistic that those projects that are focused on solving difficult problems and building complex smart contracts are likely to signal a more forgiving approach because they actually understand the reality here — this is vanguard technology that is difficult to develop and more mistakes are inevitable during the maturation process.
2. At the upcoming Ethereum Magicians Summit in Berlin let’s bring together leading minds in security and try to formalize an updated fund recovery proposal. (EIP867, EIP999 or similar) and ensure that attack vectors are identified, debated and protected against. If we arrive at a reasonable solution, then this could be part of the Constantinople update/fork later in the year.
We should also set forth a set of standards for evaluating proposals of this nature going forward.
3. I suggest that we hold a well orchestrated carbon vote in order to test the temperature of the community.
It is reasonable and fair that we evaluate what the token holders think should be done in this case. As mentioned, previous carbon votes were limited in scope and communication and did not properly reflect community sentiment. Any address and/or wallet should be able to participate.
4. As a community, we must work together on improving and establishing best practices for ensuring security. Robust auditing is a start, but will not catch every bug in innovative new systems. Rather than relying on audits to protect against reputational risk in the event that a bug is found and exploited, we must work to develop real security on the Ethereum network, and be transparent about what measures we take to ensure that security for users.
5. Any time we need to unfreeze ETH from an address and it is clear that this was done through a self-destructed contract or other known issue, a reasonable portion (⅓–½) of the ETH in question must be immediately pledged to protocol-layer development. This can be via a donation to the Ethereum Foundation, Giveth, The Ethereum Community Fund or a set initiatives by a different group as long as it is approved through the Ethereum Foundation or any delegated authority therein. My friend Fred Ersham has deftly highlighted the lack of protocol-layer development happening in Ethereum in his post on funding the evolution of blockchains, so this measure alone clearly provides enough benefit to make this a positive outcome. Further incentivization will be important, especially considering that competing chains will soon offer very compelling financial rewards to low-level developers with the talent to make protocol-layer improvements.
There is a great war for developer mindshare coming. Ethereum no longer exists in a vacuum and the healthy lead Ethereum enjoys can quickly be lost if we are seen as a difficult community to collaborate with and build new, innovative technologies in. If we stop pushing Ethereum forward and improving the experience for developers and in turn apply unnecessarily draconian penalties for the errors innovators make at this early juncture and drive them away, then it is Ethereum that will lose in the end.