Welcome to the Quagmire

I’ve spent a lot of time recently agonizing over the Ethereum hardfork. If you are an ETH supporter, I want to say that despite being trolled and told I should leave that community, I tried very hard to convince myself that it’s worth investing my time in Ethereum. Previous to this I’ve been working for some months on my first DApp which I consider a “cypherpunk art project” and an economic experiment. I don’t think it’s going to change anyones life but it might enliven the space and provide some insights into the limits of what blockchains can be used for. I personally really wanted to deploy that project on a unified network and personally needed that network to exhibit all the properties which blockchains normally purport. I’d like to talk here about my perspective on the current situation and my indecision about how to move forward.

Following the draining of the DAO, a new lexicon entered the Ethereum space. The idea that the community that supports a blockchain is the final arbiter of outcomes. This idea is the source of the schism that has now formed. It is essentially a philisophical break between interventionists and anarchists. On the ETH/interventionist side we have those, including Vitalik Buterin, that seem to believe that hard forking to revert the outcome of the DAO was a matter of justice. That the draining event violated the intent of the code and was outside the consent of the contract’s users. On the ETC/anarchist side we have those that believe that “code must have consequences” and that for the blockchain to have value it must provide a level playing field where code is the only judge. It’s no secret that I’m in the latter camp. But the reason why I’m in that camp is not because I have a strong opinion about interventionism or want the DAO drainer to keep money that others don’t want then to have, it’s because I believe that the costs of maintaining an interventionist blockchain is most likely unbearable. In my opinion the ETH community has just rushed into a quagmire.

In a recent tweetstorm bitcoin core developer and Segwit contributor Eric Lombrozo pointed out his team is constantly aware that these networks “operate in adversarial conditions 24/7”. This means to me that “attackers” are part of the internet, just as viruses are part of nature. No amount of moralizing can stop twelve year olds from breaking your shit for the lolz, expect them. If your system has an exploit assume it will be found and just hope that you will find it first, have a contingency for an unexpected failure outcome. This is why for example exchanges segregate user funds into cold and hot wallets, they know that they can’t plug every hole.

The quagmire comes about because we can be sure that in this adversarial environment more injustice will occur on the blockchain, and if its size and value increases the frequency of this injustice will also increase. More contract vulnerabilities will be exploited, criminals will utilize the blockchain, and many other things will happen that we don’t like. With the interventionist door open we now have a moral obligation to address these things by intervening in the blockchain. If we don’t have an obligation to continue to do that then how exactly do we justify the hardfork we just executed?

This new path is troublesome because it’s unlikely that the next big problem will even lead to moral consensus. For example if a darknet market was set up on the Ethereum blockchain, and built up a wallet to the size of $50 million USD and that market was hacked or exit scammed it’s unlikely that everyone would agree on how to treat that contract. The fallout from that disagreement will mean more fracturing and more costs. In another example, imagine if one company using the blockchain is hacked and it’s competitor lobbied to prevent an intervention. The moral hazards abound.

I’ve also observed that many in the Ethereum community seem to think that Ethereum will be able to avoid use cases that they find objectionable (as expressed well by this video blogger). It’s not hard to see how the cost of policing a supposedly open blockchain by an informal community with diverse ideologies could quickly become untenable, that is if it’s possible at all.

Because it’s impossible to actually enforce such justice unilaterally the efficacy of enforcing it at all is questionable. Take for example the inequity between the Ethereum communities reaction to the Shapeshift.io attack as compared to the DAO’s. Shapeshift, which is a liquidity provider to the Ethereum ecosystem, lost the contents of it’s ETH hotwallet due to an attack. For some reason Shapeshift had no access to the blockchain arbiter of last resort even though the amount that was stolen was significant to the success of their business and their business provides a service that helps the entire Ethereum community. It makes you wonder if this inequity had anything to do with their strong support of ETC. A recent Shapeshift ad had the copy “Step right up, step right up! Let your anger surge through you! If you don’t buy ETC, you’re actively helping ETH!”. How can you blame them?

If this type of prejudicial application of justice were to continue it would no doubt foment more outrage and more accusations of preferential treatment at Ethereum insiders. I believe this is likely to become unweildy (if it isn’t already) and will no doubt make Ethereum and the DApps built on top of it the prime target of idealogical hackers intent on exposing what they perceive to be cronyism and an unlevel playing field.

In my oppinion the Ethereum community would do well to, swallow their pride and learn from the success of Bitcoin. I can guarantee that more vulnerabilities will be found, more attacks will come, and the faster they move into new experimental technologies that put actual value at risk the more likely it is that a new crisis will emerge. The next crisis will mean that the hardfork mechanism will be called upon to interfere again. Each time this happens it will choose winners who get interventions and losers who don’t qualify based on some decidedly arbitrary terms.

So, what’s the alternative to the quagmire: the anarchist approach to blockchain. (cough…It’s not really a new thing.) The approach says listen, everyone must understand that whatever value you place into a contract is in an adversarial environment and at risk… your risk. Do so only if the value that contract provides to you is greater than the risk. You can mitigate by using contracts that you know to be safe because that contract is either extremely simple, has been verified formally or has a track record of testing, robustness and success. The community can also mitigate this risk by continuing a culture of incentivizing white hat hacking of faulty contacts (as I wish would have happened with The DAO). But what we won’t do is risk the integrity of the platform by trying to fix a user level problem on the system level as this would increase systemic risk. The blockchain itself stores too much value and important information to ever be put at risk. The unity of the community that surrounds the blockchain is more important than todays prejudicial notion of justice.

So moving forward, I’ve had a lot of trouble convincing myself to build on the ETH blockchain though I know that that is likely to remain the largest and most active community in the smart contract space. Not only am I philosophically opposed to prejudicial justice and not only do I fear that the costs of interventionism will be unbearable, but the ETH blockchain actually invalidates suppositions of my experimental work.

The Ethereum Classic blockchain is an interesting alternative but it has it’s own problems. Because a large number of ETH supporters hold ETC and see that chain as a threat to their investment, their power to wage economic war on ETC is vast. That chain might be economically unstable for some time if it survives. The conclusion I’ve come to is that on both chains the premine may be too much baggage to create the blockchain product that I’m looking for. The best thing may be for myself and others might be to build on a clone chain where every token has been mined from the genesis block and the community agrees from the beginning on a principle of anarchy.

Thanks for reading, you can find me in on reddit and twitter with the same username and often you can talk to me directly on Whalepool Teamspeak.