EIP-2028: снижение цены, сделавшее роллапы возможными
Вся безопасность роллапа строится на публикации данных транзакций в L1, а такие данные оценивались в 68 газа за байт — так дорого, что это стало главной статьёй расходов любого L2 и не давало экономике роллапов сойтись. EIP-2028 снизил цену до 16. Именно это изменение, в 2019 году, открыло дверь в эпоху роллапов — дверь, которую позже расширили блобы.
- газ и calldata
- роллапы (идея)
Стамбул, декабрь 2019 года. Одни апгрейды меняют то, что Ethereum может делать; этот же изменил то, что стало экономически возможным — и тем самым незаметно запустил эпоху роллапов. Роллап масштабирует Ethereum, исполняя транзакции вне цепи, но публикуя их данные в цепи, чтобы любой мог восстановить и проверить L2. Эти опубликованные данные и есть безопасность роллапа, и живут они в calldata. Загвоздка: calldata оценивалась в 68 газа за байт, из-за чего публикация данных становилась самой крупной статьёй расходов при работе L2 — настолько дорогой, что роллапы едва сходились в экономике. EIP-2028 — это однострочное изменение цены с непропорционально большими последствиями. Давайте выведем его.
Проблема: публикация данных доминировала в комиссиях роллапов
Гарантия роллапа — это доступность данных Свойство, при котором данные транзакций роллапа публикуются там, где их может забрать кто угодно, чтобы независимо восстановить и проверить состояние L2. Роллапы получают её, публикуя сжатые пакетные данные в Ethereum L1 как calldata. : он публикует сжатый пакет L2-транзакций в L1, чтобы кто угодно мог восстановить состояние L2 и проверить его. В L1 этот пакет едет в calldata Входные данные транзакции — байты, доступные EVM только для чтения. Именно туда роллапы кладут данные своего пакета. Стоимость газа для неё считается за байт: изначально 68 газа за ненулевой байт, 4 — за нулевой. , а calldata оценивалась в 68 газа за каждый ненулевой байт. Поскольку вся работа роллапа сводится к публикации множества байт, эта цена за байт доминировала над всем остальным — не исполнение, а именно она задавала комиссии L2. Роллапы были планом сообщества по масштабированию, но при 68 газа за байт цифры едва сходились.
→ Шаг 2: переоценим её по реальности.
EIP-2028: ненулевой байт calldata дешевеет до 16 газа
Анализ реальной пропускной способности и влияния на худший случай размера блока показал, что 68 — намного больше необходимого. EIP-2028 снизил стоимость ненулевого байта calldata с 68 до 16 газа — примерно в 4 раза — оставив нулевые байты по 4 газа. Почему это именно баланс, а не «сделаем бесплатно»: более дешёвая calldata означает, что в транзакцию за тот же газ поместится больше байт, а значит злонамеренно перегруженный данными блок может стать крупнее и дольше распространяться. 16 выбрано как точка, в которой худший случай блока всё ещё безопасно распространяется по сети, а данные при этом становятся значительно дешевле для всех, кто использует их честно.
→ Шаг 3: это открыло эпоху масштабирования.
Выигрыш: экономика роллапов наконец сходится
Когда доминирующая статья расходов упала примерно в четыре раза, экономика роллапов наконец заработала. Оптимистичные роллапы (Arbitrum, Optimism) — публикующие пакетные данные и полагающиеся на доказательства мошенничества — и zk-роллапы (zkSync, Starknet) — публикующие данные вместе с доказательством достоверности — стали по-настоящему дешевле, чем те же транзакции на L1, и экосистема L2 пошла в рост. EIP-2028 не изобрёл роллапы, но именно это изменение цены сделало их экономически оправданными, дав старт ориентированной на роллапы дорожной карте масштабирования Ethereum.