Разработчики блокчейна должны овладеть навыками написания смарт-контрактов. Они могут использовать Solidity или другие высокоуровневые языки для реализации бизнес-логики. Но EVM не может напрямую интерпретировать код Solidity, необходимо скомпилировать его в низкоуровневый язык, исполняемый виртуальной машиной ( операционные коды/байт-коды ). Существуют инструменты, которые могут автоматически выполнять это преобразование, облегчая разработчикам понимание процесса компиляции.
Хотя конвертация может привести к некоторым дополнительным расходам, инженеры с базовыми навыками программирования могут напрямую использовать операции кода в Solidity для написания логики программы, чтобы достичь максимальной эффективности и уменьшить потребление газа. Например, протокол одной торговой платформы активно использует встроенный ассемблер для минимизации затрат газа пользователей.
Различия в производительности EVM: стандарты и реализация
EVM( - это уровень выполнения), где происходит окончательное вычисление и обработка скомпилированных операций кода смарт-контрактов. Определенный EVM байт-код является отраслевым стандартом. Независимо от того, используется ли он в сети Ethereum Layer 2 или других независимых блокчейнах, совместимость со стандартом EVM позволяет разработчикам эффективно разворачивать смарт-контракты на нескольких сетях.
Несмотря на то, что соответствие стандарту байт-кода EVM делает виртуальную машину EVM, способы реализации могут значительно различаться. Например, один из клиентов Ethereum реализовал стандарт EVM на Go, в то время как другая команда фонда Ethereum поддерживает реализацию на C++. Это разнообразие позволяет проводить различные инженерные оптимизации и кастомизации.
Параллельная технология EVM
В истории сообщество блокчейна в основном сосредоточивалось на инновациях в алгоритмах согласования, некоторые проекты стали известны именно благодаря своим механизмам согласования, а не слоям выполнения. Хотя эти проекты и внесли инновации в слои выполнения, их производительность зачастую ошибочно воспринимается как результат только алгоритма согласования.
На самом деле, высокопроизводительный блокчейн требует инновационных алгоритмов консенсуса и оптимизированного уровня выполнения, что похоже на принцип самого слабого звена. Для EVM-блокчейнов, которые лишь улучшают алгоритмы консенсуса, повышение производительности требует более мощных узлов. Например, одна умная цепочка обрабатывает блоки при ограничении газа в 2000 TPS и требует конфигурации, в несколько раз превышающей таковые у полных узлов Ethereum. Хотя одна сеть второго уровня теоретически поддерживает до 1000 TPS, фактическая производительность часто оказывается ниже ожидаемой.
Требование к параллельной обработке
В большинстве систем блокчейна транзакции выполняются последовательно, подобно однопоточному ЦП. Этот подход прост и имеет низкую сложность, но недостаточен для поддержки пользовательской базы уровня Интернета. Переход на параллельные виртуальные машины с многопоточными ЦП может одновременно обрабатывать несколько транзакций, значительно увеличивая пропускную способность.
Параллельное выполнение создает инженерные проблемы, такие как обработка конкурентных транзакций, записывающих в один и тот же смарт-контракт. Необходимо разработать новые механизмы для решения этих конфликтов. Параллельное выполнение несвязанных смарт-контрактов может пропорционально повысить пропускную способность в зависимости от количества параллельных потоков обработки.
Инновации параллельной Виртуальной машины Ethereum
Параллельный EVM представляет собой ряд инноваций, направленных на оптимизацию уровня исполнения блокчейн-систем. В качестве примера какого-либо проекта его ключевые инновации включают:
Параллельное выполнение транзакций: используется оптимистичный алгоритм параллельного выполнения, который позволяет обрабатывать несколько транзакций одновременно. Этот метод начинает транзакции из одного и того же начального состояния, отслеживает входы и выходы, генерируя временные результаты для каждой транзакции. Решение о выполнении следующей транзакции принимается на основе проверки того, связаны ли входы следующей транзакции с выходами текущей обрабатываемой транзакции. Этот метод значительно повышает производительность обработки транзакций и уменьшает задержку системы.
Отложенное выполнение: в механизме консенсуса узлы могут достигать официального упорядочивания транзакций без необходимости выполнения транзакций главными узлами или узлами-валидаторами. Изначально главные узлы упорядочивают транзакции и достигают консенсуса среди узлов. Транзакции не выполняются немедленно, а выполнение откладывается на независимый канал, максимально используя время блока и повышая общую эффективность выполнения.
Пользовательская база данных состояния: оптимизация хранения и доступа к состоянию путем прямого хранения дерева Меркла на SSD. Этот метод прямого хранения минимизирует эффект увеличения чтения, увеличивает скорость доступа к состоянию, что позволяет выполнять смарт-контракты быстрее и эффективнее. Уменьшая неэффективность традиционных баз данных, он обеспечивает быстрое извлечение переменных состояния во время параллельного выполнения транзакций.
Высокопроизводительный механизм консенсуса: улучшенная версия определенного механизма консенсуса, поддерживающая синхронизацию между сотнями глобально распределенных узлов с линейной сложностью связи. Использование этапа голосования в конвейере позволяет различным этапам голосования происходить одновременно, уменьшает задержку и увеличивает эффективность консенсуса. Это изменение значительно повысило способность сети обрабатывать масштабные распределенные операции.
Вызов
Технические вызовы параллельной Виртуальной машины Ethereum
Бутылка для выполнения последовательных сделок связана с процессом чтения/записи состояния и ЦПУ. Параллельное выполнение вводит потенциальные конфликты состояния, которые необходимо проверять до или после выполнения. Например, если виртуальная машина поддерживает четыре параллельных потока, каждый из которых обрабатывает одну сделку, конфликты возникнут, когда все сделки взаимодействуют с одним и тем же пулом сделок. Эта ситуация требует тщательной проверки и механизма разрешения конфликтов, чтобы обеспечить эффективную параллельную обработку.
Помимо реализации технических различий параллельной Виртуальной машины Ethereum, команды обычно перерабатывают и улучшают производительность чтения/записи базы данных состояния и разрабатывают совместимые алгоритмы консенсуса.
Два основных вызова для параллельной EVM — это захват долгосрочной инженерной ценности Ethereum и централизация узлов. Хотя текущая стадия разработки еще не полностью открыта, чтобы защитить интеллектуальную собственность, эти детали в конечном итоге будут раскрыты при запуске тестовой сети и основной сети, что несет риск быть поглощенными Ethereum или другими блокчейнами. Быстрое развитие экосистемы будет ключом к поддержанию конкурентного преимущества.
Централизация узлов является вызовом для всех высокопроизводительных блокчейнов, и необходимо достичь баланса между "тремя сложностями блокчейна" — разрешение без разрешений, отсутствие необходимости доверия и требования к высокой производительности. Показатели, такие как "TPS для каждой аппаратной конфигурации", могут помочь сравнить эффективность блокчейнов при определенных аппаратных условиях, поскольку более низкие требования к аппаратному обеспечению могут обеспечить большее количество децентрализованных узлов.
Параллельная структура EVM
Параллельная архитектура EVM включает в себя несколько проектов, некоторые из которых являются блокчейнами уровня 1, некоторые могут быть решениями уровня 2. Также есть некоторые решения, совместимые с EVM, основанные на других сетях, а также открытые клиенты.
Основным условием параллельной EVM является совместимость сети с EVM. Некоторые не-EVM сети, хотя и используют параллельное выполнение, не считаются проектами параллельной EVM.
В настоящее время существующие параллельные сети EVM можно разделить на три типа:
Усовершенствованная сеть Layer 1, совместимая с EVM, с использованием технологии параллельного выполнения: эти сети изначально не использовали параллельное выполнение, но были модернизированы с помощью технологических итераций для поддержки параллельного EVM.
С самого начала использовалась параллельная обработка в сети Layer 1, совместимой с Виртуальной машиной Ethereum.
Использование технологий параллельного выполнения на уровне 2, не основанных на EVM: к ним относятся ориентированные на расширение совместимые с EVM цепочки уровня 2. Эти сети абстрагируют EVM в виде модульных исполняемых модулей, позволяя выбирать наилучший "уровень выполнения VM" по мере необходимости, что обеспечивает параллельные возможности.
Заключение
С развитием технологии блокчейн внимание к уровню выполнения и алгоритмам согласования также важно для достижения высокой производительности. Инновации, такие как параллельная Виртуальная машина Ethereum, предлагают многообещающие решения для повышения пропускной способности и эффективности, делая блокчейн более масштабируемым и способным поддерживать широкий круг пользователей. Развитие и внедрение этих технологий будут формировать будущее экосистемы блокчейн, способствуя дальнейшему прогрессу и применению в этой области.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
15 Лайков
Награда
15
5
Поделиться
комментарий
0/400
WhaleWatcher
· 19ч назад
Разве solidity может повлиять на высокую стоимость моего газа?
Посмотреть ОригиналОтветить0
TaxEvader
· 19ч назад
Обучение новичка программированию
Посмотреть ОригиналОтветить0
FUD_Vaccinated
· 20ч назад
Игроки, которые умеют оптимизировать Газ, теперь напрямую используют Код операции.
Посмотреть ОригиналОтветить0
SchroedingersFrontrun
· 20ч назад
Неужели это всего лишь оптимизация газа, а еще и нужно хвастаться?
Посмотреть ОригиналОтветить0
ZKProofster
· 20ч назад
Технически говоря, оптимизация газа — это всего лишь временное решение. Параллельный EVM — это настоящая находка здесь...
Параллельные инновации EVM: новое направление для повышения производительности Блокчейна
Виртуальная машина Ethereum EVM
Виртуальная машина Ethereum против Solidity
Разработчики блокчейна должны овладеть навыками написания смарт-контрактов. Они могут использовать Solidity или другие высокоуровневые языки для реализации бизнес-логики. Но EVM не может напрямую интерпретировать код Solidity, необходимо скомпилировать его в низкоуровневый язык, исполняемый виртуальной машиной ( операционные коды/байт-коды ). Существуют инструменты, которые могут автоматически выполнять это преобразование, облегчая разработчикам понимание процесса компиляции.
Хотя конвертация может привести к некоторым дополнительным расходам, инженеры с базовыми навыками программирования могут напрямую использовать операции кода в Solidity для написания логики программы, чтобы достичь максимальной эффективности и уменьшить потребление газа. Например, протокол одной торговой платформы активно использует встроенный ассемблер для минимизации затрат газа пользователей.
! Глубокое погружение в параллельную EVM и ее экосистему
Различия в производительности EVM: стандарты и реализация
EVM( - это уровень выполнения), где происходит окончательное вычисление и обработка скомпилированных операций кода смарт-контрактов. Определенный EVM байт-код является отраслевым стандартом. Независимо от того, используется ли он в сети Ethereum Layer 2 или других независимых блокчейнах, совместимость со стандартом EVM позволяет разработчикам эффективно разворачивать смарт-контракты на нескольких сетях.
Несмотря на то, что соответствие стандарту байт-кода EVM делает виртуальную машину EVM, способы реализации могут значительно различаться. Например, один из клиентов Ethereum реализовал стандарт EVM на Go, в то время как другая команда фонда Ethereum поддерживает реализацию на C++. Это разнообразие позволяет проводить различные инженерные оптимизации и кастомизации.
Параллельная технология EVM
В истории сообщество блокчейна в основном сосредоточивалось на инновациях в алгоритмах согласования, некоторые проекты стали известны именно благодаря своим механизмам согласования, а не слоям выполнения. Хотя эти проекты и внесли инновации в слои выполнения, их производительность зачастую ошибочно воспринимается как результат только алгоритма согласования.
На самом деле, высокопроизводительный блокчейн требует инновационных алгоритмов консенсуса и оптимизированного уровня выполнения, что похоже на принцип самого слабого звена. Для EVM-блокчейнов, которые лишь улучшают алгоритмы консенсуса, повышение производительности требует более мощных узлов. Например, одна умная цепочка обрабатывает блоки при ограничении газа в 2000 TPS и требует конфигурации, в несколько раз превышающей таковые у полных узлов Ethereum. Хотя одна сеть второго уровня теоретически поддерживает до 1000 TPS, фактическая производительность часто оказывается ниже ожидаемой.
Требование к параллельной обработке
В большинстве систем блокчейна транзакции выполняются последовательно, подобно однопоточному ЦП. Этот подход прост и имеет низкую сложность, но недостаточен для поддержки пользовательской базы уровня Интернета. Переход на параллельные виртуальные машины с многопоточными ЦП может одновременно обрабатывать несколько транзакций, значительно увеличивая пропускную способность.
Параллельное выполнение создает инженерные проблемы, такие как обработка конкурентных транзакций, записывающих в один и тот же смарт-контракт. Необходимо разработать новые механизмы для решения этих конфликтов. Параллельное выполнение несвязанных смарт-контрактов может пропорционально повысить пропускную способность в зависимости от количества параллельных потоков обработки.
Инновации параллельной Виртуальной машины Ethereum
Параллельный EVM представляет собой ряд инноваций, направленных на оптимизацию уровня исполнения блокчейн-систем. В качестве примера какого-либо проекта его ключевые инновации включают:
Параллельное выполнение транзакций: используется оптимистичный алгоритм параллельного выполнения, который позволяет обрабатывать несколько транзакций одновременно. Этот метод начинает транзакции из одного и того же начального состояния, отслеживает входы и выходы, генерируя временные результаты для каждой транзакции. Решение о выполнении следующей транзакции принимается на основе проверки того, связаны ли входы следующей транзакции с выходами текущей обрабатываемой транзакции. Этот метод значительно повышает производительность обработки транзакций и уменьшает задержку системы.
Отложенное выполнение: в механизме консенсуса узлы могут достигать официального упорядочивания транзакций без необходимости выполнения транзакций главными узлами или узлами-валидаторами. Изначально главные узлы упорядочивают транзакции и достигают консенсуса среди узлов. Транзакции не выполняются немедленно, а выполнение откладывается на независимый канал, максимально используя время блока и повышая общую эффективность выполнения.
Пользовательская база данных состояния: оптимизация хранения и доступа к состоянию путем прямого хранения дерева Меркла на SSD. Этот метод прямого хранения минимизирует эффект увеличения чтения, увеличивает скорость доступа к состоянию, что позволяет выполнять смарт-контракты быстрее и эффективнее. Уменьшая неэффективность традиционных баз данных, он обеспечивает быстрое извлечение переменных состояния во время параллельного выполнения транзакций.
Высокопроизводительный механизм консенсуса: улучшенная версия определенного механизма консенсуса, поддерживающая синхронизацию между сотнями глобально распределенных узлов с линейной сложностью связи. Использование этапа голосования в конвейере позволяет различным этапам голосования происходить одновременно, уменьшает задержку и увеличивает эффективность консенсуса. Это изменение значительно повысило способность сети обрабатывать масштабные распределенные операции.
Вызов
Технические вызовы параллельной Виртуальной машины Ethereum
Бутылка для выполнения последовательных сделок связана с процессом чтения/записи состояния и ЦПУ. Параллельное выполнение вводит потенциальные конфликты состояния, которые необходимо проверять до или после выполнения. Например, если виртуальная машина поддерживает четыре параллельных потока, каждый из которых обрабатывает одну сделку, конфликты возникнут, когда все сделки взаимодействуют с одним и тем же пулом сделок. Эта ситуация требует тщательной проверки и механизма разрешения конфликтов, чтобы обеспечить эффективную параллельную обработку.
Помимо реализации технических различий параллельной Виртуальной машины Ethereum, команды обычно перерабатывают и улучшают производительность чтения/записи базы данных состояния и разрабатывают совместимые алгоритмы консенсуса.
! Глубокое погружение в параллельную EVM и ее экосистему
Вызовы и соображения
Два основных вызова для параллельной EVM — это захват долгосрочной инженерной ценности Ethereum и централизация узлов. Хотя текущая стадия разработки еще не полностью открыта, чтобы защитить интеллектуальную собственность, эти детали в конечном итоге будут раскрыты при запуске тестовой сети и основной сети, что несет риск быть поглощенными Ethereum или другими блокчейнами. Быстрое развитие экосистемы будет ключом к поддержанию конкурентного преимущества.
Централизация узлов является вызовом для всех высокопроизводительных блокчейнов, и необходимо достичь баланса между "тремя сложностями блокчейна" — разрешение без разрешений, отсутствие необходимости доверия и требования к высокой производительности. Показатели, такие как "TPS для каждой аппаратной конфигурации", могут помочь сравнить эффективность блокчейнов при определенных аппаратных условиях, поскольку более низкие требования к аппаратному обеспечению могут обеспечить большее количество децентрализованных узлов.
Параллельная структура EVM
Параллельная архитектура EVM включает в себя несколько проектов, некоторые из которых являются блокчейнами уровня 1, некоторые могут быть решениями уровня 2. Также есть некоторые решения, совместимые с EVM, основанные на других сетях, а также открытые клиенты.
Основным условием параллельной EVM является совместимость сети с EVM. Некоторые не-EVM сети, хотя и используют параллельное выполнение, не считаются проектами параллельной EVM.
В настоящее время существующие параллельные сети EVM можно разделить на три типа:
Усовершенствованная сеть Layer 1, совместимая с EVM, с использованием технологии параллельного выполнения: эти сети изначально не использовали параллельное выполнение, но были модернизированы с помощью технологических итераций для поддержки параллельного EVM.
С самого начала использовалась параллельная обработка в сети Layer 1, совместимой с Виртуальной машиной Ethereum.
Использование технологий параллельного выполнения на уровне 2, не основанных на EVM: к ним относятся ориентированные на расширение совместимые с EVM цепочки уровня 2. Эти сети абстрагируют EVM в виде модульных исполняемых модулей, позволяя выбирать наилучший "уровень выполнения VM" по мере необходимости, что обеспечивает параллельные возможности.
Заключение
С развитием технологии блокчейн внимание к уровню выполнения и алгоритмам согласования также важно для достижения высокой производительности. Инновации, такие как параллельная Виртуальная машина Ethereum, предлагают многообещающие решения для повышения пропускной способности и эффективности, делая блокчейн более масштабируемым и способным поддерживать широкий круг пользователей. Развитие и внедрение этих технологий будут формировать будущее экосистемы блокчейн, способствуя дальнейшему прогрессу и применению в этой области.
! Глубокое погружение в параллельную EVM и ее экосистему