EVM является ядром Ethereum, ответственным за выполнение смарт-контрактов и обработку транзакций. В качестве вычислительного движка EVM предоставляет абстракцию вычислений и хранения, аналогично спецификации Java Virtual Machine (JVM). EVM выполняет свой собственный набор байт-кода, который обычно создается с помощью Solidity.
EVM является почти тьюринговой полной машиной состояний. "Почти" потому, что все шаги выполнения требуют ограниченных ресурсов Gas, что предотвращает возможные бесконечные циклы, которые могут привести к остановке всей платформы Ethereum.
EVM не имеет функции планирования, модуль выполнения Ethereum извлекает транзакции из блока, EVM отвечает за последовательное выполнение. В процессе выполнения будет изменено последнее мировое состояние, после завершения выполнения транзакции происходит накопление состояния, достигая последнего мирового состояния после завершения блока. Выполнение следующего блока строго зависит от мирового состояния после выполнения предыдущего блока, поэтому линейный процесс выполнения транзакций в Ethereum сложно оптимизировать для параллельного выполнения.
С этой точки зрения, протокол Ethereum предписывает выполнение транзакций по порядку. Хотя последовательное выполнение гарантирует, что транзакции и смарт-контракты могут выполняться в определенном порядке, обеспечивая безопасность, в условиях высокой нагрузки это может привести к заторам и задержкам в сети, что также является причиной существования узких мест производительности Ethereum и необходимости расширения с помощью Layer2 Rollup.
Параллельный путь высокопроизводительного Layer1
Большинство высокопроизводительных Layer1 разрабатывают свои собственные оптимизационные решения, основываясь на недостатках Эфира, которые не позволяют выполнять параллельную обработку, сосредоточив внимание на двух аспектах: виртуальной машине и параллельном исполнении.
Виртуальная машина
EVM спроектирован как 256-битная виртуальная машина с целью облегчить обработку хеш-алгоритма Эфир. Однако для фактической работы EVM компьютеры должны отображать 256-битные байты на локальную архитектуру для выполнения смарт-контрактов, что делает всю систему крайне неэффективной. Поэтому при выборе виртуальной машины высокопроизводительные Level 1 чаще используют виртуальные машины на основе WASM, eBPF байт-кода или Move байт-кода, а не EVM.
WASM — это формат байт-кода с маленьким размером, быстрой загрузкой, переносимостью и механизмом безопасности на основе песочницы. Разработчики могут использовать различные языки программирования для написания смарт-контрактов, а затем компилировать их в байт-код WASM и выполнять. WASM уже был принят в качестве стандарта многими проектами блокчейна, включая EOS, Dfinity, Polkadot и другие.
eBPF происходит от BPF (Berkeley Packet Filter) и предоставляет более широкий набор инструкций, позволяя динамически вмешиваться в ядро операционной системы и изменять его поведение без изменения исходного кода. Смарт-контракты, выполняемые на Solana, компилируются в SBF (основанный на eBPF) байт-код и запускаются в ее блокчейн-сети.
Move — это новый язык программирования смарт-контрактов, разработанный Diem, который акцентирует внимание на гибкости, безопасности и проверяемости. Язык Move предназначен для решения проблем безопасности активов и транзакций, позволяя строго определять и контролировать активы и транзакции. Aptos и Sui используют варианты языка Move для написания смарт-контрактов.
Параллельное выполнение
Параллельное выполнение в блокчейне означает одновременную обработку не связанных транзакций. Основная проблема реализации параллельного выполнения заключается в определении, какие транзакции не связаны, а какие являются независимыми. Большинство высокопроизводительных Layer1 полагаются на два метода: метод доступа к состоянию и оптимистичную параллельную модель.
Метод доступа к состоянию требует предварительного знания о том, какая часть состояния блокчейна доступна для каждой транзакции, чтобы проанализировать, какие транзакции являются независимыми. Solana и Sui используют этот метод.
Оптимистичная параллельная модель предполагает, что все транзакции независимы, и просто ретроспективно проверяет это предположение и вносит изменения по мере необходимости. Aptos использует этот подход, применяя Block-STM (блок программного обеспечения транзакционной памяти) для реализации оптимистичного параллельного выполнения.
Параллельный EVM
Параллельный EVM (Parallel EVM) нацелен на улучшение производительности и эффективности существующего EVM. В настоящее время можно выделить три основных типа, которые можно определить как параллельный EVM:
Нет обновления параллельного выполнения для EVM-совместимых Layer 1, таких как BSC и Polygon, которое использует технологии параллельного выполнения.
Используемые параллельные технологии выполнения совместимые с EVM Layer1, такие как Monand, Sei V2 и Artela.
Применение технологии параллельного выполнения в EVM-совместимых решениях Layer1, не совместимых с EVM, таких как Solana Neon.
Monad является высокопроизводительным Layer1, совместимым с EVM, использующим механизм PoS и оптимистичную параллельную модель для реализации параллельного выполнения транзакций внутри блока.
Sei V2 — это широкомасштабное обновление сети Sei, целью которого является становление первым полностью параллельным EVM. Как и Monad, Sei V2 будет использовать оптимистичную параллелизацию.
Artela, представленная EVM++, представляет собой высокомасштабируемую + высокопроизводительную параллельную EVM, которая будет реализована в два этапа, первый этап будет сосредоточен на параллельном выполнении.
Solana Neon — это решение, разработанное компанией Neon Labs, для выполнения EVM-транзакций на платформе Solana. Neon EVM на самом деле является смарт-контрактом на Solana, который реализует интерпретатор EVM.
Итоги
Параллельные технологии блокчейна — это постоянно развивающаяся тема. В настоящее время основное внимание уделяется модификации и имитации оптимистичной модели исполнения, представленной механизмом Block-STM от Aptos. В будущем может появиться больше новых проектов Layer1, которые присоединятся к конкуренции за параллельный EVM, в то время как некоторые существующие Layer1 также могут реализовать параллельное обновление EVM или совместимые решения EVM.
Помимо повествования о высокопроизводительном EVM, в области блокчейна также могут появиться более разнообразные направления развития, такие как применение и инновации различных технологий виртуальных машин, таких как WASM, SVM и Move VM. Это разнообразие будет способствовать продвижению и инновациям всей экосистемы блокчейна.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
17 Лайков
Награда
17
5
Поделиться
комментарий
0/400
LiquiditySurfer
· 18ч назад
Gas снова рост, тратя деньги
Посмотреть ОригиналОтветить0
HalfBuddhaMoney
· 08-03 11:47
Эти Газ сборы действительно невыносимы!
Посмотреть ОригиналОтветить0
GasFeeSobber
· 08-03 11:45
Газ действительно черный... не могу больше терпеть
Новая тенденция параллелизма EVM: инновации и вызовы высокопроизводительных Layer1
EVM:核心组件 Эфира
EVM является ядром Ethereum, ответственным за выполнение смарт-контрактов и обработку транзакций. В качестве вычислительного движка EVM предоставляет абстракцию вычислений и хранения, аналогично спецификации Java Virtual Machine (JVM). EVM выполняет свой собственный набор байт-кода, который обычно создается с помощью Solidity.
EVM является почти тьюринговой полной машиной состояний. "Почти" потому, что все шаги выполнения требуют ограниченных ресурсов Gas, что предотвращает возможные бесконечные циклы, которые могут привести к остановке всей платформы Ethereum.
EVM не имеет функции планирования, модуль выполнения Ethereum извлекает транзакции из блока, EVM отвечает за последовательное выполнение. В процессе выполнения будет изменено последнее мировое состояние, после завершения выполнения транзакции происходит накопление состояния, достигая последнего мирового состояния после завершения блока. Выполнение следующего блока строго зависит от мирового состояния после выполнения предыдущего блока, поэтому линейный процесс выполнения транзакций в Ethereum сложно оптимизировать для параллельного выполнения.
С этой точки зрения, протокол Ethereum предписывает выполнение транзакций по порядку. Хотя последовательное выполнение гарантирует, что транзакции и смарт-контракты могут выполняться в определенном порядке, обеспечивая безопасность, в условиях высокой нагрузки это может привести к заторам и задержкам в сети, что также является причиной существования узких мест производительности Ethereum и необходимости расширения с помощью Layer2 Rollup.
Параллельный путь высокопроизводительного Layer1
Большинство высокопроизводительных Layer1 разрабатывают свои собственные оптимизационные решения, основываясь на недостатках Эфира, которые не позволяют выполнять параллельную обработку, сосредоточив внимание на двух аспектах: виртуальной машине и параллельном исполнении.
Виртуальная машина
EVM спроектирован как 256-битная виртуальная машина с целью облегчить обработку хеш-алгоритма Эфир. Однако для фактической работы EVM компьютеры должны отображать 256-битные байты на локальную архитектуру для выполнения смарт-контрактов, что делает всю систему крайне неэффективной. Поэтому при выборе виртуальной машины высокопроизводительные Level 1 чаще используют виртуальные машины на основе WASM, eBPF байт-кода или Move байт-кода, а не EVM.
WASM — это формат байт-кода с маленьким размером, быстрой загрузкой, переносимостью и механизмом безопасности на основе песочницы. Разработчики могут использовать различные языки программирования для написания смарт-контрактов, а затем компилировать их в байт-код WASM и выполнять. WASM уже был принят в качестве стандарта многими проектами блокчейна, включая EOS, Dfinity, Polkadot и другие.
eBPF происходит от BPF (Berkeley Packet Filter) и предоставляет более широкий набор инструкций, позволяя динамически вмешиваться в ядро операционной системы и изменять его поведение без изменения исходного кода. Смарт-контракты, выполняемые на Solana, компилируются в SBF (основанный на eBPF) байт-код и запускаются в ее блокчейн-сети.
Move — это новый язык программирования смарт-контрактов, разработанный Diem, который акцентирует внимание на гибкости, безопасности и проверяемости. Язык Move предназначен для решения проблем безопасности активов и транзакций, позволяя строго определять и контролировать активы и транзакции. Aptos и Sui используют варианты языка Move для написания смарт-контрактов.
Параллельное выполнение
Параллельное выполнение в блокчейне означает одновременную обработку не связанных транзакций. Основная проблема реализации параллельного выполнения заключается в определении, какие транзакции не связаны, а какие являются независимыми. Большинство высокопроизводительных Layer1 полагаются на два метода: метод доступа к состоянию и оптимистичную параллельную модель.
Метод доступа к состоянию требует предварительного знания о том, какая часть состояния блокчейна доступна для каждой транзакции, чтобы проанализировать, какие транзакции являются независимыми. Solana и Sui используют этот метод.
Оптимистичная параллельная модель предполагает, что все транзакции независимы, и просто ретроспективно проверяет это предположение и вносит изменения по мере необходимости. Aptos использует этот подход, применяя Block-STM (блок программного обеспечения транзакционной памяти) для реализации оптимистичного параллельного выполнения.
Параллельный EVM
Параллельный EVM (Parallel EVM) нацелен на улучшение производительности и эффективности существующего EVM. В настоящее время можно выделить три основных типа, которые можно определить как параллельный EVM:
Нет обновления параллельного выполнения для EVM-совместимых Layer 1, таких как BSC и Polygon, которое использует технологии параллельного выполнения.
Используемые параллельные технологии выполнения совместимые с EVM Layer1, такие как Monand, Sei V2 и Artela.
Применение технологии параллельного выполнения в EVM-совместимых решениях Layer1, не совместимых с EVM, таких как Solana Neon.
Monad является высокопроизводительным Layer1, совместимым с EVM, использующим механизм PoS и оптимистичную параллельную модель для реализации параллельного выполнения транзакций внутри блока.
Sei V2 — это широкомасштабное обновление сети Sei, целью которого является становление первым полностью параллельным EVM. Как и Monad, Sei V2 будет использовать оптимистичную параллелизацию.
Artela, представленная EVM++, представляет собой высокомасштабируемую + высокопроизводительную параллельную EVM, которая будет реализована в два этапа, первый этап будет сосредоточен на параллельном выполнении.
Solana Neon — это решение, разработанное компанией Neon Labs, для выполнения EVM-транзакций на платформе Solana. Neon EVM на самом деле является смарт-контрактом на Solana, который реализует интерпретатор EVM.
Итоги
Параллельные технологии блокчейна — это постоянно развивающаяся тема. В настоящее время основное внимание уделяется модификации и имитации оптимистичной модели исполнения, представленной механизмом Block-STM от Aptos. В будущем может появиться больше новых проектов Layer1, которые присоединятся к конкуренции за параллельный EVM, в то время как некоторые существующие Layer1 также могут реализовать параллельное обновление EVM или совместимые решения EVM.
Помимо повествования о высокопроизводительном EVM, в области блокчейна также могут появиться более разнообразные направления развития, такие как применение и инновации различных технологий виртуальных машин, таких как WASM, SVM и Move VM. Это разнообразие будет способствовать продвижению и инновациям всей экосистемы блокчейна.