Проблема узкого места Ethereum
Ethereum (ETH) сталкивается с проблемой узкого места, связанного с высокими затратами на доказательства. Виталик Бутерин предлагает решение с помощью бинарного дерева состояния и долгосрочной замены на виртуальную машину RISC-V. Сооснователь Ethereum представил два технических изменения, направленных на повышение эффективности доказательства в блокчейн-сети, в рамках предложения EIP-7864 и сопутствующей документации.
Изменения в структуре дерева
Первое изменение, обозначенное как EIP-7864, предполагает замену текущей шестиричной Merkle Patricia Tree на бинарную структуру дерева, использующую более эффективную хеш-функцию. Существующая шестиричная структура была разработана с учетом других приоритетов, что приводит к высоким затратам на доказательства, к которым стремятся разработчики Ethereum.
Бинарная структура дерева будет генерировать Merkle-ветви, которые в четыре раза короче, чем в текущей системе, поскольку бинарные операции требуют 32 раза log(n) по сравнению с шестиричными 512 раз log(n), деленными на 4, согласно техническим спецификациям предложения. Снижение затрат уменьшит расходы на верификацию ветвей на стороне клиента и снизит требования к пропускной способности данных для таких инструментов, как Helios и системы частного извлечения информации, на тот же коэффициент.
Увеличение эффективности доказательства будет выходить за рамки улучшения длины ветвей. Предложение указывает, что более короткие ветви обеспечат улучшение в три-четыре раза, отдельно от оптимизации хеш-функции. Реализация blake3 вместо keccak может обеспечить дополнительное улучшение в три раза, в то время как вариант Poseidon потенциально может обеспечить улучшение в 100 раз, хотя требуется дополнительный анализ безопасности перед его развертыванием.
Дизайн бинарного дерева
Дизайн бинарного дерева включает систему хранения на основе страниц, которая группирует соседние слоты хранения в страницы по 64-256 слотов, что составляет примерно 2-8 килобайт. Заголовок блока и первые 1-4 килобайта кода и хранения будут делить одну и ту же страницу, что позволит контрактам, читающим из начальных слотов хранения, извлекать выгоду из пакетной эффективности, а не из затрат на индивидуальный доступ.
Предложение оценивает, что это может сэкономить более 10,000 газа за транзакцию для децентрализованных приложений, которые загружают данные из начальных слотов хранения, что представляет собой значительную часть активно развернутых контрактов. Бинарные деревья предлагают более простую реализацию и процессы аудита, обеспечивая более предсказуемую глубину доступа для контрактов различного размера и уменьшая вариацию в затратах на выполнение.
Долгосрочное предложение: замена EVM
Долгосрочное предложение включает замену Ethereum Virtual Machine (EVM) на более эффективную виртуальную машину, такую как RISC-V. Предложение утверждает, что архитектура EVM не оптимизирована для блокчейна с высокой нагрузкой на доказательства, и ее замена решит основные неэффективности, а не будет управлять ими через накопленные предкомпиляции и обходные пути.
Бутерин выделяет четыре преимущества RISC-V по сравнению с EVM:
- Эффективность сырого выполнения: RISC-V превосходит EVM, устраняя необходимость в многих предкомпиляциях, так как основные вычисления могут выполняться эффективно внутри самой VM.
- Эффективность доказателя: доказательства с нулевым знанием в настоящее время написаны на RISC-V, создавая естественное соответствие с существующей инфраструктурой доказательства.
- Доказательство на стороне клиента: RISC-V VM позволит пользователям генерировать доказательства с нулевым знанием локально о взаимодействиях аккаунтов с конкретными данными, что позволит создавать приложения конфиденциальности и верификации, которые в настоящее время не поддерживаются EVM без внешних инструментов.
- Простота: интерпретатор RISC-V может быть реализован в нескольких сотнях строк кода.
Дорожная карта развертывания
Дорожная карта развертывания, изложенная в предложении, включает три этапа:
- На первом этапе новая виртуальная машина, возможно RISC-V, будет обрабатывать только предкомпиляции, при этом текущие и новые предкомпиляции станут кодовыми блобами в новой VM.
- На втором этапе пользователи смогут развертывать контракты непосредственно в новой VM.
- На третьем этапе EVM будет выведен из эксплуатации и переосмыслен как смарт-контракт, написанный в новой VM, сохраняя обратную совместимость для существующих контрактов, при этом основное изменение будет заключаться в корректировках затрат на газ, которые, как ожидается, будут затенены параллельными разработками масштабирования.
Заключение
Бутерин характеризует оба изменения как решение одной и той же основной проблемы с разных сторон. Дерево состояния и VM вместе составляют более 80 процентов узкого места в эффективном доказательстве. Решение одной из компонентов без другой оставляет более крупную проблему частично нерешенной, в то время как решение обеих приведет к протоколу, структурно согласованному с архитектурой, ориентированной на доказательства с нулевым знанием, которую Ethereum разрабатывает.
Предложение признает, что замена VM в настоящее время не представляет консенсуса в сообществе разработчиков Ethereum, описывая это как изменение, которое станет более очевидным, когда модификации дерева состояния будут завершены. Предложение представляет изменения как последовательные: сначала бинарные деревья, затем замена VM, когда инфраструктура доказательства созреет вокруг новой структуры состояния. EVM накопил сложность за годы постепенных добавлений, и предложение утверждает, что удовлетворение функциональных требований Ethereum требует решения проблемы VM, а не постоянного внедрения обходных путей.