Панорама параллельных вычислений в Web3: путь масштабирования EVM с Monad и MegaETH

Панорамная карта параллельных вычислений Web3: лучший вариант для нативного масштабирования?

"Невозможный треугольник" блокчейна (Blockchain Trilemma) "безопасность", "децентрализация", "масштабируемость" раскрывает сущностную торговлю в дизайне блокчейн-систем, а именно, что блокчейн-проектам трудно одновременно достичь "максимальной безопасности, всеобъемлющего участия, быстрой обработки". В отношении вечной темы "масштабируемости", текущие основные решения для расширения блокчейна на рынке классифицируются по парадигмам, включая:

  • Выполнение улучшенного масштабирования: повышение исполнительной способности на месте, например, параллелизация, GPU, многоядерные.
  • Изоляция состояния для масштабирования: горизонтальное разделение состояния/Shard, например, шардирование, UTXO, многосетевые подсистемы
  • Внешняя масштабируемость: выполнение за пределами цепи, например, Rollup, Копроцессор, DA
  • Декуплированное расширение структуры: модульная архитектура, совместная работа, например, модульная цепь, общий сортировщик, Rollup Mesh
  • Асинхронное параллельное масштабирование: модель Актора, изоляция процессов, управление сообщениями, например, агенты, многопоточное асинхронное соединение

Решения по масштабированию блокчейна включают: параллельные вычисления в цепочке, Rollup, шардирование, DA-модули, модульную структуру, систему Actor, сжатие zk-доказательств, архитектуру без состояния и т.д., охватывающие несколько уровней: исполнение, состояние, данные, структуру, представляя собой полную систему масштабирования "многоуровневого взаимодействия и модульной комбинации". В этой статье основное внимание уделяется способу масштабирования с параллельными вычислениями в качестве основного.

Внутренняя параллельная обработка ( intra-chain parallelism ), фокусируется на параллельном выполнении транзакций/инструкций внутри блока. В зависимости от механизма параллелизма, способы масштабирования можно разделить на пять больших категорий, каждая из которых представляет собой различные стремления к производительности, модели разработки и архитектурные философии, с увеличением детализации параллельного уровня, повышением интенсивности параллелизма, увеличением сложности управления, а также усложнением программирования и сложности реализации.

  • Уровень аккаунта (Account-level): представляет проект Solana
  • Объектный уровень (Object-level): представляет проект Sui
  • Торговый уровень (Transaction-level): представляет проект Monad, Aptos
  • Вызов уровня / МикроVM параллельно ( Call-level / MicroVM ): представляет проект MegaETH
  • Инструкционный уровень (Instruction-level): представляет проект GatlingX

Внецепочечная асинхронная конкурентная модель, представляемая системой умных агентов (Agent / Actor Model), относится к другой парадигме параллельных вычислений, как к кроссцепочечной/асинхронной системе сообщений ( несинхронной модели блокчейна), каждый Агент функционирует как независимый "умный процесс", асинхронные сообщения в параллельном режиме, события, не требующие синхронного планирования, среди представленных проектов AO, ICP, Cartesi и др.

А широко известные нам решения Rollup или шардирования относятся к механизмам системной параллельной обработки и не являются параллельными вычислениями в пределах цепочки. Они достигают масштабируемости за счет "параллельного запуска нескольких цепей/исполнительных доменов", а не за счет повышения параллелизма внутри одного блока/виртуальной машины. Такие решения по масштабируемости не являются основной темой данного текста, но мы все же будем использовать их для сравнения отличий в архитектурных концепциях.

Web3 параллельные вычисления: лучшее решение для нативного масштабирования?

Второе, параллельное улучшение цепи EVM: прорыв пределов производительности в совместимости

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

Анализ механизма параллельных вычислений Monad

Monad - это высокопроизводительная Layer1 блокчейн, заново разработанный для Ethereum Virtual Machine (EVM), основанный на основной параллельной концепции обработки (Pipelining), которая выполняет асинхронное выполнение на уровне консенсуса (Asynchronous Execution) и оптимистическое параллельное выполнение на уровне исполнения (Optimistic Parallel Execution). Кроме того, на уровне консенсуса и хранения Monad соответственно вводит высокопроизводительный BFT-протокол (MonadBFT) и специализированную систему баз данных (MonadDB) для реализации оптимизации от конца до конца.

Пайплайнинг: механизм параллельного выполнения многоступенчатой конвейерной обработки

