October 5, 2023

Виталик Бутерин о путях развития Ethereum

Виталик Бутерин опубликовал новый пост, посвященный грядущим и возможным изменениям в Ethereum. Его ключевой вопрос можно сформулировать так: стоит ли внедрять новые функции в сам протокол (“enshrinement”) или строить их поверх него? Вот хороший TL;DR поста для тех, кому не хочется читать 40 тысяч знаков ↓

Минимализм vs. Расширение возможностей

Ранние дни: Изначально Ethereum строился как минималистичное ядро, уже поверх которого наслаиваются функциональные возможности. Однако в последнее время растет интерес к расширению количества функций в самом ядре.

Скоуп дискуссии: Хотя многие считают, что дебаты вокруг L1 и L2 в первую очередь связаны с масштабированием, они также касаются различных потребностей пользователей: обмен активами, конфиденциальность, расширенная криптография и т.д.

Ранняя философия протокольного минимализма

Видение: Ethereum 2.0 стремится к созданию чистого и простого протокола, позволяющего пользователям добавлять функциональные возможности.

Функция state transition: В идеале это должен быть просто вызов виртуальной машины. Однако стремление сделать транзакции «просто вызовом» привело к осложнениям.

Эволюция абстракции аккаунтов

❯ EIP-86: Ранний пропоузал по упрощению транзакций. Однако он перемещал сложность из EVM в другие части стека Ethereum.

❯ EIP-2938: Более работоспособное решение, хотя оно не было минималистичным и требовало введения ряда новых фич.

❯ ERC-4337: Разработан таким образом, чтобы не затрагивать сам протокол Ethereum и не требовать хард форка. Тем не менее, он рассматривается для внедрения в протокол из-за ряда проблем:

  • Газоэффективность: Перемещение функций в протокол позволяет снизить затраты на газ.
  • Риск багов в коде: Внедрённая функция может быть хардфоркнута для исправления ошибок, что позволяет сохранить средства пользователей.
  • Поддержка опкодов EVM: Нативная абстракция аккаунтов может улучшить функциональность опкодов.
  • Цензуроустойчивость: Внедрение может повысить устойчивость к цензуре.

Внедрение zkEVM

❯ Цель: Интегрировать zkEVM непосредственно в протокол Ethereum.

❯ Текущий сценарий: Существует множество ZK-роллапов, которые проверяют исполнение блоков внутри ZK-SNARK.

❯ Проблема: Существующие системы используют для борьбы с ошибками механизм «совета безопасности» (Security Councils).

❯ Предложение: Стандартизировать проверку выполнения EVM в ZK в качестве функции протокола, используя социальный консенсус Ethereum для апгрейдов и устранения ошибок.

❯ Осложнения: Обеспечение совместимости, ускорение времени доказательства и решение проблемы разделения на stateful и stateless.

Внедрение разделения между пропоузерами и билдерами блоков

❯ Предыстория: Из-за MEV производство блоков требует больших затрат и сильно зависит от масштаба.

❯ Текущее решение: Внепротокольное разделение пропоузеров-билдеров (MEV-Boost).

❯ Предложение: «Внедрённая PBS», которая непосредственно встраивается в протокол, обеспечивая более высокую безопасность.

Внедрение частных мемпулов

❯ Проблема: Транзакции становятся публичными до включения в цепочку, что делает пользователей уязвимыми для фронтраннинга.

❯ Решение: Создать приватные мемпулы, которые шифруют транзакции до момента их включения в блок.

❯ Задачи: Поиск метода шифрования, который был бы одновременно безопасным и эффективным для L1 Ethereum.

Внедрение ливкидного стейкинга

❯ Спрос: Пользователи хотят стейкать ETH без сложностей и иметь двойную функциональность (стейкинг + использование в качестве залога).

❯ Решение: Провайдеры ликвидного стейкинга, такие как Lido и Rocketpool.

❯ Риск: Доминирование одного провайдера может привести к централизации.

❯ Возможный вариант: Функциональность ликвидного стейкинга внутри протокола для снижения централизации.

Внедрение большего количества прекомпайлов

❯ Что такое прекомпайлы (precompiles)? Это контракты Ethereum, выполняющие сложные криптографические операции.

❯ Текущий сценарий: Несколько специфических хэш-функций и операции с эллиптическими кривыми.

❯ Предложение: Добавить больше прекомпайлов для таких операций, как secp256r1, BLS-12-377 и т.д.

❯ Контраргумент: Предыдущие прекомпайлы используются недостаточно. Стоит рассмотреть более универсальные решения, такие как EVM-MAX или SIMD.

Основные выводы

  • Последствия внедрения: Хотя минимизация внутрипротокольных функций желательна, блокчейн — это социальная система, требующая осторожного внедрения некоторых из них.
  • Риски централизации и сложности: Внедрение определенных функций может предотвратить централизацию в других областях, но усложнить протокол.
  • Потребности пользователей динамичны: Кажущиеся приоритетными функции могут оказаться недостаточно востребованными.
  • Минимально жизнеспособное внедрение: Вместо того чтобы полностью интегрировать функции, протокол может внедрить их ключевые компоненты для облегчения реализации.
  • Изъятие (де-внедрение): Некоторые функции могут быть удалены для повышения эффективности, например, малоиспользуемые прекомпайлы.
  • Будущее направление: Баланс между внутрипротокольными и внепротокольными возможностями будет постоянно меняться и требовать постоянной переоценки.

Gagarin Crypto | Канал | Чат | Twitter