Часть III · Глава 22 из 43 · London

EIP-3198 и EIP-7516: даём EVM читать собственный рынок комиссий

EIP-1559 сделал базовую комиссию полноценной величиной протокола — вычисляемой каждый блок и сжигаемой. Но контракт не мог её прочитать: GASPRICE показывает только слитую воедино цену база+приоритет, которую заплатил отправитель. EIP-3198 добавляет BASEFEE; EIP-7516 делает то же самое для блобов. Два крошечных опкода, которые делают рынок комиссий читаемым прямо в цепочке.

Обновлено 2 июл. 2026 г. · 6 мин
Предполагается
  • EIP-1559 (рынок комиссий)
  • EIP-4844 (блобы)

London, август 2021 года (и Cancun, март 2024 года). EIP-1559 превратил цену газа в настоящую переменную протокола: каждый блок сеть вычисляет базовую комиссию и сжигает её. Она каноническая, детерминированная, находится в цепочке — и всё же в момент выхода апгрейда контракт никак не мог её прочитать. Похоже на недосмотр, и исправление почти неловко маленькое; но это чистая иллюстрация повторяющейся темы EVM — значение может существовать в протоколе, но не существовать в EVM, — и это случилось дважды: один раз для газа, один раз для блобов. EIP-3198 и EIP-7516 — два маленьких чтения, закрывающих этот пробел. Выведем их вместе.

1 шаг Комиссия, которую нельзя прочитать

Проблема: базовая комиссия вычислялась, сжигалась — и была невидима контрактам

После EIP-1559 цена, которую платит транзакция, делится надвое: сжигаемая базовая комиссия и приоритетные чаевые предлагающему. Единственным значением комиссии, доступным контракту, было GASPRICE Опкод (0x3a), возвращающий tx.gasprice — эффективную цену газа, которую заплатила транзакция. После EIP-1559 это база + приоритетные чаевые, слитые в одно число; не было опкода, чтобы получить компонент базовой комиссии отдельно. — который возвращает эффективную цену, заплаченную отправителем, т.е. базовую комиссию + чаевые вместе. Не было способа прочитать базовую комиссию отдельно. Это блокирует удивительно многое: релеер мета-транзакций Контракт (или смарт-аккаунт), который платит газ от имени пользователя и получает возмещение. Чтобы возместить точную стоимость, он должен знать базовую комиссию, а не только слитую эффективную цену — иначе он берёт больше или меньше нужного. , возмещающему пользователю газ, нужна базовая комиссия, чтобы вычислить истинную стоимость; on-chain газовому оракулу нужна базовая комиссия как сигнал перегрузки; любому контракту, подстраивающемуся под нагрузку сети, нужно её видеть. А позже EIP-4844 ввёл второе такое значение — блоб-базовую комиссию, со своим рынком в стиле EIP-1559, — точно так же вычисляемую протоколом и точно так же нечитаемую из EVM.

протокол считает комиссию каждый блок… базовая комиссия EIP-1559 базовая комиссия блоба EIP-4844 вычислено, сожжено, on-chain нет входа контракт видит только GASPRICE GASPRICE = база + приоритет — базовую комиссию не прочитать отдельно газ-оракулы и релееры считают возвраты вслепую комиссия существует в протоколе, но не в EVM
EIP-1559 вычисляет базовую комиссию каждый блок (а EIP-4844 — блоб-базовую комиссию), обе сжигаются и находятся в цепочке — но контракт мог прочитать только GASPRICE, где базовая комиссия и приоритетные чаевые слиты воедино. Релееры, смарт-аккаунты и газовые оракулы не могли прочитать базовую комиссию отдельно: комиссия существовала в протоколе, но не в EVM.

→ Шаг 2: раскрыть каждую комиссию как отдельный опкод.

2 шаг BASEFEE и BLOBBASEFEE

Решение: два однокомандных чтения

Поскольку значения уже существуют в блоке, раскрыть их — тривиально. BASEFEE Опкод 0x48 (EIP-3198, вышел вместе с London и EIP-1559): выталкивает базовую комиссию текущего блока в стек. Единственное, дешёвое чтение значения, которое протокол уже вычисляет. (0x48), добавленный EIP-3198 вместе с 1559 в London, выталкивает базовую комиссию текущего блока. Позже BLOBBASEFEE Опкод 0x4a (EIP-7516, вышел вместе с Cancun и EIP-4844): выталкивает блоб-базовую комиссию текущего блока — блобовый аналог BASEFEE. (0x4a), добавленный EIP-7516 вместе с 4844 в Cancun, делает ровно то же самое для блоб-базовой комиссии. Каждый — это единственная дешёвая инструкция, читающая значение, которое заголовок блока уже несёт, — никаких вычислений, никакого нового механизма, просто окно к числу, которое было там всегда.

просто открыть значение, которое уже есть в протоколе BASEFEE · 0x48→ базовая комиссия блока BLOBBASEFEE · 0x4a→ базовая комиссия блоба чтение за одну инструкцию значения, уже посчитанного каждый блок 3198 — с London/1559 · 7516 — с Cancun/4844
EIP-3198 добавляет BASEFEE (0x48) — вытолкнуть базовую комиссию блока; EIP-7516 добавляет BLOBBASEFEE (0x4a) — вытолкнуть блоб-базовую комиссию. Каждый — однокомандное чтение значения, которое протокол уже вычисляет каждый блок. 3198 выходит с London/1559; 7516 — с Cancun/4844.

→ Шаг 3: что становится возможным, когда контракты видят комиссии.

3 шаг Комиссии в цепочке

Итог: контракты, понимающие рынок комиссий

Когда базовая комиссия читаема, релееры и смарт-аккаунты могут вычислять возмещение газа точно, вместо того чтобы гадать по слитой эффективной цене — это важно для абстракции аккаунтов, где контракт авансирует газ пользователя и должен получить возмещение до последнего вея. On-chain газовые оракулы и контракты, учитывающие перегрузку, получают полноценный сигнал, на который можно опереться. А с BLOBBASEFEE становится возможной оценка доступности данных роллапа Роллапы публикуют свои сжатые данные транзакций как блобы. Чтение BLOBBASEFEE позволяет контракту роллапа оценивать стоимость доступности данных прямо в цепочке — передавая реальные затраты L1 на блобы пользователям L2. прямо в цепочке: роллап может прочитать текущую блоб-базовую комиссию и точно оценить свои затраты на доступность данных, передавая реальные затраты L1 пользователям L2. Ни один из опкодов не блещет — но вместе они завершают дело, начатое EIP-1559 и EIP-4844, делая рынок комиссий не просто механизмом протокола, а тем, о чём EVM может рассуждать.

контракты могут учитывать рынок комиссий on-chain релеи и смарт-аккаунты возмещают газ точно on-chain газ-оракулы и логика с учётом загрузки роллапы читают базовую комиссию блоба для цены данных недостающее чтение, завершающее EIP-1559 и EIP-4844
Когда комиссии читаемы, релееры и смарт-аккаунты точно возмещают газ, on-chain газовые оракулы и логика, учитывающая перегрузку, получают полноценный сигнал, а роллапы оценивают доступность своих данных по блоб-базовой комиссии. Небольшие чтения, завершающие EIP-1559 и EIP-4844.
04 Глубже Куда двигаться дальше