Пайплайнинг является основной концепцией параллельного выполнения монад, его основная идея заключается в том, чтобы разбить процесс выполнения блокчейна на несколько независимых этапов и обрабатывать эти этапы параллельно, формируя многослойную архитектуру конвейера, где каждый этап выполняется в независимых потоках или ядрах, что позволяет осуществлять параллельную обработку между блоками, в конечном итоге достигая повышения пропускной способности и снижения задержки. Эти этапы включают: предложение транзакции (Propose) достижение консенсуса (Consensus) выполнение транзакций (Execution) и подтверждение блока (Commit).

Асинхронное выполнение: консенсус - асинхронная декомпозиция выполнения

В традиционной цепочке согласование и выполнение транзакций обычно происходят в синхронном режиме, что сильно ограничивает расширяемость производительности. Monad достигает асинхронности на уровне согласования, асинхронности на уровне выполнения и асинхронности хранения за счет "асинхронного выполнения". Это значительно снижает время блока (block time) и задержку подтверждения, делая систему более устойчивой, процесс обработки более детализированным и повышая эффективность использования ресурсов.

Основной дизайн:

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

Оптимистичное параллельное выполнение:乐观并行执行

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

Исполнительный механизм:

  • Monad будет оптимистично выполнять все транзакции параллельно, предполагая, что между большинством транзакций нет конфликтов состояния.
  • Запустите "Конфликтный детектор (Conflict Detector)" для мониторинга того, проверяют ли транзакции одно и то же состояние (, например, конфликты чтения/записи ).
  • Если обнаружен конфликт, конфликтные транзакции будут сериализованы и повторно выполнены, чтобы гарантировать корректность состояния.

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

Панорамная карта параллельных вычислений Web3: лучший вариант нативного масштабирования?

Анализ механизма параллельных вычислений MegaETH

В отличие от L1, ориентированного на Monad, MegaETH позиционируется как совместимый с EVM модульный высокопроизводительный уровень параллельного выполнения, который может выступать как независимая L1 публичная цепочка, так и как уровень усиления выполнения на Ethereum ( Execution Layer ) или как модульный компонент. Основная цель его проектирования заключается в том, чтобы изолировать и декомпозировать логику учетной записи, среду выполнения и состояние в минимальные единицы, которые могут независимо планироваться, чтобы обеспечить высокую параллельную обработку и низкую задержку отклика в цепочке. Ключевое новшество, предложенное MegaETH, заключается в следующем: архитектура Micro-VM + DAG зависимости состояния ( направленный ациклический граф зависимости состояния ) и модульный механизм синхронизации, которые совместно создают параллельную систему выполнения, ориентированную на "потоковую обработку в цепочке".

Micro-VM(微虚拟机)архитектура: аккаунт как поток

MegaETH внедрил модель выполнения "один микровиртуальный компьютер на каждый аккаунт(Micro-VM)", которая "потокизирует" среду выполнения, предоставляя минимальный изолированный элемент для параллельного планирования. Эти ВМ общаются друг с другом через асинхронные сообщения(Asynchronous Messaging), а не через синхронные вызовы, что позволяет множеству ВМ выполнять задачи независимо и хранить данные отдельно, обеспечивая естественную параллельность.

Зависимый DAG: механизма планирования на основе графа зависимостей

MegaETH построила систему планирования DAG, основанную на доступе к состоянию аккаунта, которая в реальном времени поддерживает глобальный граф зависимостей (Dependency Graph). Каждая транзакция моделирует, какие аккаунты изменяются и какие аккаунты читаются, в виде зависимостей. Транзакции без конфликтов могут выполняться параллельно, а транзакции с зависимостями будут планироваться и сортироваться по топологическому порядку последовательно или с задержкой. Граф зависимостей обеспечивает согласованность состояния и отсутствие повторных записей в процессе параллельного выполнения.

Асинхронное выполнение и механизм обратных вызовов

MegaETH построен на основе парадигмы асинхронного программирования, аналогичной асинхронному обмену сообщениями в модели акторов, которая решает проблему традиционных последовательных вызовов EVM. Вызовы контрактов являются асинхронными ( нерекурсивными ) выполнения, и когда вызывается контракт A -> B -> C, каждый вызов является асинхронным без блокировки ожидания; Стек вызовов разворачивается в асинхронный граф вызовов (Call Graph); Обработка транзакций = обход асинхронного графа + разрешение зависимостей + параллельное планирование.

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

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

