The Consensus Layer Illusion

Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference. — Ethereum.org

As developers, we like to believe in a consensus layer that takes care of all the hard distributed systems problems and lets us write applications. Miners live in the consensus layer, doing whatever it is miners do. Developers live in the application layer with the smart contracts: elegant programs that run perfectly forever on the Ethereum Virtual Machine (EVM). Our dApps interact with an eternal ethereal computer and rely on its integrity.

We know the EVM is powered by consensus, but we don’t need to care about that as long as it works. We don’t worry about miners. After all, nobody needs to understand how semiconductors work, or the circuit design of a modern CPU. Unfortunately, this nice, smooth division between layers is an illusion. The consensus layer illusion helps us forget that miners aren’t our friends.

In practice, however, the boundary between contracts and consensus has more bumps, folds, and blurs than the marketing indicates. Block production affects the state of the EVM, which affects calls to smart contracts. In turn this affects the dApps making those calls and the dApps’ users. If blocks are slow, dApps are slow. If blocks are fast, dApps are fast. If blocks are empty, dapps are frozen.

The consensus layer accidentally interferes with dApps all the time. But sometimes it can reach up and interfere deliberately. The consensus layer is controlled by miners. Miners work for money. The consensus layer will only support the application layer as long as it’s profitable to do so. If miners can make more money by interfering with the application layer, they will eventually do it.

The Mining Treadmill

Miners aren’t your friend. But they aren’t your enemy either. They don’t want to hurt you, they simply can’t avoid it. It’s in their nature. It’s required. Proof of Work demands it. Miners must compete viciously to get very slim margins. They’re stuck on the mining treadmill, and the fastest runners control the speed.