Ethereum — децентрализованная платформа, служащая основой для работы умных контрактов — приложений, работающих в точности согласно их программному коду, без малейшей вероятности простоя, цензуры, вмешательства мошенников или сторонних агентов.
— Ethereum.org
Мы, разработчики, любим верить в уровень консенсуса, возлагающий на себя решение всех сложных задач распределенных систем, позволяя нам писать приложения. Майнеры обитают на уровне консенсуса, занимаясь своими майнерскими делами. Разработчики сидят на прикладном уровне и пишут смарт-контракты — программы, которые работают внутри Виртуальной машины Эфириума (EVM). Наши децентрализованные приложения взаимодействуют с компьютером, полагаясь на его целость и сохранность.
Мы знаем, что EVM работает на основе консенсуса, и нам не нужно думать об этом механизме до тех пор, пока он работает. Не думаем мы и о майнерах, ведь в конце концов, нет никакой необходимости понимать принцип работы полупроводников или особенности проектирования микросхем современных компьютеров. Но, увы, это удобное и предсказуемое разделение между уровнями — не более чем иллюзия. Иллюзия уровня консенсуса, которая помогает нам забыть, что майнеры нам не друзья.
На практике переход от контрактов к консенсусу — явление гораздо менее плавное, и не такое однозначное, как принято считать. Создание блоков влияет на состояние EVM, что в свою очередь сказывается на вызовах умных контрактов и в результате влияет на работу децентрализованных приложений и их пользователей. Чем медленнее блоки, тем медленнее децентрализованные приложения. Чем блоки быстрее, тем приложения быстрее. Пустые блоки приводят к остановке работы приложений.