Web3 параллельные вычисления ландшафт: лучший вариант для нативного масштабирования?

Дизайнерские концепции Monad и MegaETH значительно отличаются от шардирования (Sharding): шардирование разбивает блокчейн на несколько независимых подпотоков (шардыShards), каждый из которых отвечает за часть транзакций и состояния, разрушая ограничения одноцепочечного решения на уровне сети; в то время как Monad и MegaETH сохраняют целостность одноцепочечной структуры, расширяясь горизонтально только на уровне выполнения, достигая оптимизации параллельного выполнения внутри одноцепочечной структуры для повышения производительности. Оба представляют собой два направления в пути расширения блокчейна: вертикальное усиление и горизонтальное расширение.

Проекты параллельных вычислений, такие как Monad и MegaETH, в основном сосредоточены на оптимизации пропускной способности, с основной целью повышения TPS в цепочке, реализуя параллельную обработку на уровне транзакций или аккаунтов через отложенное выполнение (Deferred Execution) и архитектуру микро-виртуальной машины (Micro-VM). Pharos Network, будучи модульной, всесторонней параллельной сетью L1 блокчейна, имеет свою основную параллельную вычислительную механику, называемую "Rollup Mesh". Эта архитектура поддерживает многовиртуальные среды (EVM и Wasm) через совместную работу основной сети и специализированной сети обработки (SPNs) и интегрирует такие передовые технологии, как доказательства с нулевым разглашением (ZK) и доверенная вычислительная среда (TEE).

Анализ механизма параллельных вычислений Rollup Mesh:

  1. Полный жизненный цикл асинхронной обработки конвейера (Full Lifecycle Asynchronous Pipelining): Pharos декомпозирует различные этапы транзакции (, такие как консенсус, выполнение, хранение ), и использует асинхронный способ обработки, что позволяет каждому этапу проходить независимо и параллельно, тем самым повышая общую эффективность обработки.
  2. Параллельное выполнение двух виртуальных машин (Dual VM Parallel Execution): Pharos поддерживает две среды виртуальных машин: EVM и WASM, что позволяет разработчикам выбирать подходящую среду выполнения в зависимости от потребностей. Эта архитектура с двумя виртуальными машинами не только повышает гибкость системы, но и улучшает способность обработки транзакций за счет параллельного выполнения.
  3. Специальная обработка сети (SPNs): SPNs являются ключевыми компонентами архитектуры Pharos, подобно модульным подсетям, специально предназначенным для обработки определенных типов задач или приложений. С помощью SPNs Pharos может осуществлять динамическое распределение ресурсов и параллельную обработку задач, что дополнительно увеличивает масштабируемость и производительность системы.
  4. Модульный консенсус и механизм повторного стекинга ( Modular Consensus & Restaking ): Pharos вводит гибкий механизм консенсуса, поддерживающий множество моделей консенсуса (, таких как PBFT, PoS, PoA ), и обеспечивает безопасное совместное использование и интеграцию ресурсов между основной сетью и SPNs через протокол повторного стекинга ( Restaking ).

Кроме того, Pharos с помощью многоверсионного дерева Меркла, дельта-кодирования (Delta Encoding), адресации версий (Versioned Addressing) и технологии ADS Pushdown (ADS Pushdown) реконструирует модель выполнения на уровне хранилища, выпуская высокопроизводительный хранилище блокчейна Pharos Store, обеспечивающий высокую пропускную способность, низкую задержку и сильную проверяемость.

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 5
  • Поделиться
комментарий
0/400
ZkSnarkervip
· 07-23 20:13
ну, технически трилемма больше похожа на предложение, если честно...
Посмотреть ОригиналОтветить0
OnchainDetectivevip
· 07-23 15:07
Синий тонкий, даже увеличение не решает проблемы. Кто сказал, что несколько беременностей — это не болезнь?
Посмотреть ОригиналОтветить0
IfIWereOnChainvip
· 07-21 13:51
Некоторые говорят, что zk бесполезен, в конечном итоге все равно нужно вернуться к tps.
Посмотреть ОригиналОтветить0
TokenVelocityvip
· 07-21 13:50
бык крут Все восхваляют monad, нам остается только ждать и смотреть.
Посмотреть ОригиналОтветить0
BearMarketNoodlervip
· 07-21 13:40
Лучше сделать layer0, это надежнее.
Посмотреть ОригиналОтветить0
  • Закрепить