Social Consensus Tests - Ethereum's upcoming trial by fire

I sat there watching the hard fork, the air, still on my face - my thoughts were racing - I knew today wasn’t just another day.

See - I’m a person who understands the non-fork opinion, and there is alot of value in holding principles and the ‘code is law’ ethos - my mind was churning over these ideas as I gazed at blocks ticking by on fork.ethstats.net.

The past few weeks have sent me on a sort of introspective journey when it comes to my belief in cryptocurrencies, challenging my fundamental assumptions - now broken - I am picking up the pieces and fumbling with them like pieces of a broken vase - a way to recreate this picture, maybe even make it more beautiful.

The hard truth is, we had to fork. It would have been financial & legal suicide for the community, for some of the brightest minds I have ever met and had the pleasure to converse with. This is important, because even the smartest people in the room are just human. We collectively made human mistakes, and because we are human that makes Ethereum a human technology. For humans, by humans.

As humans, we have created a digital artefact that can embody “Code is Law”, it is our best attempt to get the closest thing to impartial, interruptible and incorruptible process, no, justice. But, as we have found out, Slockit armed with The DAO and in their haste, pushed Ethereum from an experimental technology to an in-production system and the double-edge sword of our impartial judge cut swiftly - and heads have rolled.

Developers mobilised - a hurried rush of focused thinking, at arms and fixing their mistakes - they are abuzz about formal verification, better tooling, development best practices. Communication in public channels like reddit was like wading through hordes of panicked investors. Seeing the sheer volume of emotional responses reminded me that ultimately, the blockchain is a social technology - and we humans, have made yet a fundamental oversight.

We have forgot to test ourselves.

The schools of thought around the hard fork comes down to unmet expectations on both sides. It’s easy to see why a developer would expect a non-fork, that’s what they were sold on and our only other reference is really Bitcoin, apart from protocol changes it has been a shining beacon of impartial immutability. DAO investors were our target audience, early adopters, people who don’t necessarily want to understand the fundamentals and instead place trust on those who create the technology, they were sold on a decentralised investment vehicle that was truly autonomous - and we didn’t deliver.

Therefore it’s easy to see why both sides are disillusioned - because our expectations have been challenged, and no real clear & satisfactory definition of what Ethereum is has been put forward. No one person can say what Ethereum is because Ethereum is exactly what the community want it to be.

In software, we create unit tests to verify our programs behave as expected (assuming the test is sound) but we have nothing, except costly mistakes, to tests ourselves. Therefore I propose we must create unit tests for the community, to test the people of what they are willing to tolerate in the Blockchain to create strong expectations for everyone involved.

Ethereum as a production system should have very clear definitions of what is permitted on the chain, and because of this subjectivity introduced into the chain - we need to implement controversial smart contracts and use-cases. We need transactions that attempt to break the 51% consensus rule to challenge the community and harden the blockchain to make it more secure and anti-fragile.

In the wake of the hard fork, like the fires of a sun rise - Ethereum will undergo, a trial by fire.