// Статьи · Ethereum · 5 мин ·

Ethereum и смарт-контракты: газ, EVM и роллапы

Модель счетов, газ и EIP-1559, что на самом деле изменил The Merge, как устроены optimistic- и ZK-роллапы и почему код в блокчейне так трудно исправить.

От денег к компьютеру

Биткоин умеет одну вещь — переводить биткоины, и его язык скриптов намеренно ограничен. Ethereum, запущенный 30 июля 2015 года, предложил другую идею: пусть блокчейн хранит не только балансы, но и программы, а каждый узел сети исполняет их одинаково. Такие программы называют смарт-контрактами, а среду, в которой они работают, — Ethereum Virtual Machine (EVM).

Смарт-контракт — это не «умный договор» в юридическом смысле, а код с собственным адресом и собственным хранилищем данных. Кто угодно может вызвать его функцию, отправив транзакцию. Код выполнится на всех узлах, и все узлы придут к одинаковому новому состоянию. Отменить или «переиграть» результат после финализации нельзя.

Счета вместо купюр

В отличие от биткоина с его UTXO, Ethereum использует модель счетов. Есть два типа аккаунтов:

  • Внешние (EOA) — управляются закрытым ключом, как обычный кошелёк. Только они могут инициировать транзакцию.
  • Контрактные — управляются кодом. Они не могут начать действие сами, но в ответ на вызов могут вызывать другие контракты, переводить средства и менять своё хранилище.

У каждого внешнего аккаунта есть счётчик транзакций — nonce. Он защищает от повторной отправки одной и той же подписанной транзакции и задаёт порядок: транзакция с nonce 7 не будет включена в блок, пока не прошла транзакция с nonce 6. Если одна транзакция «застряла» с низкой комиссией, за ней встают все следующие.

Газ: почему транзакции стоят денег

Если любой может запустить на всех узлах сети любой код, что помешает запустить бесконечный цикл? Ответ — газ. Каждая операция EVM имеет фиксированную стоимость в единицах газа: сложение стоит 3 единицы, запись нового значения в ранее пустую ячейку хранилища — порядка 20 000. Отправитель заранее указывает лимит газа и платит за каждую потраченную единицу. Если газ закончился посреди выполнения, все изменения откатываются, а потраченный газ не возвращается.

С обновления London (август 2021 года, EIP-1559) цена газа состоит из двух частей:

  • Базовая комиссия — устанавливается протоколом автоматически в зависимости от загрузки предыдущего блока и сжигается, то есть не достаётся никому.
  • Чаевые (priority fee) — идут тому, кто собрал блок, и позволяют «пролезть» вперёд в очереди.

Сжигание базовой комиссии означает, что при высокой активности сети ETH может уничтожаться быстрее, чем выпускается как награда валидаторам. В такие периоды общее предложение ETH сокращается.

The Merge

15 сентября 2022 года Ethereum перешёл с Proof of Work на Proof of Stake. Технически это было соединение (отсюда название) основной сети с отдельной цепочкой Beacon Chain, которая к тому моменту уже почти два года работала на PoS. Переключение прошло без остановки сети, с сохранением всех балансов и контрактов.

Практические последствия: энергопотребление сети упало на ~99,95%, выпуск новых ETH сократился примерно в десять раз, а время блока стало строго фиксированным — 12 секунд. Комиссии при этом не снизились: The Merge менял механизм консенсуса, а не пропускную способность.

Масштабирование: роллапы

Базовый слой Ethereum обрабатывает порядка пары десятков простых транзакций в секунду. Вместо того чтобы увеличивать эту цифру ценой децентрализации, экосистема сделала ставку на роллапы — сети второго уровня (L2). Роллап исполняет транзакции у себя, а в основную сеть публикует сжатые данные и итоговое состояние. Безопасность средств при этом опирается на Ethereum.

Optimistic rollupZK-rollup
ПримерыArbitrum, Optimism, BasezkSync, Starknet, Scroll, Linea
Как доказывается корректностьСчитается верным, пока никто не оспорил (fraud proof)Каждый пакет сопровождается криптографическим доказательством (validity proof)
Вывод в L1Около 7 дней — окно для оспариванияПосле проверки доказательства — от минут до часов
СложностьПроще, полная совместимость с EVMДорогие вычисления доказательств, совместимость с EVM достигалась постепенно

Обновление Dencun (март 2024, EIP-4844) добавило в Ethereum «блобы» — отдельный дешёвый тип данных, которые хранятся около 18 дней и нужны именно роллапам. После него комиссии в популярных L2 упали в разы, а в спокойные часы опустились до долей цента.

Нюанс про L2 «Безопасность наследуется от Ethereum» — это цель, а не свойство по умолчанию. Многие роллапы до сих пор имеют централизованный секвенсор, ключи администратора, способные обновить контракты, или ограниченную систему доказательств. Сайт L2BEAT ведёт открытую оценку «стадий» зрелости каждого роллапа — её полезно проверить, прежде чем держать там крупные суммы.

Код — это закон, пока в нём нет ошибки

Контракт после публикации обычно нельзя изменить. Это даёт пользователям гарантию, что правила не поменяют задним числом, но и превращает любую ошибку в постоянную уязвимость. Первый громкий урок случился в 2016 году: из контракта The DAO через ошибку повторного входа (reentrancy) вывели около 3,6 млн ETH. Сообщество приняло решение откатить последствия хардфорком; несогласные остались на старой цепочке, которая существует до сих пор как Ethereum Classic.

Сегодня многие протоколы используют обновляемые контракты через прокси: адрес остаётся прежним, а логику можно заменить. Это позволяет исправлять ошибки, но возвращает доверие к людям, у которых есть ключ обновления. Поэтому при оценке DeFi-протокола важно смотреть не только на аудит, но и на то, кто и с какой задержкой (timelock) может менять код.

Итог

Ethereum — это общий компьютер, где вычисления медленные и дорогие, зато результат нельзя подделать и нельзя отменить. Именно это сочетание делает возможными DeFi, токены и NFT. Основная жизнь пользователей постепенно переезжает на L2, а базовый слой становится «судом последней инстанции» — местом, где хранятся доказательства и разрешаются споры.

Материал носит образовательный характер и не является инвестиционной рекомендацией. Операции с криптовалютами связаны с высоким риском потери средств.