Восхождение параллельного EVM: как высокопроизводительный Layer1 преодолевает узкие места производительности Эфира

robot
Генерация тезисов в процессе

EVM:核心 компонент Ethereum

EVM является ядром Ethereum, responsible за выполнение смарт-контрактов и обработку транзакций. Это вычислительный движок, который предоставляет абстракцию вычислений и хранения, аналогично виртуальной машине Java. EVM выполняет собственный набор инструкций байт-кода, обычно скомпилированный из Solidity.

EVM является почти тьюринговой полной машиной состояний. "Почти" потому, что все шаги выполнения требуют ограниченного количества ресурсов Gas, что предотвращает возможные зацикливания, которые могут привести к остановке всей платформы.

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

Протокол Ethereum предполагает выполнение транзакций в определенном порядке. Хотя последовательное выполнение обеспечивает выполнение транзакций и смарт-контрактов в определенном порядке, что гарантирует безопасность, в условиях высокой нагрузки это может привести к перегрузке сети и задержкам, что также является причиной существования узких мест по производительности Ethereum и необходимости расширения на уровне Layer2.

Параллельный EVM: хирургия замены сердца для высокопроизводительного Layer1

Параллельный путь высокопроизводительного Layer1

Большинство высокопроизводительных Layer1 разрабатывают свои собственные оптимизационные решения на основе недостатков, связанных с невозможностью параллельной обработки в Ethereum, в основном сосредоточив внимание на виртуальной машине и параллельном выполнении.

Виртуальная машина

EVM спроектирован как 256-битная виртуальная машина, цель которой - облегчить обработку хэш-алгоритма Эфира. Однако компьютеры, на которых фактически работает EVM, должны отображать 256-битные байты на локальную архитектуру для выполнения смарт-контрактов, что делает всю систему неэффективной. Поэтому высокопроизводительные Layer1 чаще используют виртуальные машины на основе WASM, eBPF байт-кода или Move байт-кода, а не EVM.

WASM — это формат байт-кода с небольшим размером, быстрой загрузкой, портативностью и основанной на песочнице безопасностью, который разработчики могут использовать для написания смарт-контрактов на различных языках программирования, а затем компилировать в байт-код WASM и выполнять. Многие блокчейн-проекты уже приняли WASM в качестве стандарта, и в будущем Ethereum также интегрирует WASM.

eBPF происходит от BPF, предлагает более богатый набор инструкций, позволяя динамически вмешиваться в ядро операционной системы без изменения исходного кода. Некоторые смарт-контракты, выполняемые на блокчейне, компилируются в байт-код на основе eBPF и выполняются.

Move является новым языком программирования смарт-контрактов, который акцентирует внимание на гибкости, безопасности и проверяемости. Move нацелен на решение проблем безопасности активов и транзакций, чтобы активы и транзакции могли быть строго определены и контролируемы. Некоторые блокчейны используют собственные кастомизированные версии Move для написания смарт-контрактов.

Параллельный EVM: операция на сердце высокопроизводительного Layer1

Параллельное выполнение

Параллельное выполнение в блокчейне означает одновременную обработку нерелевантных транзакций. Основная проблема реализации параллельного выполнения заключается в определении того, какие транзакции нерелевантны, а какие независимы. Большинство высокопроизводительных Layer1 полагаются на два метода: метод доступа к состоянию и оптимистичную параллельную модель.

Метод доступа к состоянию требует заранее знать, какая часть состояния блокчейна может быть доступна каждой транзакцией, чтобы проанализировать, какие транзакции являются независимыми. Некоторые программы блокчейна ( смарт-контракты ) являются безсостоянием и требуют использования учетных записей для доступа или поддержания состояния. Транзакции должны указывать, к каким учетным записям будет осуществлен доступ, чтобы во время выполнения обработки транзакций можно было планировать параллельное выполнение неперекрывающихся транзакций, при этом обеспечивая согласованность данных.

