Исследование узких мест последовательного выполнения EVM и оптимизация параллелизма
Эфириум виртуальная машина (EVM) является основным исполнительным движком Эфириума, и ее производительность напрямую влияет на общую пропускную способность сети. Традиционный EVM использует последовательный способ выполнения транзакций, который, хотя и прост в дизайне и легок в обслуживании, уже не может удовлетворить требования к высокому TPS и пропускной способности в условиях постоянного развития технологий блокчейн и растущей аудитории пользователей. Особенно после зрелого внедрения технологии Rollup, производственные ограничения последовательного выполнения EVM становятся более очевидными в сетях второго уровня.
EVM и состояние базы данных (stateDB) являются двумя основными компонентами выполнения транзакций в Ethereum. EVM отвечает за интерпретацию и выполнение инструкций смарт-контрактов, в то время как stateDB управляет глобальным состоянием хранения. В режиме последовательного выполнения транзакции обрабатываются по очереди, каждая транзакция использует независимый экземпляр EVM, но совместно использует одну и ту же stateDB. В этом режиме сложные транзакции смарт-контрактов значительно снижают общую скорость обработки.
Чтобы преодолеть ограничения последовательного выполнения, индустрия начала исследовать решения для параллельной оптимизации EVM. Один из проектов ZKRollup предложил многопоточную параллельную оптимизацию, основной идеей которой является выделение независимой временной базы данных состояния (pending-stateDB) для каждого потока. Конкретная реализация включает в себя:
Параллельное выполнение сделок с использованием многопоточности значительно увеличивает скорость обработки.
Назначьте отдельную pending-stateDB для каждого потока для временного хранения изменений состояния.
Оптимизировать операции чтения и записи, гарантируя правильный доступ к статусным данным и избегая конфликтов.
Внедрение механизма обнаружения конфликтов для обработки ситуации, когда несколько транзакций читают и записывают одно и то же состояние аккаунта.
После выполнения объедините несколько записей изменений из pending-stateDB в глобальный stateDB.
Эта оптимизационная схема может увеличить TPS в 3-5 раз при низкой конфликтной нагрузке. Теоретически, если использовать все методы оптимизации, можно достичь повышения производительности до 60 раз при высокой конфликтной нагрузке.
Оптимизация параллелизма EVM предоставляет огромный потенциал для повышения производительности Ethereum и его решений по масштабированию. С постоянным совершенствованием технологий у нас есть основания ожидать появления большего количества инновационных оптимизаций в будущем, которые дополнительно повысят пропускную способность блокчейн-сетей и улучшат пользовательский опыт.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
15 Лайков
Награда
15
6
Поделиться
комментарий
0/400
OnchainFortuneTeller
· 07-19 20:43
И даже не могу взяться за дело.
Посмотреть ОригиналОтветить0
ChainSherlockGirl
· 07-19 14:05
Нэ~ 60x tps как игра, Крупные инвесторы снова будут вытворять какие-то трюки.
Посмотреть ОригиналОтветить0
CountdownToBroke
· 07-16 21:20
Снова нужно говорить о tps.
Посмотреть ОригиналОтветить0
ForkItAllDay
· 07-16 21:19
gm готовы увидеть, как я увеличиваю tps в 60 раз?
Посмотреть ОригиналОтветить0
SandwichTrader
· 07-16 21:13
tps уже так высок, разве этого недостаточно?
Посмотреть ОригиналОтветить0
BlockchainRetirementHome
· 07-16 21:11
покупайте падения, даже трусы кончились. На этот раз перерождение EVM обещает быть успешным!
Оптимизация параллелизма EVM: преодоление узких мест последовательного выполнения, увеличение TPS до 60 раз
Исследование узких мест последовательного выполнения EVM и оптимизация параллелизма
Эфириум виртуальная машина (EVM) является основным исполнительным движком Эфириума, и ее производительность напрямую влияет на общую пропускную способность сети. Традиционный EVM использует последовательный способ выполнения транзакций, который, хотя и прост в дизайне и легок в обслуживании, уже не может удовлетворить требования к высокому TPS и пропускной способности в условиях постоянного развития технологий блокчейн и растущей аудитории пользователей. Особенно после зрелого внедрения технологии Rollup, производственные ограничения последовательного выполнения EVM становятся более очевидными в сетях второго уровня.
EVM и состояние базы данных (stateDB) являются двумя основными компонентами выполнения транзакций в Ethereum. EVM отвечает за интерпретацию и выполнение инструкций смарт-контрактов, в то время как stateDB управляет глобальным состоянием хранения. В режиме последовательного выполнения транзакции обрабатываются по очереди, каждая транзакция использует независимый экземпляр EVM, но совместно использует одну и ту же stateDB. В этом режиме сложные транзакции смарт-контрактов значительно снижают общую скорость обработки.
Чтобы преодолеть ограничения последовательного выполнения, индустрия начала исследовать решения для параллельной оптимизации EVM. Один из проектов ZKRollup предложил многопоточную параллельную оптимизацию, основной идеей которой является выделение независимой временной базы данных состояния (pending-stateDB) для каждого потока. Конкретная реализация включает в себя:
Эта оптимизационная схема может увеличить TPS в 3-5 раз при низкой конфликтной нагрузке. Теоретически, если использовать все методы оптимизации, можно достичь повышения производительности до 60 раз при высокой конфликтной нагрузке.
Оптимизация параллелизма EVM предоставляет огромный потенциал для повышения производительности Ethereum и его решений по масштабированию. С постоянным совершенствованием технологий у нас есть основания ожидать появления большего количества инновационных оптимизаций в будущем, которые дополнительно повысят пропускную способность блокчейн-сетей и улучшат пользовательский опыт.