Полная карта параллельных вычислений в Web3: лучшее решение для родного масштабирования?
I. Обзор решений по масштабированию блокчейна
«Невозможный треугольник» блокчейна «безопасность», «децентрализация», «масштабируемость» раскрывает сущностные компромиссы в проектировании блокчейн-систем, т.е. блокчейн-проектам сложно одновременно достичь «высокой безопасности, возможности участия для всех, высокой скорости обработки». Что касается вечной темы «масштабируемости», то текущие основные решения для масштабирования блокчейна на рынке классифицируются по парадигмам, включая:
Выполнение расширенной масштабируемости: повышение исполнительной способности на месте, например, параллелизм, GPU, многопоточность.
Изоляция состояния для масштабирования: горизонтальное разделение состояния, например, шардирование, UTXO, много подсетей
Внешняя масштабируемость с помощью аутсорсинга: выполнение вне цепи, например, Rollup, сопроцессор, DA
Структурированное расширение с декомпозицией: модульная архитектура, совместная работа, например, модульные цепочки, совместные сортировщики, Rollup Mesh
Асинхронное конкурентное масштабирование: Модель актора, изоляция процессов, управление сообщениями, например, агенты, многопоточное асинхронное соединение.
Решения по масштабированию блокчейна включают: параллельные вычисления в цепочке, Rollup, шардирование, DA-модуль, модульную структуру, систему Actor, сжатие zk-доказательств, безгосударственную архитектуру и др., охватывающие несколько уровней исполнения, состояния, данных и структуры, что представляет собой полную систему масштабирования «многослойной кооперации и модульной комбинации». В данной статье основное внимание уделяется способу масштабирования, основанному на параллельных вычислениях.
Внутренняя параллельная обработка данных, фокусирующаяся на параллельном выполнении транзакций/инструкций внутри блока. В зависимости от механизма параллелизма, способы масштабирования можно разделить на пять основных категорий, каждая из которых представляет разные стремления к производительности, модели разработки и архитектурную философию, при этом параллельная гранулярность постепенно уменьшается, параллельная интенсивность возрастает, сложность планирования также увеличивается, а сложность программирования и трудности реализации становятся все выше.
Уровень учетной записи параллельно: представляет проект Solana
Объектно-ориентированное параллельное выполнение: представляет проект Sui
Торговый уровень параллелизма: представляет проект Monad, Aptos
Параллельный вызов уровня/микро VM: представляет проект MegaETH
Уровень командного параллелизма: представляет проект GatlingX
Внецепочечная асинхронная конкурентная модель, представленная системой умных агентов Actor, относится к другому парадигме параллельных вычислений. В качестве кросс-цепочечного/асинхронного сообщения каждый Агент функционирует как независимый "умный процесс", работающий в параллельном режиме с асинхронными сообщениями и управлением событиями, без необходимости синхронного расписания. К таким проектам относятся AO, ICP, Cartesi и др.
А знакомые нам решения Rollup или шардирования относятся к механизмам параллелизма на уровне системы и не являются параллельными вычислениями внутри цепочки. Они достигают масштабируемости за счет «параллельного выполнения множества цепочек/исполнительных доменов», а не за счет увеличения параллелизма внутри одного блока/виртуальной машины. Эти решения по масштабируемости не являются основной темой данной статьи, но мы все равно будем использовать их для сравнения различий в архитектурных концепциях.
II. EVM-система параллельного улучшения цепи: прорыв границ производительности в совместимости
Архитектура последовательной обработки Ethereum развивалась до сегодняшнего дня, проходя через несколько этапов масштабирования, таких как фрагментация, Rollup, модульная архитектура и т.д., но узкое место в пропускной способности уровня выполнения по-прежнему не было решено кардинально. Тем не менее, EVM и Solidity по-прежнему являются самыми основными платформами для разработки смарт-контрактов с мощной экосистемой. Таким образом, цепочка параллельного усиления EVM, которая учитывает совместимость экосистемы и повышение производительности выполнения, становится важным направлением новой волны масштабирования. Monad и MegaETH являются наиболее представительными проектами в этом направлении, каждый из которых строит архитектуру параллельной обработки EVM для высоких параллельных и высокопропускных сценариев, исходя из задержки выполнения и разбиения состояния.
Анализ механизма параллельных вычислений Monad
Monad — это высокопроизводительная Layer1 блокчейн, переосмысленная для Ethereum Virtual Machine, основанная на основной парадигме параллельной обработки с конвейерной обработкой, асинхронным выполнением на уровне консенсуса и оптимистичной конкурентной обработкой на уровне выполнения. Кроме того, на уровнях консенсуса и хранения Monad соответственно внедряет высокопроизводительный BFT протокол и специализированную систему баз данных для достижения оптимизации от конца до конца.
Пайплайнинг: Механизм параллельного выполнения многоступенчатого конвейера
Пайплайнинг является основной концепцией параллельного выполнения монады, его основная идея заключается в том, чтобы разбить процесс выполнения блокчейна на несколько независимых этапов и обрабатывать эти этапы параллельно, формируя многослойную архитектуру конвейера. Каждый этап работает в независимом потоке или ядре, что позволяет осуществлять параллельную обработку между блоками и в конечном итоге достигает повышения пропускной способности и снижения задержки. Эти этапы включают: достижение консенсуса по предложению транзакции, выполнение транзакции и создание блока.
Асинхронное выполнение: согласование - асинхронное разделение выполнения
В традиционных блокчейнах консенсус и выполнение транзакций обычно являются синхронными процессами, и такая последовательная модель серьезно ограничивает производительность и масштабируемость. Monad реализует асинхронный консенсусный уровень, асинхронный уровень выполнения и асинхронное хранение через «асинхронное выполнение». Это значительно снижает время блока и задержку подтверждения, делает систему более устойчивой, процессы более детализированными и повышает эффективность использования ресурсов.
Основной дизайн:
Процесс консенсуса отвечает только за упорядочение сделок, не выполняя логику контракта.
Процесс выполнения запускается асинхронно после завершения консенсуса.
После завершения консенсуса немедленно перейти к процессу консенсуса следующего блока, не дожидаясь завершения выполнения.
Оптимистичное параллельное выполнение:乐观并行执行
Традиционный Ethereum использует строгую последовательную модель для выполнения транзакций, чтобы избежать конфликтов состояния. В то время как Monad применяет стратегию «оптимистичного параллельного выполнения», значительно увеличивая скорость обработки транзакций.
Исполнительный механизм:
Monad будет оптимистично выполнять все транзакции параллельно, предполагая, что между большинством транзакций нет конфликтов состояния.
Запустить «детектор конфликтов» для мониторинга того, обращаются ли транзакции к одному и тому же состоянию.
Если обнаружен конфликт, конфликтные транзакции будут сериализованы и повторно выполнены, чтобы гарантировать правильность состояния.
Monad выбрал совместимый путь: минимальные изменения правил EVM, параллельное выполнение за счет отложенной записи состояния и динамического обнаружения конфликтов, больше похоже на производительную версию Ethereum, с хорошей зрелостью, что облегчает миграцию экосистемы EVM, является параллельным ускорителем мира EVM.
Анализ механизма параллельных вычислений MegaETH
В отличие от L1, ориентированного на Monad, MegaETH позиционируется как совместимый с EVM модульный высокопроизводительный параллельный уровень выполнения, который может использоваться как независимая L1 публичная цепочка, так и как уровень улучшенного выполнения или модульный компонент на Ethereum. Его основной целью проектирования является изоляция логики учетной записи, среды выполнения и состояния, разложенных на минимальные единицы, которые могут независимо планироваться, чтобы обеспечить высокую параллельную обработку и низкую задержку отклика внутри цепочки. Ключевое новшество, предложенное MegaETH: архитектура Micro-VM + State Dependency DAG и модульный механизм синхронизации, совместно создающие параллельную систему выполнения, ориентированную на "внутрипроцессную потоковую" обработку.
Архитектура Micro-VM: аккаунт как поток
MegaETH ввел модель выполнения «микровиртуальная машина для каждого аккаунта», которая «потокизирует» среду выполнения, предоставляя минимальную единицу изоляции для параллельного планирования. Эти ВМ общаются между собой с помощью асинхронной передачи сообщений, а не синхронных вызовов, что позволяет множеству ВМ независимо выполнять и хранить данные, обеспечивая естественную параллельность.
Зависимость состояния DAG: механизм планирования на основе графа зависимостей
MegaETH построила систему планирования DAG на основе отношений доступа к состоянию аккаунтов, которая в реальном времени поддерживает глобальную зависимую карту. Каждый раз, когда транзакция изменяет какие-либо аккаунты или читает какие-либо аккаунты, все это моделируется как зависимость. Неконфликтующие транзакции могут выполняться параллельно, а транзакции с зависимостями будут последовательно или с задержкой сортироваться по топологическому порядку. Зависимая карта обеспечивает согласованность состояния и отсутствие повторных записей в процессе параллельного выполнения.
Асинхронное выполнение и механизм обратного вызова
MegaETH построен на основе парадигмы асинхронного программирования, аналогичной асинхронному обмену сообщениями в модели акторов, которая решает проблему традиционных последовательных вызовов EVM. Вызовы контракта являются асинхронными, и когда вызывается контракт A -> B -> C, каждый вызов является асинхронным без блокировки ожидания; Стек вызовов разворачивается в асинхронный граф вызовов; Обработка транзакций = обход асинхронного графа + разрешение зависимостей + параллельное планирование.
В общем, MegaETH нарушает традиционную модель однопоточной машины состояния EVM, реализуя микро-виртуальные машины на уровне учетных записей и осуществляя маршрутизацию транзакций через граф зависимости состояния, заменяя синхронный стек вызовов асинхронным механизмом сообщений. Это параллельная вычислительная платформа, которая была полностью переработана в измерениях «структура учетной записи → архитектура маршрутизации → процесс выполнения», предоставляя новую парадигму для создания систем с высокой производительностью следующего поколения.
MegaETH выбрал путь реконструкции: полностью абстрагировать учетные записи и контракты в независимую виртуальную машину, используя асинхронное выполнение для освобождения максимального параллельного потенциала. Теоретически, параллельный предел MegaETH выше, но также сложнее контролировать сложность, больше похожа на суперраспределенную операционную систему под идеей Ethereum.
Дизайнерские концепции Monad и MegaETH значительно отличаются от шардирования: шардирование горизонтально делит блокчейн на несколько независимых дочерних цепочек, каждая из которых отвечает за часть транзакций и состояния, разрушая ограничения единой цепочки на уровне сети; в то время как Monad и MegaETH сохраняют целостность единой цепочки, лишь горизонтально масштабируя на уровне выполнения, оптимизируя предельное параллельное выполнение внутри единой цепочки для повышения производительности. Оба представляют собой две направления в пути масштабирования блокчейна: вертикальное усиление и горизонтальное расширение.
Проекты параллельных вычислений, такие как Monad и MegaETH, в основном сосредоточены на оптимизации пропускной способности с целью повышения TPS внутри цепочки, реализуя параллельную обработку на уровне транзакций или аккаунтов с помощью отложенного выполнения и микровиртуальной архитектуры. В то время как Pharos Network является модульной, полнофункциональной L1 блокчейн-сетью, её основная параллельная вычислительная механика называется «Rollup Mesh». Эта архитектура поддерживает многовиртуальную среду через совместную работу основной сети и специализированной сети обработки, интегрируя такие передовые технологии, как нулевое знание и доверенная вычислительная среда.
Анализ механизма параллельных вычислений Rollup Mesh:
Обработка асинхронного конвейера на всех этапах жизненного цикла: Pharos декомпозирует различные этапы сделки и применяет асинхронный способ обработки, что позволяет каждому этапу выполняться независимо и параллельно, тем самым повышая общую эффективность обработки.
Параллельное выполнение двойных виртуальных машин: Pharos поддерживает две среды виртуальных машин EVM и WASM, позволяя разработчикам выбирать подходящую среду выполнения в зависимости от требований. Эта архитектура с двумя ВМ не только повышает гибкость системы, но и улучшает способность обработки транзакций за счет параллельного выполнения.
Специальные сетевые обработки: SPNs являются ключевым компонентом архитектуры Pharos, аналогичным модульным подсетям, специально предназначенным для обработки определенных типов задач или приложений. С помощью SPNs Pharos может реализовать динамическое распределение ресурсов и параллельную обработку задач, что дополнительно повышает масштабируемость и производительность системы.
Модульный консенсус и механизм повторного залога: Pharos вводит гибкий механизм консенсуса, поддерживающий различные модели консенсуса, и осуществляет безопасное совместное использование и интеграцию ресурсов между основной сетью и SPN через протокол повторного залога.
Кроме того, Pharos с помощью многоверсионного дерева Меркла, дифференциального кодирования, адресации версий и технологии ADS-погружения реконструировал модель выполнения на уровне хранилища, выпустив нативный блокчейн высокопроизводительный хранилище Pharos Store, обеспечивая высокую пропускную способность, низкую задержку и сильные проверяемые возможности обработки на цепочке.
В целом архитектура Rollup Mesh от Pharos обеспечивает высокопроизводительные параллельные вычислительные возможности благодаря модульному дизайну и асинхронным механизмам обработки. Pharos выступает в роли координатора распределения параллельности между Rollup, а не как оптимизатор выполнения для «внутренней параллельности» цепочки, и выполняет гетерогенные настраиваемые задачи через SPN.
В дополнение к Monad, MegaETH и Pharos
Посмотреть Оригинал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Полный анализ параллельных вычислений Web3: будущее расширения EVM
Полная карта параллельных вычислений в Web3: лучшее решение для родного масштабирования?
I. Обзор решений по масштабированию блокчейна
«Невозможный треугольник» блокчейна «безопасность», «децентрализация», «масштабируемость» раскрывает сущностные компромиссы в проектировании блокчейн-систем, т.е. блокчейн-проектам сложно одновременно достичь «высокой безопасности, возможности участия для всех, высокой скорости обработки». Что касается вечной темы «масштабируемости», то текущие основные решения для масштабирования блокчейна на рынке классифицируются по парадигмам, включая:
Решения по масштабированию блокчейна включают: параллельные вычисления в цепочке, Rollup, шардирование, DA-модуль, модульную структуру, систему Actor, сжатие zk-доказательств, безгосударственную архитектуру и др., охватывающие несколько уровней исполнения, состояния, данных и структуры, что представляет собой полную систему масштабирования «многослойной кооперации и модульной комбинации». В данной статье основное внимание уделяется способу масштабирования, основанному на параллельных вычислениях.
Внутренняя параллельная обработка данных, фокусирующаяся на параллельном выполнении транзакций/инструкций внутри блока. В зависимости от механизма параллелизма, способы масштабирования можно разделить на пять основных категорий, каждая из которых представляет разные стремления к производительности, модели разработки и архитектурную философию, при этом параллельная гранулярность постепенно уменьшается, параллельная интенсивность возрастает, сложность планирования также увеличивается, а сложность программирования и трудности реализации становятся все выше.
Внецепочечная асинхронная конкурентная модель, представленная системой умных агентов Actor, относится к другому парадигме параллельных вычислений. В качестве кросс-цепочечного/асинхронного сообщения каждый Агент функционирует как независимый "умный процесс", работающий в параллельном режиме с асинхронными сообщениями и управлением событиями, без необходимости синхронного расписания. К таким проектам относятся AO, ICP, Cartesi и др.
А знакомые нам решения Rollup или шардирования относятся к механизмам параллелизма на уровне системы и не являются параллельными вычислениями внутри цепочки. Они достигают масштабируемости за счет «параллельного выполнения множества цепочек/исполнительных доменов», а не за счет увеличения параллелизма внутри одного блока/виртуальной машины. Эти решения по масштабируемости не являются основной темой данной статьи, но мы все равно будем использовать их для сравнения различий в архитектурных концепциях.
II. EVM-система параллельного улучшения цепи: прорыв границ производительности в совместимости
Архитектура последовательной обработки Ethereum развивалась до сегодняшнего дня, проходя через несколько этапов масштабирования, таких как фрагментация, Rollup, модульная архитектура и т.д., но узкое место в пропускной способности уровня выполнения по-прежнему не было решено кардинально. Тем не менее, EVM и Solidity по-прежнему являются самыми основными платформами для разработки смарт-контрактов с мощной экосистемой. Таким образом, цепочка параллельного усиления EVM, которая учитывает совместимость экосистемы и повышение производительности выполнения, становится важным направлением новой волны масштабирования. Monad и MegaETH являются наиболее представительными проектами в этом направлении, каждый из которых строит архитектуру параллельной обработки EVM для высоких параллельных и высокопропускных сценариев, исходя из задержки выполнения и разбиения состояния.
Анализ механизма параллельных вычислений Monad
Monad — это высокопроизводительная Layer1 блокчейн, переосмысленная для Ethereum Virtual Machine, основанная на основной парадигме параллельной обработки с конвейерной обработкой, асинхронным выполнением на уровне консенсуса и оптимистичной конкурентной обработкой на уровне выполнения. Кроме того, на уровнях консенсуса и хранения Monad соответственно внедряет высокопроизводительный BFT протокол и специализированную систему баз данных для достижения оптимизации от конца до конца.
Пайплайнинг: Механизм параллельного выполнения многоступенчатого конвейера
Пайплайнинг является основной концепцией параллельного выполнения монады, его основная идея заключается в том, чтобы разбить процесс выполнения блокчейна на несколько независимых этапов и обрабатывать эти этапы параллельно, формируя многослойную архитектуру конвейера. Каждый этап работает в независимом потоке или ядре, что позволяет осуществлять параллельную обработку между блоками и в конечном итоге достигает повышения пропускной способности и снижения задержки. Эти этапы включают: достижение консенсуса по предложению транзакции, выполнение транзакции и создание блока.
Асинхронное выполнение: согласование - асинхронное разделение выполнения
В традиционных блокчейнах консенсус и выполнение транзакций обычно являются синхронными процессами, и такая последовательная модель серьезно ограничивает производительность и масштабируемость. Monad реализует асинхронный консенсусный уровень, асинхронный уровень выполнения и асинхронное хранение через «асинхронное выполнение». Это значительно снижает время блока и задержку подтверждения, делает систему более устойчивой, процессы более детализированными и повышает эффективность использования ресурсов.
Основной дизайн:
Оптимистичное параллельное выполнение:乐观并行执行
Традиционный Ethereum использует строгую последовательную модель для выполнения транзакций, чтобы избежать конфликтов состояния. В то время как Monad применяет стратегию «оптимистичного параллельного выполнения», значительно увеличивая скорость обработки транзакций.
Исполнительный механизм:
Monad выбрал совместимый путь: минимальные изменения правил EVM, параллельное выполнение за счет отложенной записи состояния и динамического обнаружения конфликтов, больше похоже на производительную версию Ethereum, с хорошей зрелостью, что облегчает миграцию экосистемы EVM, является параллельным ускорителем мира EVM.
Анализ механизма параллельных вычислений MegaETH
В отличие от L1, ориентированного на Monad, MegaETH позиционируется как совместимый с EVM модульный высокопроизводительный параллельный уровень выполнения, который может использоваться как независимая L1 публичная цепочка, так и как уровень улучшенного выполнения или модульный компонент на Ethereum. Его основной целью проектирования является изоляция логики учетной записи, среды выполнения и состояния, разложенных на минимальные единицы, которые могут независимо планироваться, чтобы обеспечить высокую параллельную обработку и низкую задержку отклика внутри цепочки. Ключевое новшество, предложенное MegaETH: архитектура Micro-VM + State Dependency DAG и модульный механизм синхронизации, совместно создающие параллельную систему выполнения, ориентированную на "внутрипроцессную потоковую" обработку.
Архитектура Micro-VM: аккаунт как поток
MegaETH ввел модель выполнения «микровиртуальная машина для каждого аккаунта», которая «потокизирует» среду выполнения, предоставляя минимальную единицу изоляции для параллельного планирования. Эти ВМ общаются между собой с помощью асинхронной передачи сообщений, а не синхронных вызовов, что позволяет множеству ВМ независимо выполнять и хранить данные, обеспечивая естественную параллельность.
Зависимость состояния DAG: механизм планирования на основе графа зависимостей
MegaETH построила систему планирования DAG на основе отношений доступа к состоянию аккаунтов, которая в реальном времени поддерживает глобальную зависимую карту. Каждый раз, когда транзакция изменяет какие-либо аккаунты или читает какие-либо аккаунты, все это моделируется как зависимость. Неконфликтующие транзакции могут выполняться параллельно, а транзакции с зависимостями будут последовательно или с задержкой сортироваться по топологическому порядку. Зависимая карта обеспечивает согласованность состояния и отсутствие повторных записей в процессе параллельного выполнения.
Асинхронное выполнение и механизм обратного вызова
MegaETH построен на основе парадигмы асинхронного программирования, аналогичной асинхронному обмену сообщениями в модели акторов, которая решает проблему традиционных последовательных вызовов EVM. Вызовы контракта являются асинхронными, и когда вызывается контракт A -> B -> C, каждый вызов является асинхронным без блокировки ожидания; Стек вызовов разворачивается в асинхронный граф вызовов; Обработка транзакций = обход асинхронного графа + разрешение зависимостей + параллельное планирование.
В общем, MegaETH нарушает традиционную модель однопоточной машины состояния EVM, реализуя микро-виртуальные машины на уровне учетных записей и осуществляя маршрутизацию транзакций через граф зависимости состояния, заменяя синхронный стек вызовов асинхронным механизмом сообщений. Это параллельная вычислительная платформа, которая была полностью переработана в измерениях «структура учетной записи → архитектура маршрутизации → процесс выполнения», предоставляя новую парадигму для создания систем с высокой производительностью следующего поколения.
MegaETH выбрал путь реконструкции: полностью абстрагировать учетные записи и контракты в независимую виртуальную машину, используя асинхронное выполнение для освобождения максимального параллельного потенциала. Теоретически, параллельный предел MegaETH выше, но также сложнее контролировать сложность, больше похожа на суперраспределенную операционную систему под идеей Ethereum.
Дизайнерские концепции Monad и MegaETH значительно отличаются от шардирования: шардирование горизонтально делит блокчейн на несколько независимых дочерних цепочек, каждая из которых отвечает за часть транзакций и состояния, разрушая ограничения единой цепочки на уровне сети; в то время как Monad и MegaETH сохраняют целостность единой цепочки, лишь горизонтально масштабируя на уровне выполнения, оптимизируя предельное параллельное выполнение внутри единой цепочки для повышения производительности. Оба представляют собой две направления в пути масштабирования блокчейна: вертикальное усиление и горизонтальное расширение.
Проекты параллельных вычислений, такие как Monad и MegaETH, в основном сосредоточены на оптимизации пропускной способности с целью повышения TPS внутри цепочки, реализуя параллельную обработку на уровне транзакций или аккаунтов с помощью отложенного выполнения и микровиртуальной архитектуры. В то время как Pharos Network является модульной, полнофункциональной L1 блокчейн-сетью, её основная параллельная вычислительная механика называется «Rollup Mesh». Эта архитектура поддерживает многовиртуальную среду через совместную работу основной сети и специализированной сети обработки, интегрируя такие передовые технологии, как нулевое знание и доверенная вычислительная среда.
Анализ механизма параллельных вычислений Rollup Mesh:
Кроме того, Pharos с помощью многоверсионного дерева Меркла, дифференциального кодирования, адресации версий и технологии ADS-погружения реконструировал модель выполнения на уровне хранилища, выпустив нативный блокчейн высокопроизводительный хранилище Pharos Store, обеспечивая высокую пропускную способность, низкую задержку и сильные проверяемые возможности обработки на цепочке.
В целом архитектура Rollup Mesh от Pharos обеспечивает высокопроизводительные параллельные вычислительные возможности благодаря модульному дизайну и асинхронным механизмам обработки. Pharos выступает в роли координатора распределения параллельности между Rollup, а не как оптимизатор выполнения для «внутренней параллельности» цепочки, и выполняет гетерогенные настраиваемые задачи через SPN.
В дополнение к Monad, MegaETH и Pharos