Ethereum обновился больше в 2024 году, чем за последние три года вместе взятые.
Но одно предложение тихо меняет все: параллельное выполнение.
EIP-7928 может стать моментом, когда Ethereum наконец перестанет быть однопоточным.👇🧵
Мы видели обновление Fusaka, обновление kohaku, так много EIP и ERC, но EIP-7928 затрагивает суть EVM. ----------------------------------------
Что такое EIP-7928?
EIP-7928 — это предлагаемое обновление, которое вводит ограниченные атомарные списки (BALs), формальный способ для транзакций объявлять, какое состояние они будут считывать или записывать перед выполнением.
Включив структурированный «манифест доступа к состоянию», клиенты Ethereum могут определить, касаются ли две транзакции одних и тех же частей состояния, и если нет, их можно выполнять параллельно.
Это решает одну из самых больших проблем Ethereum, это система, которая делает выполнение последовательным, где каждая транзакция должна выполняться в порядке.
С EIP-7928 Ethereum делает крупный шаг к многопоточному исполняемому окружению, что позволяет увеличить пропускную способность без переопределения EVM. ----------------------------------------
Что такое БАL (? Ограниченный атомный список )?
Ограниченный атомарный список (BAL) является метаданными, которые сообщают сети, какие именно счета и места хранения транзакция намеревается прочитать или изменить до того, как она будет выполнена.
Это преобразует EVM из черного ящика, выполняющего транзакции, в предсказуемую систему, где использование ресурсов известно заранее. BAL работает как компактный, детерминированный контур следа выполнения.
Это дает валидаторам уверенность в том, что:
➢ транзакция не коснется ничего вне своих заявленных границ
➢ во время выполнения не возникнет скрытых конфликтов состояния
➢ решения о планировании, принятые до выполнения, останутся действительными после этого
BALы являются основой для обеспечения безопасного параллелизма, потому что узлы теперь могут рассуждать о конфликтах транзакций, не запускает EVM сначала.
----------------------------------------
Существуют различные типы BAЛ.
1. Read BAL, который появляется в транзакциях, которые получают доступ к состоянию, но не изменяют его ни в какой части. Эти транзакции могут быть редкими в обычных потоках Ethereum, но они становятся чрезвычайно ценными для пакетных систем.
2. Запись BAL, которая определяет подмножество состояния, которое будет обновлено транзакцией. Эти транзакции требуют разрешения конфликтов, но могут все же выполняться параллельно с другими, которые затрагивают разные области состояния.
3. Чтение-Запись BAL включает оба набора, позволяя клиентам сравнивать пересечения чтения/записи среди тысяч ожидающих транзакций.
Это позволяет планировщику создавать оптимальные группы выполнения, не рискуя непоследовательными результатами или каскадами возврата. ----------------------------------------
Механизм EIP-7928
Механизм EIP-7928 состоит из 3 основных компонентов: декларация, валидация и планирование.
1. Декларация перед выполнением
Каждая транзакция включает BAL, компактный манифест всех учетных записей и слотов хранилища, которые будут доступны. Это заявление является частью полезной нагрузки транзакции и проверяется перед началом выполнения. Это само по себе позволяет обнаруживать конфликты без запуска EVM.
2. Статическая валидация BAL
Перед выполнением любой транзакции клиенты Ethereum проверяют:
➢ является ли BAL корректным
➢ пытается ли транзакция получить доступ к чему-либо вне своих объявленных наборов
➢ соблюдают ли заявленные наборы пределы, определенные в стандарте
Если транзакция затрагивает что-то, не включенное в BAL, она недействительна. Это защищает сеть и обеспечивает доверие в параллельном планировании.
3. Конструкция графа конфликтов
С помощью BAL узел строит граф конфликтов, где каждая транзакция является узлом, ребро означает перекрывающиеся наборы чтения/записи, отсутствие ребра означает, что транзакции независимы.
Этот график точно указывает планировщику, какие транзакции могут выполняться одновременно.
4. Параллельное планирование
Клиент делит набор транзакций на партии, которые могут выполняться параллельно. Независимые партии отправляются на разные ядра или потоки CPU.
Примеры: множественные обмены в разных пулах, множественные эмиссии, влияющие на независимые состояния контрактов, не связанные переводы, касающиеся разных счетов
Эти выполняются одновременно, максимизируя использование ЦП.
5. Детерминированное подтверждение
Хотя выполнение происходит параллельно, фиксация состояния всегда применяется в каноническом порядке блоков. Это сохраняет детерминизм на всех узлах. Параллелизм ускоряет выполнение, но упорядочение предотвращает расхождение в консенсусе. ----------------------------------------
Жизненный цикл 7928-Включенного блока
Транзакции с BAL попадают в мемпул, узлы классифицируют и группируют их, начинается параллельное выполнение, результаты объединяются детерминистически, и блок завершается быстрее. Как строители, так и валидаторы извлекают выгоду из сокращенного времени выполнения и предсказуемых конфликтных паттернов.
Преимущества EIP-7928
➢ EIP-7928 разблокирует истинное параллельное выполнение, позволяя Ethereum наконец использовать современные многопроцессорные аппаратные средства дляdramatic увеличения пропускной способности.
➢ Устранение заторов быстрее позволяет EIP-7928 сгладить всплески газа и стабилизировать рынки сборов в периоды высокой нагрузки.
➢ Параллельное выполнение сокращает время проверки блоков, усиливая децентрализацию за счет снижения аппаратных требований ко всем валидаторам.
➢ С ясными границами доступа к состоянию, строители блоков могут более безопасно и эффективно структурировать стратегии MEV и пакетные потоки.
➢ EIP-7928 улучшает уровень выполнения Ethereum, не требуя новых виртуальных машин, переписывания контрактов или разрушения существующих инструментов. ---------------------------------------- В заключение, EIP-7928 кажется одним из тех обновлений, которые тихо меняют всё.
С моей точки зрения, это первый раз, когда Ethereum закладывает реальные основы для параллельного, высокопроизводительного исполнения без переписывания всего стека.
Если мы сделаем это правильно, разработчики выиграют, пользователи выиграют, и Ethereum наконец начнет использовать полную мощь современного оборудования, и это будущее, которым я искренне взволнован.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Ethereum обновился больше в 2024 году, чем за последние три года вместе взятые.
Но одно предложение тихо меняет все: параллельное выполнение.
EIP-7928 может стать моментом, когда Ethereum наконец перестанет быть однопоточным.👇🧵
Мы видели обновление Fusaka, обновление kohaku, так много EIP и ERC, но EIP-7928 затрагивает суть EVM.
----------------------------------------
Что такое EIP-7928?
EIP-7928 — это предлагаемое обновление, которое вводит ограниченные атомарные списки (BALs), формальный способ для транзакций объявлять, какое состояние они будут считывать или записывать перед выполнением.
Включив структурированный «манифест доступа к состоянию», клиенты Ethereum могут определить, касаются ли две транзакции одних и тех же частей состояния, и если нет, их можно выполнять параллельно.
Это решает одну из самых больших проблем Ethereum, это система, которая делает выполнение последовательным, где каждая транзакция должна выполняться в порядке.
С EIP-7928 Ethereum делает крупный шаг к многопоточному исполняемому окружению, что позволяет увеличить пропускную способность без переопределения EVM.
----------------------------------------
Что такое БАL (? Ограниченный атомный список )?
Ограниченный атомарный список (BAL) является метаданными, которые сообщают сети, какие именно счета и места хранения транзакция намеревается прочитать или изменить до того, как она будет выполнена.
Это преобразует EVM из черного ящика, выполняющего транзакции, в предсказуемую систему, где использование ресурсов известно заранее.
BAL работает как компактный, детерминированный контур следа выполнения.
Это дает валидаторам уверенность в том, что:
➢ транзакция не коснется ничего вне своих заявленных границ
➢ во время выполнения не возникнет скрытых конфликтов состояния
➢ решения о планировании, принятые до выполнения, останутся действительными после этого
BALы являются основой для обеспечения безопасного параллелизма, потому что узлы теперь могут рассуждать о конфликтах транзакций, не запускает EVM сначала.
----------------------------------------
Существуют различные типы BAЛ.
1. Read BAL, который появляется в транзакциях, которые получают доступ к состоянию, но не изменяют его ни в какой части. Эти транзакции могут быть редкими в обычных потоках Ethereum, но они становятся чрезвычайно ценными для пакетных систем.
2. Запись BAL, которая определяет подмножество состояния, которое будет обновлено транзакцией. Эти транзакции требуют разрешения конфликтов, но могут все же выполняться параллельно с другими, которые затрагивают разные области состояния.
3. Чтение-Запись BAL включает оба набора, позволяя клиентам сравнивать пересечения чтения/записи среди тысяч ожидающих транзакций.
Это позволяет планировщику создавать оптимальные группы выполнения, не рискуя непоследовательными результатами или каскадами возврата.
----------------------------------------
Механизм EIP-7928
Механизм EIP-7928 состоит из 3 основных компонентов: декларация, валидация и планирование.
1. Декларация перед выполнением
Каждая транзакция включает BAL, компактный манифест всех учетных записей и слотов хранилища, которые будут доступны.
Это заявление является частью полезной нагрузки транзакции и проверяется перед началом выполнения.
Это само по себе позволяет обнаруживать конфликты без запуска EVM.
2. Статическая валидация BAL
Перед выполнением любой транзакции клиенты Ethereum проверяют:
➢ является ли BAL корректным
➢ пытается ли транзакция получить доступ к чему-либо вне своих объявленных наборов
➢ соблюдают ли заявленные наборы пределы, определенные в стандарте
Если транзакция затрагивает что-то, не включенное в BAL, она недействительна. Это защищает сеть и обеспечивает доверие в параллельном планировании.
3. Конструкция графа конфликтов
С помощью BAL узел строит граф конфликтов, где каждая транзакция является узлом, ребро означает перекрывающиеся наборы чтения/записи, отсутствие ребра означает, что транзакции независимы.
Этот график точно указывает планировщику, какие транзакции могут выполняться одновременно.
4. Параллельное планирование
Клиент делит набор транзакций на партии, которые могут выполняться параллельно.
Независимые партии отправляются на разные ядра или потоки CPU.
Примеры: множественные обмены в разных пулах, множественные эмиссии, влияющие на независимые состояния контрактов, не связанные переводы, касающиеся разных счетов
Эти выполняются одновременно, максимизируя использование ЦП.
5. Детерминированное подтверждение
Хотя выполнение происходит параллельно, фиксация состояния всегда применяется в каноническом порядке блоков. Это сохраняет детерминизм на всех узлах. Параллелизм ускоряет выполнение, но упорядочение предотвращает расхождение в консенсусе.
----------------------------------------
Жизненный цикл 7928-Включенного блока
Транзакции с BAL попадают в мемпул, узлы классифицируют и группируют их, начинается параллельное выполнение, результаты объединяются детерминистически, и блок завершается быстрее.
Как строители, так и валидаторы извлекают выгоду из сокращенного времени выполнения и предсказуемых конфликтных паттернов.
Преимущества EIP-7928
➢ EIP-7928 разблокирует истинное параллельное выполнение, позволяя Ethereum наконец использовать современные многопроцессорные аппаратные средства дляdramatic увеличения пропускной способности.
➢ Устранение заторов быстрее позволяет EIP-7928 сгладить всплески газа и стабилизировать рынки сборов в периоды высокой нагрузки.
➢ Параллельное выполнение сокращает время проверки блоков, усиливая децентрализацию за счет снижения аппаратных требований ко всем валидаторам.
➢ С ясными границами доступа к состоянию, строители блоков могут более безопасно и эффективно структурировать стратегии MEV и пакетные потоки.
➢ EIP-7928 улучшает уровень выполнения Ethereum, не требуя новых виртуальных машин, переписывания контрактов или разрушения существующих инструментов.
----------------------------------------
В заключение, EIP-7928 кажется одним из тех обновлений, которые тихо меняют всё.
С моей точки зрения, это первый раз, когда Ethereum закладывает реальные основы для параллельного, высокопроизводительного исполнения без переписывания всего стека.
Если мы сделаем это правильно, разработчики выиграют, пользователи выиграют, и Ethereum наконец начнет использовать полную мощь современного оборудования, и это будущее, которым я искренне взволнован.
Ваши мысли о ЕИП-7928?