Что такое уровень исполнения в криптовалютной сфере?
Уровень исполнения — это часть блокчейн-системы, которая обрабатывает транзакции, выполняет код смарт-контрактов, рассчитывает комиссии и обновляет текущее состояние сети.Он определяет, что происходит после того, как пользователь подписывает и отправляет криптовалютную транзакцию.Например, уровень исполнения может переводить криптовалюту между аккаунтами, обменивать токены через смарт-контракт, создавать цифровой актив, обновлять позицию в протоколе кредитования или отклонять недействительную транзакцию.В Ethereum уровень исполнения официально описывается как сеть клиентов уровня исполнения, которые обрабатывают транзакции и управляют состоянием Ethereum. Об этом говорится в глоссарии Ethereum.
Уровень исполнения следует фиксированным правилам протокола, поэтому каждый добросовестный узел получает одинаковый результат при обработке одного и того же набора транзакций.Такая согласованность необходима: блокчейн не сможет работать, если разные узлы будут рассчитывать разные балансы аккаунтов или результаты смарт-контрактов.Уровень исполнения тесно связан с уровнем консенсуса, но эти два уровня выполняют разные задачи.Уровень исполнения определяет, являются ли транзакции и изменения состояния допустимыми, а уровень консенсуса помогает сети согласовать, какой допустимый блок должен быть добавлен в официальную историю блокчейна.Что делает уровень исполнения?
Уровень исполнения выполняет вычисления, необходимые для преобразования транзакций в проверенные изменения состояния блокчейна.Перед применением каждой транзакции он проверяет, соответствует ли она правилам протокола.В ходе этого процесса проверяется подпись транзакции и баланс отправителя, подтверждается nonce аккаунта, рассчитывается расход газа и выполняются инструкции смарт-контракта, если они есть.Уровень исполнения также рассчитывает новые балансы, значения хранилища контрактов, журналы событий и квитанции транзакций.Если транзакция недействительна, уровень исполнения отклоняет ее.Если выполнение смарт-контракта завершается ошибкой, запрошенные изменения состояния обычно отменяются, хотя отправитель может заплатить за уже выполненные вычисления.Уровень исполнения обрабатывает транзакции в определенном порядке, поскольку одна транзакция может изменить результат следующей.Например, перевод токенов должен сначала обновить баланс отправителя, прежде чем другая транзакция сможет потратить те же токены.После обработки всех транзакций в блоке уровень исполнения рассчитывает итоговое состояние, которое формирует этот блок.Другие узлы могут повторить те же вычисления и проверить, что создатель блока соблюдал правила протокола.Уровень исполнения и состояние блокчейна
Состояние блокчейна — это текущая запись аккаунтов, балансов, смарт-контрактов и хранящихся в них данных.Уровень исполнения отвечает за переход блокчейна из одного допустимого состояния в следующее.Этот процесс обычно называют переходом состояния.Переход состояния начинается с предыдущего состояния блокчейна и допустимой транзакции.Затем применяются правила исполнения, чтобы сформировать новое состояние.При обычном переводе криптовалюты уровень исполнения уменьшает баланс отправителя и увеличивает баланс получателя.При транзакции со смарт-контрактом уровень исполнения может обновить множество значений хранилища и взаимодействовать с несколькими другими контрактами.Состояние Ethereum включает аккаунты, контролируемые владельцами приватных ключей, и аккаунты контрактов, управляемые кодом.К важным данным аккаунта могут относиться баланс, nonce, код контракта и его хранилище.Ethereum организует важную информацию уровня исполнения с помощью аутентифицированных структур данных, в том числе корней состояния, транзакций и квитанций, описанных в официальном руководстве по деревьям Merkle Patricia.
Эти криптографические корни позволяют узлам обнаруживать изменения результатов исполнения или записей о транзакциях.Уровень исполнения и виртуальная машина Ethereum
Виртуальная машина Ethereum — это вычислительная среда, в которой выполняются инструкции смарт-контрактов в сети Ethereum.Обычно ее называют EVM.EVM — важный компонент уровня исполнения Ethereum, но EVM и уровень исполнения — не одно и то же.EVM выполняет код контрактов, а более широкий уровень исполнения также управляет транзакциями, состоянием аккаунтов, комиссиями, квитанциями, блоками и взаимодействием с другими компонентами узла.Каждый узел Ethereum, использующий клиент уровня исполнения, следует одним и тем же правилам EVM.Благодаря детерминированной архитектуре одна и та же допустимая транзакция должна давать одинаковый результат на каждом добросовестном узле.В официальной документации по виртуальной машине Ethereum EVM описывается как децентрализованная виртуальная среда, в которой код одинаково выполняется на узлах Ethereum.
Перед выполнением EVM код смарт-контракта преобразуется в низкоуровневые инструкции, называемые опкодами.Каждый опкод выполняет определенную операцию: например, складывает числа, читает или записывает данные в хранилище, проверяет адрес или вызывает другой контракт.Для разных операций требуются разные вычислительные ресурсы.Уровень исполнения измеряет эти затраты в газе.Уровень исполнения и газ
Газ — это единица измерения вычислительных ресурсов, необходимых для выполнения транзакции Ethereum.Для каждой операции исполнения установлена стоимость в газе.Обычный перевод криптовалюты, как правило, требует меньше газа, чем сложное взаимодействие со смарт-контрактом.Например, транзакции с несколькими контрактами, обновлением хранилища и множеством вычислений обычно требуется больше газа, чем простому переводу.Газ защищает уровень исполнения от транзакций, требующих неограниченных вычислений.Без ограничения ресурсов вредоносный или плохо написанный код мог бы заставить узлы выполнять вычисления бесконечно.Отправитель задает лимит газа — максимальное количество газа, которое может потребить транзакция.Если для выполнения требуется больше газа, чем доступно, газ заканчивается, а предусмотренные транзакцией изменения состояния отменяются.Отправитель все равно может заплатить за работу, выполненную до сбоя.В официальной документации Ethereum о газе и комиссиях объясняется, как газ измеряет вычислительные затраты и помогает распределять ограниченные ресурсы сети.
Комиссии за газ могут расти, когда множество пользователей конкурирует за место в блоках уровня исполнения.Более высокая комиссия может повысить вероятность включения транзакции, но не меняет базовые правила смарт-контракта.Как транзакция попадает на уровень исполнения
Криптовалютная транзакция обычно создается в кошельке или децентрализованном приложении.Пользователь выбирает действие, проверяет детали и подписывает транзакцию приватным ключом.Подпись подтверждает, что транзакцию авторизовал контролирующий аккаунт субъект.Подписанная транзакция отправляется узлу блокчейна через интерфейс программирования приложений или одноранговое соединение.Клиенты уровня исполнения обычно предоставляют методы JSON-RPC, с помощью которых кошельки, приложения, разработчики и инфраструктурные сервисы взаимодействуют с сетью.В официальной спецификации Ethereum Execution API JSON-RPC описывается как стандартный интерфейс между клиентами уровня исполнения и подключенными к ним инструментами.
Допустимая транзакция в ожидании обработки может попасть в пул транзакций клиента уровня исполнения, который обычно называют мемпулом.Создатель блока выбирает транзакции из доступного пула и помещает их в блок данных исполнения.Транзакции исполняются в указанном порядке.Уровень исполнения формирует обновленные данные о состоянии, расчеты газа, журналы, квитанции и другие результаты.Другие узлы самостоятельно исполняют транзакции, чтобы проверить предложенный результат.После получения дополнительных подтверждений консенсуса и достижения финальности отменить транзакцию становится все сложнее.Типы транзакций, обрабатываемые уровнем исполнения
Уровень исполнения может обрабатывать несколько типов блокчейн-транзакций.Перевод средств перемещает нативную криптовалюту сети с одного аккаунта на другой.Транзакция развертывания контракта создает новый смарт-контракт и сохраняет его код по адресу в блокчейне.Транзакция взаимодействия с контрактом вызывает функцию существующего смарт-контракта.Перевод токенов обычно вызывает функцию контракта токена, а не перемещает напрямую нативный актив блокчейна.Транзакция в децентрализованных финансах может обменивать токены, вносить обеспечение, брать активы в заем, погашать долг или выводить ликвидность.Транзакция управления может подавать голос или вносить предложение через смарт-контракт.Транзакция авторизации может временно предоставить аккаунту, контролируемому владельцем ключей, дополнительные возможности смарт-аккаунта согласно поддерживаемым правилам протокола.В актуальной документации по транзакциям Ethereum описаны различные форматы транзакций, включая транзакции с рынком комиссий, транзакции с blob-данными и новые транзакции со списками авторизации.
Форматы транзакций могут меняться, но каждая принятая транзакция по-прежнему должна проходить проверку и соответствовать правилам перехода состояния уровня исполнения.Уровень исполнения и смарт-контракты
Смарт-контракт — это программа, хранящаяся по адресу в блокчейне и выполняемая по правилам блокчейна.Смарт-контракты делают уровень исполнения программируемым.Программируемый уровень исполнения поддерживает не только обычные переводы криптовалюты, но и токены, протоколы кредитования, децентрализованную торговлю, цифровые коллекционные предметы, блокчейн-игры, системы страхования и инструменты управления.Пользователь взаимодействует со смарт-контрактом, отправляя транзакцию с необходимыми данными.Уровень исполнения считывает транзакцию и выполняет запрошенную функцию контракта.Контракт может считывать существующие данные, выполнять вычисления, обновлять хранилище, переводить активы, создавать журналы событий или вызывать другой контракт.В официальном введении в смарт-контракты Ethereum объясняется, что для развертывания кода контракта и взаимодействия с ним нужны транзакции и газ.
Смарт-контракты могут взаимодействовать друг с другом в рамках одной транзакции. Это часто называют компонуемостью.Компонуемость позволяет разработчикам объединять существующие ончейн-функции в более сложные криптовалютные приложения.Однако она также может повышать риск исполнения, поскольку проблема в одном контракте способна повлиять на связанный с ним контракт.Уровень исполнения и уровень консенсуса
Уровень исполнения и уровень консенсуса — отдельные, но взаимосвязанные компоненты Ethereum.Уровень исполнения обрабатывает транзакции и рассчитывает изменения состояния.Уровень консенсуса координирует валидаторов, предложения блоков, аттестации, выбор цепи и финальность.Проще говоря, уровень исполнения проверяет допустимость результата транзакции, а уровень консенсуса определяет, какую допустимую историю блокчейна должна принять сеть.После перехода Ethereum на Proof of Stake для полноценного узла стали необходимы и клиент уровня исполнения, и клиент уровня консенсуса.На официальной странице о запуске узла Ethereum объясняется, что после The Merge требуются оба типа клиентов.
Клиенты взаимодействуют друг с другом, связывая результаты исполнения с решениями консенсуса Proof of Stake.Клиент уровня консенсуса получает и проверяет данные консенсуса.Клиент уровня исполнения проверяет транзакции, выполняет смарт-контракты и поддерживает состояние исполнения.В официальном объяснении The Merge прежняя цепь Ethereum на Proof of Work описана как уровень исполнения, а Beacon Chain на Proof of Stake — как уровень консенсуса.
Разделение этих функций позволяет разработчикам улучшать компоненты исполнения и консенсуса, не считая их одной и той же функцией.Как взаимодействуют исполнение и консенсус
Для допустимости блока в блокчейне необходимы как правильное исполнение, так и принятие блока по правилам консенсуса.Когда предлагается новый блок, его транзакции должны давать допустимый результат исполнения.Клиент уровня исполнения проверяет подписи транзакций, балансы, nonce, лимиты газа, работу смарт-контрактов и итоговое состояние.Клиент уровня консенсуса проверяет данные о предложившем блок валидаторе, аттестации, правила Proof of Stake и принятую историю цепи.Валидаторы не просто доверяют результату исполнения, представленному создателем блока.Транзакции исполняются повторно, чтобы участвующие узлы могли независимо проверить предложенные изменения состояния.В официальном руководстве по Proof of Stake в Ethereum объясняется, что транзакции предложенного блока исполняются повторно для проверки допустимости изменений состояния.
Если результат исполнения недействителен, добросовестные узлы отклонят блок, даже если его предложил активный валидатор.Если исполнение допустимо, но блок не выбран по правилам консенсуса, он может не попасть в каноническую цепь.Таким образом, для безопасной и работоспособной блокчейн-сети необходимы оба уровня.Клиент уровня исполнения и уровень исполнения
Клиент уровня исполнения — это программное обеспечение, реализующее правила исполнения блокчейна.Уровень исполнения — более широкая сеть и система, образованная всеми участвующими клиентами уровня исполнения.Оператор узла устанавливает клиент уровня исполнения для обработки транзакций, поддержки состояния, взаимодействия с другими узлами и предоставления интерфейсов приложений.Разные реализации клиентов могут следовать одной спецификации протокола, но использовать разные языки программирования и внутреннюю архитектуру.Разнообразие клиентов повышает отказоустойчивость, поскольку вся сеть меньше зависит от одной программной реализации.При этом все совместимые клиенты уровня исполнения должны одинаково обрабатывать допустимые транзакции.Различия в поведении при переходе состояния могут привести к тому, что узлы будут рассчитывать разные состояния блокчейна.Спецификация уровня исполнения Ethereum содержит удобное для чтения описание работы клиентов уровня исполнения и обновлений сети.
Разработчики клиентов используют спецификации и обширное тестирование, чтобы снизить вероятность расхождения результатов.Обычным пользователям не нужно запускать клиент уровня исполнения для отправки транзакций, но запуск узла обеспечивает более независимую проверку и больший контроль над доступом к блокчейну.Уровень исполнения и уровень приложений
Уровень приложений включает кошельки, интерфейсы и децентрализованные приложения, с которыми взаимодействуют пользователи.Уровень исполнения — это базовая блокчейн-система, обрабатывающая транзакции, созданные этими приложениями.Кошелек может создать и подписать транзакцию, но самостоятельно не определяет итоговое состояние блокчейна.Децентрализованное приложение может показывать интерфейс обмена токенов, но смарт-контракт, выполняющий обмен, запускается на уровне исполнения.Уровень приложений упрощает работу с блокчейном, а уровень исполнения обеспечивает соблюдение правил протокола.Проблема в интерфейсе приложения не всегда означает сбой уровня исполнения.Например, сайт может отображать неверные сведения, хотя смарт-контракт и состояние блокчейна остаются корректными.Возможна и обратная ситуация: интерфейс работает нормально, но смарт-контракт содержит небезопасную логику.Поэтому при оценке криптовалютного приложения следует разделять риски интерфейса, смарт-контракта и исполнения блокчейна.Уровень исполнения и уровень расчетов
Уровень исполнения обрабатывает транзакции и рассчитывает их результаты.Уровень расчетов обеспечивает надежную среду для окончательного определения прав собственности и разрешения споров.В блокчейне Layer 1 исполнение и расчеты могут происходить в рамках одной сети, хотя это разные понятия.В модульной архитектуре исполнение может происходить в одной сети, а другая сеть обеспечивает расчеты или безопасность.Например, роллап может исполнять транзакции вне основной среды исполнения Ethereum, а затем публиковать в Ethereum данные или доказательства.В соответствии с архитектурой роллапа Ethereum становится для него базовым уровнем расчетов.Такое разделение может повысить пропускную способность, поскольку не каждое действие пользователя требуется исполнять непосредственно в среде Layer 1.Однако пользователям необходимо понимать, как дополнительная система исполнения публикует данные, доказывает результаты, обрабатывает выводы и реагирует на сбои.Исполнение определяет, что изменилось, а расчеты — когда эти изменения можно считать окончательными согласно модели безопасности системы.Уровень исполнения и уровень доступности данных
Доступность данных показывает, могут ли участники сети получить информацию, необходимую для проверки активности блокчейна.Исполнение и доступность данных решают разные задачи.Уровень исполнения применяет правила транзакций и рассчитывает изменения состояния.Уровень доступности данных обеспечивает возможность получить данные о необходимых транзакциях или блоках для проверки.Если критически важные данные о транзакциях скрыты, систему нельзя проверить самостоятельно, даже если кто-то утверждает, что исполнение было корректным.В некоторых модульных блокчейн-системах исполнение, консенсус, расчеты и доступность данных разделены между разными компонентами.Ethereum поддерживает специальные транзакции с blob-данными, позволяющие роллапам эффективнее публиковать временные данные.В официальной спецификации EIP-4844 были введены транзакции с blob-данными для поддержки масштабируемой доступности данных роллапов.
EVM использует blob-данные не так, как обычные данные смарт-контракта, передаваемые в транзакции.Вместо этого они дают роллапам возможность дешевле обеспечивать доступность данных, пока исполнение происходит в среде роллапа.Уровни исполнения в сетях Layer 2
Сеть Layer 2 может предоставлять отдельную среду исполнения, опираясь при этом на блокчейн Layer 1 для части безопасности или расчетов.Это позволяет обрабатывать множество транзакций вне основной среды исполнения Layer 1.Затем система Layer 2 публикует данные о транзакциях, обязательства состояния или доказательства корректности в соответствии со своей архитектурой.Оптимистичные роллапы обычно предусматривают период оспаривания, в течение которого можно оспорить недопустимое утверждение о состоянии.Роллапы с доказательством с нулевым разглашением используют криптографические доказательства корректности, подтверждающие, что группа транзакций соответствует установленным правилам.В официальном обзоре Ethereum Layer 2 объясняется, как дополнительные сети могут повышать пропускную способность, используя Ethereum в качестве уровня расчетов.
Исполнение на Layer 2 может снизить стоимость транзакций и повысить пропускную способность.Однако у каждой системы Layer 2 могут быть свои правила секвенсора, процедуры вывода, риски смарт-контрактов, системы доказательств и средства контроля обновлений.Не следует считать, что все уровни исполнения обеспечивают одинаковые гарантии безопасности.Место исполнения — только один из элементов общей модели доверия системы.Уровень исполнения — это то же самое, что Layer 1?
Уровень исполнения не обязательно является тем же самым, что блокчейн Layer 1.Layer 1 — это базовая блокчейн-сеть с собственным протоколом и системой безопасности.Уровень исполнения обозначает функцию, отвечающую за обработку транзакций и расчет изменений состояния.Блокчейн Layer 1 может включать уровень исполнения, механизм консенсуса, правила взаимодействия узлов, хранение данных и функции расчетов.У сети Layer 2 также может быть собственный уровень исполнения, зависящий от сети Layer 1 в вопросах расчетов или доступности данных.Эти термины отвечают на разные вопросы.Layer 1 и Layer 2 описывают место системы в архитектуре блокчейна.Уровень исполнения обозначает часть системы, которая выполняет вычисления и переходы состояния.Уровень исполнения и создание блоков
Создание блока объединяет выбор транзакций с задачами исполнения и консенсуса.Создатель блока или связанный с ним билдер выбирает ожидающие транзакции и размещает их в упорядоченном блоке данных исполнения.Порядок имеет значение, поскольку результаты работы смарт-контрактов могут зависеть от того, какая транзакция исполняется первой.Клиент уровня исполнения проверяет, укладываются ли выбранные транзакции в ресурсные ограничения блока.Затем он рассчитывает итоговое состояние, расход газа, квитанции и другие данные исполнения.Система консенсуса координирует распространение предложенного блока, его проверку и голосование по нему, а также его добавление в принятую цепь.Другие узлы повторно исполняют транзакции, а не доверяют расчетам создателя блока.Такая независимая проверка — одно из главных отличий уровня исполнения блокчейна от традиционной централизованной базы данных.В централизованной базе данных один оператор может напрямую контролировать официальное состояние.В блокчейне множество узлов могут проверить, соответствует ли предложенный переход состояния общим правилам.Уровень исполнения и порядок транзакций
Порядок транзакций определяет последовательность их исполнения внутри блока.Эта последовательность может влиять на цены токенов, результаты ликвидации, исходы аукционов и состояние смарт-контрактов.Например, два пользователя могут почти одновременно попытаться совершить обмен через один и тот же пул ликвидности.Первая исполненная транзакция меняет баланс пула и влияет на цену, которую получит вторая.Экономическую ценность, создаваемую выбором, включением, исключением или упорядочиванием транзакций, обычно называют максимально извлекаемой ценностью.В официальной документации Ethereum о максимально извлекаемой ценности объясняется, как формирование блоков и порядок транзакций могут приносить ценность сверх обычных вознаграждений за блок и комиссий.
Некоторые способы упорядочивания транзакций повышают эффективность рынка, тогда как другие могут ухудшать результаты для пользователей.Например, при атаке типа «сэндвич» пытаются провести сделки до и после децентрализованного обмена пользователя, чтобы получить прибыль за счет влияния обмена на цену.Часть рисков исполнения можно снизить, проверяя ограничения проскальзывания, избегая пулов с низкой ликвидностью и оценивая ожидаемый результат транзакции.Масштабируемость уровня исполнения
Масштабируемость уровня исполнения — это способность системы обрабатывать больше транзакций, сохраняя безопасную и практичную возможность их проверки.Блокчейн может повысить пропускную способность исполнения за счет более эффективного программного обеспечения, изменения ресурсных ограничений, параллельной обработки транзакций или переноса активности в системы Layer 2.Каждый способ масштабирования предполагает компромиссы.Более крупные блоки могут обрабатывать больше операций, но требуют от узлов большей пропускной способности сети, объема хранилища и вычислительных ресурсов.Более сложное исполнение может затруднить запуск валидирующего узла.Исполнение на Layer 2 способно снизить нагрузку непосредственно на Layer 1, но добавляет мосты, секвенсоры, системы доказательств и дополнительные смарт-контракты.Параллельное исполнение может повысить производительность, когда транзакции не зависят от одного и того же состояния, однако конфликтующие транзакции по-прежнему требуют тщательного упорядочивания.Устойчивый уровень исполнения должен обеспечивать баланс между пропускной способностью, децентрализацией, безопасностью, предсказуемой проверкой и разумными требованиями к оборудованию.Безопасность уровня исполнения
Безопасность уровня исполнения зависит от корректных правил протокола, надежного клиентского ПО, детерминированных вычислений и независимой проверки.Серьезная ошибка в клиенте уровня исполнения может привести к разногласиям между узлами относительно допустимых изменений состояния.Этот риск снижают благодаря нескольким реализациям клиентов, тестированию, аудитам, формальным спецификациям и согласованным обновлениям сети.Безопасность уровня исполнения не гарантирует безопасность каждого смарт-контракта.Смарт-контракт может соответствовать правилам исполнения, но содержать ошибку в коде, небезопасное разрешение, неработающую экономическую модель или уязвимую архитектуру.Уровень исполнения корректно запустит допустимый код контракта, даже если он приводит к нежелательному результату.Поэтому пользователям необходимо оценивать безопасность и базовой среды исполнения, и конкретного приложения.К другим рискам относятся атаки типа «отказ в обслуживании», рост объема состояния, резкий рост комиссий, вредоносное упорядочивание транзакций, манипулирование оракулами, уязвимости мостов и небезопасные обновления контрактов.Безопасный базовый уровень снижает инфраструктурные риски, но не устраняет все риски приложений и ошибки пользователей.Что происходит при сбое исполнения?
Исполнение может завершиться ошибкой, если транзакция не соответствует требованиям протокола или смарт-контракта.Транзакция может завершиться сбоем из-за неверного nonce, недостатка средств, недействительной подписи, истекшего срока действия условия, нехватки газа или отмены вызова контракта.Недействительная транзакция может быть отклонена до включения в блок.Транзакция, попавшая в блок, все равно может быть отменена при сохранении обязанности оплатить газ.При отмене изменения состояния, внесенные во время неудачного вызова, обычно откатываются.В квитанции блокчейна указывается, успешно ли выполнена транзакция.Сбой отдельной транзакции не означает, что весь уровень исполнения перестал работать.Обычно это значит, что конкретная транзакция не смогла завершиться с учетом текущего состояния и правил контракта.Перед отправкой кошельки и приложения часто моделируют транзакции, чтобы оценить расход газа и обнаружить вероятные ошибки.Моделирование помогает избежать ошибок, но не гарантирует успеха: до исполнения транзакции состояние блокчейна может измениться.Почему результат исполнения может измениться до подтверждения
До включения транзакции в блок кошелек может показать предполагаемый результат ее исполнения.Такая оценка основана на состоянии блокчейна, доступном во время моделирования.До исполнения транзакции другие операции могут изменить цены, балансы, ликвидность, хранилище контрактов или условия заимствования.Это особенно важно для децентрализованных обменов, ликвидаций, аукционов и продаж ограниченного количества токенов.Поэтому результат транзакции может отличаться, транзакция может быть отменена или может сработать заданный пользователем лимит проскальзывания.Уровень исполнения обрабатывает транзакцию с учетом фактического состояния в момент ее обработки в блоке, а не более раннего состояния, которое показывал интерфейс.Перед подписанием пользователям следует проверить минимальное количество получаемых активов, срок действия, настройки газа и разрешения контрактов.Отображаемая котировка не является окончательной, пока транзакция не исполнена и не подтверждена.Почему уровень исполнения важен для пользователей криптовалют
Уровень исполнения влияет почти на каждое ончейн-действие пользователя криптовалют.Он определяет, пройдет ли перевод, сколько газа будет использовано, какие изменения внесет смарт-контракт и какой результат транзакции войдет в состояние блокчейна.Он также влияет на скорость приложений, стоимость транзакций, пропускную способность сети и типы программ, которые могут создавать разработчики.Перегруженный уровень исполнения может привести к повышению комиссий и увеличению времени ожидания.Эффективный уровень исполнения способен поддерживать больший объем операций с меньшими затратами.Программируемый уровень исполнения делает возможными децентрализованные приложения.Безопасный уровень исполнения позволяет узлам проверять корректность обновления балансов и состояний контрактов.Понимание принципов исполнения помогает пользователям разобраться, почему транзакция не прошла, почему при обмене возникло проскальзывание, почему изменились комиссии за газ или зачем приложению нужна сеть Layer 2.Почему уровень исполнения важен для криптотрейдеров
Криптотрейдеры взаимодействуют с уровнями исполнения всякий раз, когда перемещают активы или используют ончейн-рынки.Условия исполнения могут повлиять на итоговую стоимость децентрализованной сделки.Высокие комиссии за газ могут сделать небольшие сделки невыгодными.Низкая ликвидность может привести к сильному влиянию на цену при исполнении контракта.Упорядочивание транзакций может подвергнуть обмен риску стратегий максимально извлекаемой ценности.Перегрузка сети может задержать пополнение, вывод, перевод через мост или изменение обеспечения.За неудачную транзакцию все равно может взиматься комиссия, а трейдер может упустить рыночную возможность.Перед переводом средств между сетями и взаимодействием с децентрализованными протоколами трейдерам следует учитывать расходы на исполнение.Также необходимо проверить сеть назначения, контракт токена, актив для оплаты газа, порядок работы моста и ожидаемое время подтверждения.Даже верный прогноз рынка может привести к плохому результату, если не учитывать расходы на исполнение и технические риски.Как оценить уровень исполнения
В первую очередь следует оценить безопасность.Надежный уровень исполнения должен иметь понятные правила протокола, активную разработку, независимую проверку и подтвержденную способность корректно обрабатывать переходы состояния.Второй фактор — децентрализация.Оцените, сколько независимых участников могут запускать узлы, проверять транзакции и участвовать в создании блоков.Третий фактор — производительность.К важным показателям относятся пропускная способность, время подтверждения, время достижения финальности и работа системы при высокой нагрузке.Четвертый фактор — стоимость.Проверьте типичные комиссии, их волатильность, расходы при неудачных транзакциях и нативный актив, необходимый для оплаты исполнения.Пятый фактор — программируемость.Разработчики могут учитывать поддерживаемые языки программирования, архитектуру виртуальной машины, инструменты, отладку и совместимость контрактов.Шестой фактор — совместимость.Изучите, как активы и сообщения перемещаются между уровнем исполнения и другими сетями.Седьмой фактор — риски обновлений.Средства управления, чрезвычайные полномочия, обновления ПО и разрешения на обновление контрактов могут влиять на предположения о доверии к системе.Распространенные заблуждения об уровнях исполнения
Одно из заблуждений состоит в том, что уровень исполнения и уровень консенсуса выполняют одну и ту же задачу.Уровень исполнения проверяет переходы состояния, а уровень консенсуса помогает согласовать принимаемую историю блокчейна.Другое заблуждение — считать, что EVM и есть весь уровень исполнения.EVM служит вычислительной средой, но клиенты уровня исполнения также управляют транзакциями, состоянием, квитанциями, сетевым взаимодействием и интерфейсами приложений.Третье заблуждение — полагать, что каждый уровень исполнения является блокчейном Layer 1.Системы Layer 2 также могут обеспечивать исполнение, используя другой блокчейн для расчетов или доступности данных.Четвертое заблуждение — считать, что успешное исполнение в блокчейне означает финансовую безопасность транзакции.Уровень исполнения может корректно обработать вредоносное разрешение на использование токенов, невыгодную сделку или взаимодействие с вредоносным контрактом.Пятое заблуждение — полагать, что отправленная транзакция гарантированно исполнится с отображаемым результатом.Изменения состояния, перегрузка, порядок транзакций, лимиты газа и правила проскальзывания могут изменить или предотвратить исполнение.Шестое заблуждение — считать, что сама по себе высокая скорость исполнения доказывает безопасность или децентрализацию блокчейна.Производительность — лишь один аспект архитектуры блокчейна. Ее следует оценивать с учетом требований к проверке и предположений о доверии.Пример транзакции на уровне исполнения
Предположим, пользователь хочет обменять один криптовалютный токен на другой через децентрализованный пул ликвидности.Кошелек создает транзакцию с адресом контракта, инструкциями обмена, количеством токенов, сроком действия, лимитом проскальзывания и настройками газа.Пользователь подписывает транзакцию приватным ключом.Клиент уровня исполнения получает подписанную транзакцию и проверяет ее базовую допустимость.Позднее создатель блока включает ее в блок данных исполнения.Когда наступает очередь транзакции в блоке, EVM исполняет код смарт-контракта пула ликвидности.Контракт проверяет разрешение пользователя на использование токенов, рассчитывает текущую цену в пуле, применяет торговую комиссию и проверяет требование к минимальному результату.Если все условия выполнены, контракт переводит исходный токен, отправляет полученный токен, обновляет балансы пула и создает журналы событий.Если доступное количество получаемых токенов ниже установленного пользователем минимума, исполнение отменяет обмен.Другие узлы повторно выполняют те же операции, чтобы подтвердить корректность предложенного результата.Этот пример показывает, как уровень исполнения связывает инструкции кошелька, код смарт-контракта, газ, обновление состояния и проверку блокчейна.FAQ
Что означает «уровень исполнения» в криптовалютной сфере?
Уровень исполнения — это компонент блокчейна, который обрабатывает транзакции, запускает смарт-контракты, рассчитывает комиссии и обновляет состояние аккаунтов и контрактов.Что такое уровень исполнения Ethereum?
Уровень исполнения Ethereum — это сеть клиентов уровня исполнения, отвечающих за обработку транзакций, запуск EVM, распространение информации о транзакциях и управление состоянием Ethereum.EVM — это уровень исполнения?
Нет. EVM — это виртуальная машина для исполнения кода смарт-контрактов, а уровень исполнения также включает проверку транзакций, управление состоянием, учет газа, квитанции, блоки и сервисы клиентов исполнения.Чем уровень исполнения отличается от уровня консенсуса?
Уровень исполнения проверяет и применяет транзакции, а уровень консенсуса помогает валидаторам согласовать порядок и финальность допустимых блоков.Создает ли уровень исполнения блоки?
Уровень исполнения помогает формировать и проверять блоки данных исполнения, а система консенсуса координирует предложения блоков, аттестации, выбор цепи и финальность.Оплачивается ли газ за исполнение?
Да. Комиссия за газ оплачивает вычислительные затраты и ограниченные ресурсы блока, используемые при обработке транзакции уровнем исполнения.Может ли у сети Layer 2 быть собственный уровень исполнения?
Да. Многие сети Layer 2 исполняют транзакции в собственной среде, полагаясь на блокчейн Layer 1 в вопросах расчетов, доступности данных или безопасности.Что происходит, если транзакция завершается ошибкой при исполнении?
Предусмотренные изменения состояния обычно отменяются, однако отправителю может потребоваться оплатить газ за уже выполненные вычисления.Может ли уровень исполнения остановить вредоносный смарт-контракт?
Уровень исполнения отклоняет код, нарушающий правила протокола, но может выполнить вредоносную или плохо спроектированную логику контракта, если она формально допустима.Почему для разных транзакций требуется разное количество газа?
Транзакции расходуют разное количество газа, поскольку операции смарт-контрактов требуют разного объема вычислений, обращений к хранилищу и изменений состояния.Есть ли уровень исполнения во всех блокчейнах?
В каждом блокчейне должен быть механизм проверки транзакций и обновления состояния, хотя в разных протоколах эта функция может называться по-разному и иметь разную архитектуру.Почему исполнение детерминировано?
Детерминированное исполнение обеспечивает одинаковый итоговый результат для добросовестных узлов, обрабатывающих одни и те же транзакции исходя из одного и того же начального состояния.Заключение
Уровень исполнения — это часть блокчейна, которая преобразует подписанные транзакции в проверенные изменения состояния.Он проверяет данные транзакций, выполняет код смарт-контрактов, рассчитывает газ, обновляет балансы, создает квитанции и отклоняет недействительные действия.В Ethereum уровень исполнения состоит из клиентов, которые запускают EVM и поддерживают состояние исполнения сети.Он взаимодействует с уровнем консенсуса, который координирует работу валидаторов и определяет, какие допустимые блоки войдут в принятую историю блокчейна.Уровень исполнения отличается и от уровня приложений, уровня расчетов и уровня доступности данных, хотя все эти компоненты тесно взаимодействуют.Сети Layer 2 могут обеспечивать отдельную среду исполнения, используя блокчейн Layer 1 для расчетов или доступности данных.Архитектура уровня исполнения влияет на комиссии за транзакции, масштабируемость, возможности смарт-контрактов, безопасность и пользовательский опыт ончейн-приложений.Понимание уровня исполнения помогает пользователям криптовалют разобраться в комиссиях за газ, неудачных транзакциях, работе смарт-контрактов, системах Layer 2 и изменениях состояния блокчейна.Для разработчиков и операторов узлов уровень исполнения задает правила и программное обеспечение, необходимые для единообразного расчета активности блокчейна на независимых устройствах.Безопасный и предсказуемый уровень исполнения необходим, поскольку от его корректной работы зависят переводы токенов, децентрализованные сделки, вызовы контрактов и ончейн-приложения.Вам также может быть интересно
ZK-Rollup
ZK-Rollup-as-a-Service
zk-SNARK
В тренде
Трендовые криптовалюты, которые в настоящее время привлекают значительное внимание рынка
ТОП по объему
Криптовалюты с наибольшим объемом торгов
Недавно добавленные
Криптовалюты недавно внесенные в листинг и доступные для торговли

