Разработка смарт-контрактов является базовым навыком блокчейн-инженеров. Разработчики обычно используют такие высокоуровневые языки, как Solidity, для реализации бизнес-логики. Однако Виртуальная машина не может напрямую интерпретировать код Solidity и требует компиляции его в низкоуровневый язык, исполняемый виртуальной машиной, ( операции/байт-код ). Существующие инструменты могут автоматически выполнять этот процесс преобразования, облегчая разработчикам понимание деталей компиляции.
Хотя компиляция может привести к некоторым дополнительным затратам, инженеры, знакомые с низкоуровневым кодированием, могут напрямую использовать байт-коды в Solidity для написания логики программ, чтобы достичь максимальной эффективности и снизить потребление газа. Например, торговый протокол известной платформы NFT использует встроенный ассемблер, чтобы минимизировать затраты газа пользователей.
Различия в производительности EVM: стандарты и реализации
EVM как "исполнительный уровень" является местом окончательного выполнения скомпилированного кода операций смарт-контрактов. Определенный EVM байт-код стал отраслевым стандартом. Независимо от того, используется ли он для сетей Layer 2 Ethereum или других независимых блокчейнов, совместимость со стандартом EVM позволяет разработчикам эффективно развертывать смарт-контракты в нескольких сетях.
Хотя соответствие стандарту байт-кода EVM позволяет называть виртуальную машину EVM, конкретные методы реализации могут значительно различаться. Например, один из клиентов Ethereum реализует стандарт EVM на языке Go, в то время как другая команда фонда Ethereum поддерживает реализацию на C++. Это разнообразие предоставляет пространство для различных инженерных оптимизаций и пользовательских реализаций.
Параллельная технология EVM
На протяжении истории сообщество блокчейна в основном сосредотачивалось на инновациях в области алгоритмов консенсуса; некоторые известные проекты стали популярными благодаря своим механизмам консенсуса, а не уровню исполнения. Хотя эти проекты также внесли инновации на уровне исполнения, их производительность часто ошибочно принимается за результат только их алгоритмов консенсуса.
На самом деле, высокопроизводительный блокчейн требует сочетания инновационных алгоритмов консенсуса и оптимизированного уровня исполнения, что похоже на теорию бочки. Для EVM-блокчейнов, которые улучшают только алгоритм консенсуса, повышение производительности часто требует более мощной конфигурации узлов. Например, одна известная смарт-цепочка обрабатывает блоки при ограничении газа в 2000 TPS и требует аппаратной конфигурации, которая в несколько раз превышает конфигурацию полных узлов Ethereum. Хотя другая известная сеть второго уровня теоретически поддерживает до 1000 TPS, ее фактическая производительность обычно ниже ожидаемой.
потребность в параллельной обработке
В большинстве блокчейн-систем транзакции выполняются последовательно, подобно одноядерному ЦП, следующая вычислительная операция может начаться только после завершения текущей. Хотя этот метод прост и имеет низкую сложность системы, его трудно масштабировать для поддержки огромного числа пользователей. Переход на многопроцессорную параллельную виртуальную машину позволяет одновременно обрабатывать несколько транзакций, что значительно увеличивает пропускную способность.
Параллельное выполнение создает инженерные проблемы, такие как обработка конкурентных транзакций на одно и то же смарт-контракт. Это требует разработки новых механизмов для решения потенциальных конфликтов. Параллельное выполнение несвязанных смарт-контрактов может обеспечить почти линейное увеличение пропускной способности в зависимости от числа параллельных потоков обработки.
Инновации параллельной Виртуальной машины Ethereum
Параллельный EVM представляет собой ряд инноваций, направленных на оптимизацию слоя исполнения блокчейн-систем. В качестве примера одного нового проекта его ключевые инновации включают:
Параллельное выполнение транзакций: используется оптимистичный алгоритм параллельного выполнения, который позволяет обрабатывать несколько транзакций одновременно. Транзакции начинаются с одного и того же начального состояния, отслеживаются входы и выходы, генерируются временные результаты для каждой транзакции. Решение о выполнении следующей транзакции принимается путем проверки, связаны ли входы следующей транзакции с выходами транзакции, находящейся в текущей обработке.
Отложенное выполнение: в механизме консенсуса узлы могут достичь официальной сортировки транзакций без выполнения их главным узлом или узлом-валидатором. Изначально главный узел сортирует транзакции и достигает консенсуса между узлами, но не выполняет транзакции немедленно, а откладывает выполнение в независимый канал.
Пользовательская база данных состояния: оптимизация хранения и доступа к состоянию за счет непосредственного хранения дерева Меркла на SSD. Этот подход минимизирует эффект увеличения чтения и улучшает скорость доступа к состоянию, что делает выполнение смарт-контрактов быстрее и эффективнее.
Высокопроизводительный механизм консенсуса: улучшенная версия механизма консенсуса HotStuff, поддерживающая синхронизацию между сотнями глобально распределенных узлов с линейной сложностью связи. Используется конвейерная стадия голосования, позволяющая различным этапам голосования накладываться друг на друга, что уменьшает задержку и повышает эффективность консенсуса.
Вызов
Технические вызовы параллельной Виртуальной машины Ethereum
Основное узкое место в выполнении последовательных транзакций связано с процессами чтения/записи состояния и CPU. Параллельное выполнение вводит потенциальные конфликты состояния, которые необходимо проверять до или после выполнения. Например, когда транзакции, обрабатываемые четырьмя параллельными потоками, взаимодействуют с одним и тем же DEX-пулом, возникают конфликты. Эта ситуация требует тщательной проверки конфликтов и механизмов их разрешения, чтобы обеспечить эффективную параллельную обработку.
Помимо технологических различий в реализации параллельной EVM, командам обычно также необходимо重新 проектировать и улучшать производительность чтения/записи состояния базы данных, а также разрабатывать совместимые алгоритмы консенсуса.
Вызовы и соображения
Два основных вызова, с которыми сталкивается параллельная EVM, — это долгосрочное захватывание инженерной ценности Ethereum и централизация узлов. Текущая стадия разработки еще не полностью открыта для защиты интеллектуальной собственности, но эти детали в конечном итоге будут раскрыты при запуске тестовой сети и основной сети, сталкиваясь с риском поглощения другими блокчейнами. Быстрое развитие экосистемы будет ключевым для поддержания конкурентного преимущества.
Централизация узлов является вызовом для всех высокопроизводительных блокчейнов, и необходимо найти баланс между децентрализацией, безопасностью и высокой производительностью. Показатели, такие как "TPS для каждого аппаратного обеспечения", могут помочь сравнить эффективность блокчейнов при определенных аппаратных условиях, поскольку более низкие требования к оборудованию могут поддерживать больше децентрализованных узлов.
Параллельная структура EVM
Параллельная архитектура EVM включает в себя несколько проектов и решений. Некоторые из них являются блокчейнами уровня 1, другие могут быть решениями уровня 2. Некоторые основаны на существующих сетях, а некоторые являются открытыми клиентами.
Основным условием параллельного EVM является совместимость с сетью EVM. Хотя некоторые не-EVM сети также используют параллельное выполнение, они не считаются проектами параллельного EVM.
В настоящее время существующие параллельные EVM-сети можно разделить на три категории:
Сетевое решение Layer 1, совместимое с EVM, обновленное с помощью технологии параллельного выполнения: эти сети изначально не использовали параллельное выполнение и были модернизированы с помощью итерации технологий для поддержки параллельного EVM.
EVM-совместимые сети Layer 1, которые изначально использовали параллельное выполнение: некоторые новые проекты изначально учитывали параллельное выполнение.
Сети Layer 2 с параллельным выполнением без EVM: Эти масштабируемые сети Layer 2, совместимые с EVM, абстрагируют EVM в виде модульных исполняемых блоков, что позволяет выбирать наилучший "уровень выполнения VM" в зависимости от потребностей, обеспечивая параллельные возможности.
Обзор проекта
Проект A: передовая параллельная Виртуальная машина Ethereum
Проект направлен на решение проблемы масштабируемости традиционной ЭВМ путем оптимизации параллельного выполнения и конвейерной архитектуры, с целью достижения 10 000 TPS. Недавно был завершен крупномасштабный раунд финансирования, что сделало его самым финансируемым и самым высоко оцененным проектом параллельной ЭВМ на сегодняшний день. Члены основательской команды происходят из известных количественных торговых компаний. Внутренняя тестовая сеть была запущена, и ожидается, что вскоре она будет открыта для общественности.
Проект B: запуск параллельной сети EVM
Первоначально сосредоточенная на торговле сеть Layer 1 теперь была обновлена до высокопроизводительного параллельного EVM, увеличив TPS до 12 500. Тестовая сеть параллельного EVM уже запущена и поддерживает однонажатие миграцию EVM-приложений. Ожидается, что основная сеть будет запущена в первой половине этого года. Недавно был выпущен открытый фреймворк, поддерживающий внедрение технологии параллельной обработки в сетях Layer 2 и Rollup.
Проект C: Укрепление исполнительного слоя с помощью двух Виртуальных машин
Проект нацелен на повышение масштабируемости сети Layer 1 за счет расширения поддержки EVM и параллельного выполнения. Строя EVM++ (EVM + WASM), целью является улучшение производительности блокчейна EVM и эффективности сетевого выполнения. Члены основной команды пришли из известных китайских блокчейн-проектов. Публичная тестовая сеть запущена, программа стимулов для экосистемы стартовала.
Проект D: Внедрение параллельной технологии Виртуальной машины Ethereum
Сеть уровня 1, совместимая с EVM, построенная на Cosmos SDK, специально разработанная для приложений DeFi. Недавно был объявлен план разработки, направленный на внедрение технологии параллельного выполнения EVM для повышения производительности сети.
Проект E: Решение по совместимости EVM для не-EVM сетей
Параллельная EVM, построенная на высокопроизводительной сети, является первым решением по совместимости EVM для этой сети. Поддерживает разработчиков EVM на Solidity и Vyper, позволяя им развертывать DApp одним нажатием кнопки, наслаждаясь высокой пропускной способностью и низкими газовыми сборами. Упаковка транзакций, аналогичных транзакциям EVM, в транзакции нижнего уровня для выполнения, что увеличивает скорость транзакций, TPS превышает 2000.
Проект F: Внедрение не-EVM Виртуальной машины в Ethereum
Модульное универсальное решение Rollup Layer 2, поддерживаемое не-EVM виртуальной машиной. С учетом данных о транзакциях на Ethereum, использует ETH в качестве газа, но его уровень исполнения работает в среде, не основанной на EVM. Недавно завершено крупное финансирование, и основная сеть вскоре откроется для разработчиков.
Проект G: Модульная Виртуальная машина Layer 2
Модульная сеть VM Layer 2, построенная на основе OP Stack, также является частью экосистемы масштабирования. Цель состоит в том, чтобы внедрить высокопроизводительную виртуальную машину в существующие основные сети Layer 2 Ethereum и Bitcoin. Поддерживает использование Ethereum или Bitcoin в качестве расчетного уровня, а уровень выполнения может использовать различные виртуальные машины для параллельного выполнения.
Заключение
С развитием технологий блокчейн внимание к уровню исполнения и алгоритмам согласования становится столь же важным для достижения высокой производительности. Инновации, такие как параллельная Виртуальная машина Ethereum, предлагают многообещающие решения для повышения пропускной способности и эффективности, делая блокчейн более масштабируемым и способным поддерживать более широкую аудиторию пользователей. Развитие и внедрение этих технологий будут формировать будущее экосистемы блокчейн, способствуя дальнейшему прогрессу и применению в этой области.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
10 Лайков
Награда
10
6
Поделиться
комментарий
0/400
MEVSupportGroup
· 07-22 10:41
Ах, снова неудачники, которых обманули в банкомате.
Полный анализ технологии параллельного EVM: инновации в Блокчейне, преодолевающие ограничения производительности
Виртуальная машина Ethereum EVM
Виртуальная машина Ethereum против Solidity
Разработка смарт-контрактов является базовым навыком блокчейн-инженеров. Разработчики обычно используют такие высокоуровневые языки, как Solidity, для реализации бизнес-логики. Однако Виртуальная машина не может напрямую интерпретировать код Solidity и требует компиляции его в низкоуровневый язык, исполняемый виртуальной машиной, ( операции/байт-код ). Существующие инструменты могут автоматически выполнять этот процесс преобразования, облегчая разработчикам понимание деталей компиляции.
Хотя компиляция может привести к некоторым дополнительным затратам, инженеры, знакомые с низкоуровневым кодированием, могут напрямую использовать байт-коды в Solidity для написания логики программ, чтобы достичь максимальной эффективности и снизить потребление газа. Например, торговый протокол известной платформы NFT использует встроенный ассемблер, чтобы минимизировать затраты газа пользователей.
Различия в производительности EVM: стандарты и реализации
EVM как "исполнительный уровень" является местом окончательного выполнения скомпилированного кода операций смарт-контрактов. Определенный EVM байт-код стал отраслевым стандартом. Независимо от того, используется ли он для сетей Layer 2 Ethereum или других независимых блокчейнов, совместимость со стандартом EVM позволяет разработчикам эффективно развертывать смарт-контракты в нескольких сетях.
Хотя соответствие стандарту байт-кода EVM позволяет называть виртуальную машину EVM, конкретные методы реализации могут значительно различаться. Например, один из клиентов Ethereum реализует стандарт EVM на языке Go, в то время как другая команда фонда Ethereum поддерживает реализацию на C++. Это разнообразие предоставляет пространство для различных инженерных оптимизаций и пользовательских реализаций.
Параллельная технология EVM
На протяжении истории сообщество блокчейна в основном сосредотачивалось на инновациях в области алгоритмов консенсуса; некоторые известные проекты стали популярными благодаря своим механизмам консенсуса, а не уровню исполнения. Хотя эти проекты также внесли инновации на уровне исполнения, их производительность часто ошибочно принимается за результат только их алгоритмов консенсуса.
На самом деле, высокопроизводительный блокчейн требует сочетания инновационных алгоритмов консенсуса и оптимизированного уровня исполнения, что похоже на теорию бочки. Для EVM-блокчейнов, которые улучшают только алгоритм консенсуса, повышение производительности часто требует более мощной конфигурации узлов. Например, одна известная смарт-цепочка обрабатывает блоки при ограничении газа в 2000 TPS и требует аппаратной конфигурации, которая в несколько раз превышает конфигурацию полных узлов Ethereum. Хотя другая известная сеть второго уровня теоретически поддерживает до 1000 TPS, ее фактическая производительность обычно ниже ожидаемой.
потребность в параллельной обработке
В большинстве блокчейн-систем транзакции выполняются последовательно, подобно одноядерному ЦП, следующая вычислительная операция может начаться только после завершения текущей. Хотя этот метод прост и имеет низкую сложность системы, его трудно масштабировать для поддержки огромного числа пользователей. Переход на многопроцессорную параллельную виртуальную машину позволяет одновременно обрабатывать несколько транзакций, что значительно увеличивает пропускную способность.
Параллельное выполнение создает инженерные проблемы, такие как обработка конкурентных транзакций на одно и то же смарт-контракт. Это требует разработки новых механизмов для решения потенциальных конфликтов. Параллельное выполнение несвязанных смарт-контрактов может обеспечить почти линейное увеличение пропускной способности в зависимости от числа параллельных потоков обработки.
Инновации параллельной Виртуальной машины Ethereum
Параллельный EVM представляет собой ряд инноваций, направленных на оптимизацию слоя исполнения блокчейн-систем. В качестве примера одного нового проекта его ключевые инновации включают:
Параллельное выполнение транзакций: используется оптимистичный алгоритм параллельного выполнения, который позволяет обрабатывать несколько транзакций одновременно. Транзакции начинаются с одного и того же начального состояния, отслеживаются входы и выходы, генерируются временные результаты для каждой транзакции. Решение о выполнении следующей транзакции принимается путем проверки, связаны ли входы следующей транзакции с выходами транзакции, находящейся в текущей обработке.
Отложенное выполнение: в механизме консенсуса узлы могут достичь официальной сортировки транзакций без выполнения их главным узлом или узлом-валидатором. Изначально главный узел сортирует транзакции и достигает консенсуса между узлами, но не выполняет транзакции немедленно, а откладывает выполнение в независимый канал.
Пользовательская база данных состояния: оптимизация хранения и доступа к состоянию за счет непосредственного хранения дерева Меркла на SSD. Этот подход минимизирует эффект увеличения чтения и улучшает скорость доступа к состоянию, что делает выполнение смарт-контрактов быстрее и эффективнее.
Высокопроизводительный механизм консенсуса: улучшенная версия механизма консенсуса HotStuff, поддерживающая синхронизацию между сотнями глобально распределенных узлов с линейной сложностью связи. Используется конвейерная стадия голосования, позволяющая различным этапам голосования накладываться друг на друга, что уменьшает задержку и повышает эффективность консенсуса.
Вызов
Технические вызовы параллельной Виртуальной машины Ethereum
Основное узкое место в выполнении последовательных транзакций связано с процессами чтения/записи состояния и CPU. Параллельное выполнение вводит потенциальные конфликты состояния, которые необходимо проверять до или после выполнения. Например, когда транзакции, обрабатываемые четырьмя параллельными потоками, взаимодействуют с одним и тем же DEX-пулом, возникают конфликты. Эта ситуация требует тщательной проверки конфликтов и механизмов их разрешения, чтобы обеспечить эффективную параллельную обработку.
Помимо технологических различий в реализации параллельной EVM, командам обычно также необходимо重新 проектировать и улучшать производительность чтения/записи состояния базы данных, а также разрабатывать совместимые алгоритмы консенсуса.
Вызовы и соображения
Два основных вызова, с которыми сталкивается параллельная EVM, — это долгосрочное захватывание инженерной ценности Ethereum и централизация узлов. Текущая стадия разработки еще не полностью открыта для защиты интеллектуальной собственности, но эти детали в конечном итоге будут раскрыты при запуске тестовой сети и основной сети, сталкиваясь с риском поглощения другими блокчейнами. Быстрое развитие экосистемы будет ключевым для поддержания конкурентного преимущества.
Централизация узлов является вызовом для всех высокопроизводительных блокчейнов, и необходимо найти баланс между децентрализацией, безопасностью и высокой производительностью. Показатели, такие как "TPS для каждого аппаратного обеспечения", могут помочь сравнить эффективность блокчейнов при определенных аппаратных условиях, поскольку более низкие требования к оборудованию могут поддерживать больше децентрализованных узлов.
Параллельная структура EVM
Параллельная архитектура EVM включает в себя несколько проектов и решений. Некоторые из них являются блокчейнами уровня 1, другие могут быть решениями уровня 2. Некоторые основаны на существующих сетях, а некоторые являются открытыми клиентами.
Основным условием параллельного EVM является совместимость с сетью EVM. Хотя некоторые не-EVM сети также используют параллельное выполнение, они не считаются проектами параллельного EVM.
В настоящее время существующие параллельные EVM-сети можно разделить на три категории:
Сетевое решение Layer 1, совместимое с EVM, обновленное с помощью технологии параллельного выполнения: эти сети изначально не использовали параллельное выполнение и были модернизированы с помощью итерации технологий для поддержки параллельного EVM.
EVM-совместимые сети Layer 1, которые изначально использовали параллельное выполнение: некоторые новые проекты изначально учитывали параллельное выполнение.
Сети Layer 2 с параллельным выполнением без EVM: Эти масштабируемые сети Layer 2, совместимые с EVM, абстрагируют EVM в виде модульных исполняемых блоков, что позволяет выбирать наилучший "уровень выполнения VM" в зависимости от потребностей, обеспечивая параллельные возможности.
Обзор проекта
Проект A: передовая параллельная Виртуальная машина Ethereum
Проект направлен на решение проблемы масштабируемости традиционной ЭВМ путем оптимизации параллельного выполнения и конвейерной архитектуры, с целью достижения 10 000 TPS. Недавно был завершен крупномасштабный раунд финансирования, что сделало его самым финансируемым и самым высоко оцененным проектом параллельной ЭВМ на сегодняшний день. Члены основательской команды происходят из известных количественных торговых компаний. Внутренняя тестовая сеть была запущена, и ожидается, что вскоре она будет открыта для общественности.
Проект B: запуск параллельной сети EVM
Первоначально сосредоточенная на торговле сеть Layer 1 теперь была обновлена до высокопроизводительного параллельного EVM, увеличив TPS до 12 500. Тестовая сеть параллельного EVM уже запущена и поддерживает однонажатие миграцию EVM-приложений. Ожидается, что основная сеть будет запущена в первой половине этого года. Недавно был выпущен открытый фреймворк, поддерживающий внедрение технологии параллельной обработки в сетях Layer 2 и Rollup.
Проект C: Укрепление исполнительного слоя с помощью двух Виртуальных машин
Проект нацелен на повышение масштабируемости сети Layer 1 за счет расширения поддержки EVM и параллельного выполнения. Строя EVM++ (EVM + WASM), целью является улучшение производительности блокчейна EVM и эффективности сетевого выполнения. Члены основной команды пришли из известных китайских блокчейн-проектов. Публичная тестовая сеть запущена, программа стимулов для экосистемы стартовала.
Проект D: Внедрение параллельной технологии Виртуальной машины Ethereum
Сеть уровня 1, совместимая с EVM, построенная на Cosmos SDK, специально разработанная для приложений DeFi. Недавно был объявлен план разработки, направленный на внедрение технологии параллельного выполнения EVM для повышения производительности сети.
Проект E: Решение по совместимости EVM для не-EVM сетей
Параллельная EVM, построенная на высокопроизводительной сети, является первым решением по совместимости EVM для этой сети. Поддерживает разработчиков EVM на Solidity и Vyper, позволяя им развертывать DApp одним нажатием кнопки, наслаждаясь высокой пропускной способностью и низкими газовыми сборами. Упаковка транзакций, аналогичных транзакциям EVM, в транзакции нижнего уровня для выполнения, что увеличивает скорость транзакций, TPS превышает 2000.
Проект F: Внедрение не-EVM Виртуальной машины в Ethereum
Модульное универсальное решение Rollup Layer 2, поддерживаемое не-EVM виртуальной машиной. С учетом данных о транзакциях на Ethereum, использует ETH в качестве газа, но его уровень исполнения работает в среде, не основанной на EVM. Недавно завершено крупное финансирование, и основная сеть вскоре откроется для разработчиков.
Проект G: Модульная Виртуальная машина Layer 2
Модульная сеть VM Layer 2, построенная на основе OP Stack, также является частью экосистемы масштабирования. Цель состоит в том, чтобы внедрить высокопроизводительную виртуальную машину в существующие основные сети Layer 2 Ethereum и Bitcoin. Поддерживает использование Ethereum или Bitcoin в качестве расчетного уровня, а уровень выполнения может использовать различные виртуальные машины для параллельного выполнения.
Заключение
С развитием технологий блокчейн внимание к уровню исполнения и алгоритмам согласования становится столь же важным для достижения высокой производительности. Инновации, такие как параллельная Виртуальная машина Ethereum, предлагают многообещающие решения для повышения пропускной способности и эффективности, делая блокчейн более масштабируемым и способным поддерживать более широкую аудиторию пользователей. Развитие и внедрение этих технологий будут формировать будущее экосистемы блокчейн, способствуя дальнейшему прогрессу и применению в этой области.