Оптимистичная параллельная модель предполагает, что все транзакции независимы, лишь ретроспективно проверяя это предположение и при необходимости корректируя его. Некоторые блокчейны используют метод транзакционной памяти блоков для применения оптимистичного параллельного выполнения. Транзакции сначала устанавливаются в определенном порядке, а затем разбиваются на разные потоки обработки для одновременного выполнения. Система отслеживает местоположение памяти, изменяемое каждой транзакцией, и после каждого раунда обработки проверяет все результаты транзакций; если обнаруживается, что какая-либо транзакция затрагивает местоположение памяти, измененное ранее, то её результат стирается и выполняется заново.

Параллельный EVM: операция на сердце высокопроизводительного Layer1

Параллельный EVM

Параллельный EVM был предложен еще в 2021 году, он подразумевает поддержку одновременной обработки нескольких транзакций EVM с целью улучшения производительности и эффективности существующего EVM. В конце 2023 года в отрасли снова упомянули параллельный EVM, что вызвало интерес к использованию технологий параллельного выполнения в совместимых с EVM Layer1.

Рациональное параллельное определение EVM включает три категории:

  1. Обновление параллельного выполнения для EVM-совместимого Layer1 без использования технологии параллельного выполнения.
  2. Используется параллельное выполнение в совместимом с EVM Layer1
  3. Применение технологии параллельного выполнения в EVM-совместимом решении Layer1, не совместимом с EVM

Параллельный EVM: высокопроизводительная Layer1 замена сердца

Некоторые новые проекты Layer1 используют оптимистичную параллельную модель, позволяя выполнять транзакции параллельно внутри блока для повышения эффективности. Они начинают выполнять новые транзакции до завершения выполнения предыдущего шага, отслеживая ввод/вывод и повторно выполняя несогласованные транзакции. Статический анализатор кода может предсказать зависимости, избегая недействительной параллельности, и в случае неопределенности возвращается к простому режиму.

Параллельный EVM: трансформация производительности Layer1

Некоторые проекты используют EVM для выполнения смарт-контрактов с целью достижения совместимости с EVM. Этот подход бесшовно преобразует коды операций EVM в коды операций конкретной виртуальной машины, позволяя проектам на Solidity использовать преимущества производительности и безопасности других виртуальных машин без необходимости изменения кода.

Параллельный EVM: высокопроизводительная замена сердца Layer1

Резюме

Параллельные технологии блокчейна — это тема, которая обсуждается снова и снова. В настоящее время основное внимание уделяется модификации и имитации оптимистичной модели исполнения, что приводит к нехватке существенных прорывов. В будущем, возможно, появится больше новых проектов Layer1, которые будут участвовать в конкуренции за параллельный EVM, а некоторые старые Layer1 также реализуют параллельное обновление EVM или совместимые решения EVM.

Помимо высокопроизводительного EVM, в области блокчейна также могут появиться разнообразные технологические нарративы, такие как WASM, SVM и Move VM, способствующие разнообразному развитию всей экосистемы.

Параллельный EVM: хирургия сердца высокопроизводительного Layer1

ETH-1.47%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 6
  • Поделиться
комментарий
0/400
PumpBeforeRugvip
· 07-15 04:11
Снова видим новую блокчейн-иллюзию
Посмотреть ОригиналОтветить0
RamenDeFiSurvivorvip
· 07-12 07:44
Параллельно эта область действительно поднимает Layer1.
Посмотреть ОригиналОтветить0
consensus_whisperervip
· 07-12 07:43
Попробовать новые технологии действительно приятно
Посмотреть ОригиналОтветить0
MoonBoi42vip
· 07-12 07:42
Больше пишите кода, брат.
Посмотреть ОригиналОтветить0
SleepyArbCatvip
· 07-12 07:40
Газ费嗯高 Лень развертывать мяу
Посмотреть ОригиналОтветить0
WalletDivorcervip
· 07-12 07:38
EVM старый майнер, смотрю на зрелище
Посмотреть ОригиналОтветить0
  • Закрепить