Купить крипто
Рынки
Спот
ФьючерсыBTC
Сбережения
Центр событий
Хаб наград
Еще
Фестиваль с 0 комиссией
Блокчейны, эквивалентные EVM: Что такое блокчейны, эквивалентные EVM?Блокчейны, эквивалентные EVM, — это сети, разработанные для максимально точного воспроизведения поведения Ethereum Virtual Machine.Они стремятся выполнять байткоБлокчейны, эквивалентные EVM: Что такое блокчейны, эквивалентные EVM?Блокчейны, эквивалентные EVM, — это сети, разработанные для максимально точного воспроизведения поведения Ethereum Virtual Machine.Они стремятся выполнять байтко

Блокчейны, эквивалентные EVM

2026/10/13 15:32
#Intermediate
Humanity
H$0.05444-10.53%
PX
PX$0.0123-5.38%
Virtuals Protocol
VIRTUAL$0.6928-4.55%
IO
IO$0.16454-6.64%
OP
OP$0.14007+1.84%

Что такое блокчейны, эквивалентные EVM?

Блокчейны, эквивалентные EVM, — это сети, разработанные для максимально точного воспроизведения поведения Ethereum Virtual Machine.

Они стремятся выполнять байткод смарт-контрактов Ethereum с теми же или почти теми же результатами, которые этот код дал бы в сети Ethereum.

Это позволяет разработчикам использовать привычные языки смарт-контрактов, среды разработки, интерфейсы кошельков, стандарты контрактов и инструменты отладки при создании приложений в других сетях.

EVM — это среда исполнения, которая обрабатывает транзакции Ethereum и выполняет инструкции смарт-контрактов.

В официальной документации Ethereum Virtual Machine EVM описывается как децентрализованная среда, обеспечивающая согласованное выполнение кода узлами Ethereum.

Блокчейн, эквивалентный EVM, стремится следовать той же модели исполнения, а не создавать совершенно иную виртуальную машину.

Однако эквивалентность EVM не обязательно означает, что две сети идентичны во всех отношениях.

Блокчейн, эквивалентный EVM, может иметь другой механизм консенсуса, время создания блока, рынок комиссий, набор валидаторов, мост, модель доступности данных, процесс управления и нативную криптовалюту.

В нем также могут быть системные контракты или специальные правила, которых нет в Ethereum.

Поэтому эквивалентность EVM в первую очередь описывает поведение среды исполнения и совместимость для разработчиков, а не полную идентичность блокчейнов.

Что означает «эквивалентный EVM»?

Обычно это означает, что сеть в значительной степени соответствует спецификациям исполнения Ethereum на уровне байткода и поведения протокола.

Смарт-контракт, скомпилированный для EVM, как правило, должен развертываться и работать без существенных изменений основной логики.

Сеть должна обрабатывать те же коды операций EVM, структуры аккаунтов, подписи транзакций, вызовы контрактов, операции с хранилищем, журналы событий и обработку откатов, которые ожидают приложения Ethereum.

Разработчики также должны иметь возможность использовать стандартные методы Ethereum JSON-RPC для чтения данных блокчейна и отправки транзакций.

В спецификации Ethereum JSON-RPC определен стандартный интерфейс взаимодействия приложений и инфраструктуры с клиентами среды исполнения.

Ethereum не выдает единую универсальную сертификацию эквивалентности EVM.

Разные проекты могут подразумевать под этим термином разные уровни строгости.

Некоторые сети почти точно воспроизводят поведение Ethereum, но при этом описывают несколько намеренных различий.

Другие могут называть себя эквивалентными EVM, несмотря на изменения в расчетах газа, значениях, связанных с блоками, типах транзакций, предварительно скомпилированных контрактах или поведении системы.

Поэтому разработчикам следует проверять фактическую реализацию, а не полагаться только на это обозначение.

Блокчейны, эквивалентные EVM, и EVM-совместимые блокчейны

Термины «эквивалентный EVM» и «EVM-совместимый» связаны, но часто обозначают разные уровни сходства.

EVM-совместимая сеть может запускать приложения, написанные для EVM, хотя некоторые аспекты поведения она может переводить, изменять или трактовать иначе.

Сеть, эквивалентная EVM, стремится точнее соответствовать семантике исполнения Ethereum.

Совместимость обычно показывает, может ли приложение работать.

Эквивалентность в большей степени показывает, дает ли приложение тот же результат при одинаковых соответствующих условиях исполнения.

EVM-совместимая сеть может поддерживать контракты на Solidity, но использовать другую внутреннюю виртуальную машину.

Она также может поддерживать только часть набора кодов операций Ethereum либо вводить другие расходы на газ и правила транзакций.

Сеть, эквивалентная EVM, обычно стремится по возможности повторно использовать клиентский код исполнения Ethereum, спецификации или тестовые сценарии.

В официальной документации о различиях между Ethereum и эквивалентными EVM сетями-роллапами показано, что сеть может стремиться к эквивалентности и при этом иметь документированный перечень отличий протокола.

Это различие важно: приложению, которое лишь совместимо с EVM, могут потребоваться дополнительные проверки, изменения контрактов, специальные инструменты или аудит безопасности.

Как работают блокчейны, эквивалентные EVM

Блокчейн, эквивалентный EVM, включает среду исполнения, которая считывает и обрабатывает байткод EVM.

Обычно разработчики пишут смарт-контракты на языках высокого уровня, например Solidity или Vyper.

Компилятор преобразует исходный код в байткод EVM, состоящий из низкоуровневых инструкций — кодов операций.

При вызове контракта транзакцией эти коды обрабатывает клиент среды исполнения сети.

Каждая инструкция может считывать значения, выполнять вычисления, обращаться к памяти, обновлять хранилище, вызывать другой контракт, создавать журналы или возвращать данные.

В официальном справочнике кодов операций Ethereum перечислены инструкции EVM и описаны их основные функции.

Сеть, эквивалентная EVM, стремится реализовать эти инструкции с той же семантикой.

Все проверяющие узлы должны рассчитывать одинаковый переход состояния на основе одинакового исходного состояния и последовательности транзакций.

Благодаря детерминированному поведению независимые узлы могут проверять балансы аккаунтов, данные контрактов, переводы токенов и результаты работы приложений.

В сети может использоваться другой процесс выбора и упорядочивания блоков, однако результат исполнения все равно должен соответствовать заявленным правилам EVM.

Семантика исполнения

Семантика исполнения точно определяет, что происходит при запуске байткода EVM.

Она охватывает арифметические операции, работу стека, использование памяти, доступ к хранилищу, вызовы сообщений, создание контрактов, обработку ошибок, расход газа и возвращаемые данные.

Небольшие различия в семантике могут привести к серьезным проблемам в приложениях.

Например, иное толкование операции с хранилищем может привести к неправильному расчету балансов в контракте.

Различия в обработке вызовов могут повлиять на то, распознает ли приложение успешный перевод токена.

Различия в откате транзакций могут оставить контракт в состоянии, которого разработчики не ожидали.

Спецификации уровня исполнения Ethereum содержат исполняемую эталонную реализацию правил исполнения Ethereum.

Сеть, стремящаяся к высокой степени эквивалентности EVM, может сравнивать свою реализацию с этими спецификациями и тестами исполнения Ethereum.

Совпадения только языка программирования недостаточно: результат контракта определяется поведением итогового байткода.

Совместимость байткода EVM

Байткод EVM — это машиночитаемая форма смарт-контракта Ethereum.

Сеть с высокой степенью эквивалентности EVM должна уметь обрабатывать существующий байткод Ethereum без перекомпиляции исходного кода для другой виртуальной машины.

Это может ускорить перенос контрактов, поскольку разработчики могут развернуть в другой сети тот же скомпилированный файл.

Переносимость байткода особенно полезна, если проверка исходного кода, отчеты об аудите и сценарии развертывания уже зависят от определенного результата компиляции.

Однако совместимость байткода не гарантирует, что окружающее приложение заработает без изменений.

Контракт может зависеть от специфических для Ethereum адресов, ценовых оракулов, контрактов мостов, адресов токенов, значений блоков или внешних сервисов.

Контракт может успешно развернуться, но не работать при использовании из-за отсутствия необходимой зависимости.

Поэтому разработчикам следует отдельно тестировать логику контракта и внешние интеграции.

Эквивалентность кодов операций

Коды операций — это отдельные инструкции, выполняемые EVM.

К ним относятся инструкции сложения, обращения к хранилищу, вызова контрактов, проверки адресов, получения информации о блоке и криптографического хеширования.

Для эквивалентности недостаточно распознавать одинаковый номер кода операции.

Инструкция должна принимать одинаковые входные данные, возвращать одинаковые результаты, приводить к одинаковым изменениям состояния и завершаться ошибкой в тех же условиях.

Если заявляется строгая эквивалентность, расходы газа также могут требовать соответствия.

Ethereum вводит новые коды операций и меняет их поведение в ходе обновлений сети.

Сеть, эквивалентная EVM, которая еще не приняла такое же обновление, может отклонить новый байткод или рассчитать другой результат.

Перед развертыванием контрактов, скомпилированных для новых инструкций, разработчикам следует выяснить, какую версию форка Ethereum поддерживает целевая сеть.

Компилятор может создать байткод с кодом операции, не поддерживаемым старой средой исполнения.

Такой контракт может некорректно развернуться, откатиться при исполнении или повести себя не так, как версия в Ethereum.

Эквивалентность газа

Газ измеряет вычислительные ресурсы, потребляемые при исполнении EVM.

Каждый код операции имеет стоимость в газе, а сложные взаимодействия со смарт-контрактами обычно требуют больше газа, чем простые переводы.

В официальной документации Ethereum по газу объясняется, что комиссии за транзакцию зависят от использованного газа и цены за его единицу.

Сеть, эквивалентная EVM, может использовать те же правила учета газа для операций EVM, но взимать другую сумму в своей нативной криптовалюте.

Она также может устанавливать дополнительные сборы за публикацию данных, генерацию доказательств, хранение или расчеты.

В результате контракт может потреблять одинаковое количество единиц газа EVM в двух сетях, но итоговая комиссия за транзакцию будет сильно различаться.

Некоторые сети также меняют лимиты газа или стоимость отдельных кодов операций с учетом собственных ограничений ресурсов.

Такие изменения могут влиять на контракты, принимающие решения с учетом доступного газа или работающие близко к пределам исполнения.

Разработчикам следует различать газ исполнения EVM и общую комиссию, которую платит пользователь.

Эквивалентность транзакций

Транзакции Ethereum содержат такие данные, как отправитель, получатель, сумма, nonce, лимит газа, параметры комиссии, данные ввода и подпись.

В официальной документации Ethereum по транзакциям описаны форматы транзакций, распознаваемые сетью Ethereum в настоящее время.

Сеть, эквивалентная EVM, обычно поддерживает привычные форматы подписи транзакций Ethereum и адресов.

Это позволяет существующим кошелькам и программным библиотекам создавать корректные транзакции после выбора пользователем нужной сети.

Однако поддержка типов транзакций в разных сетях может различаться.

Сеть может поддерживать стандартные транзакции с рынком комиссий, но не поддерживать все новые форматы транзакций Ethereum.

Обновления Ethereum могут вводить новые функции транзакций до того, как их примет другая сеть.

Разработчикам следует проверять поддержку списков доступа, транзакций с данными blob, списков авторизации и других типов транзакций, используемых приложением.

Кошельку не следует считать, что каждая сеть с обозначением «эквивалентна EVM» поддерживает все типы транзакций последнего форка Ethereum.

Эквивалентность аккаунтов и состояния

В Ethereum используются внешние аккаунты и аккаунты-контракты.

Внешние аккаунты контролируются с помощью приватных ключей, а аккаунты-контракты выполняют сохраненный код при вызове.

В официальной документации Ethereum по аккаунтам описаны такие поля аккаунта, как nonce, баланс, хеш кода и корень хранилища.

Сеть, эквивалентная EVM, обычно использует тот же 20-байтовый формат адреса и похожие принципы состояния аккаунтов.

Поэтому один и тот же приватный ключ может создавать одинаковый адрес аккаунта в нескольких сетях EVM.

Однако балансы и история транзакций этого адреса в каждой сети разные.

Наличие токенов на адресе в одной сети не означает, что тот же адрес владеет эквивалентными токенами в другой сети.

Перед проверкой баланса или подписанием транзакции пользователям необходимо выбрать правильную сеть.

Идентификаторы сетей и защита от повторного воспроизведения

У каждой сети EVM должен быть уникальный идентификатор chain ID, определяющий область действия ее транзакций.

Идентификатор сети помогает предотвратить повторное воспроизведение в другой сети подписанной транзакции, предназначенной для одной сети.

В спецификации EIP-1344 определен код операции CHAINID, с помощью которого смарт-контракт может получить текущий идентификатор сети.

Кошельки также используют идентификаторы сетей при выборе RPC-адресов и запросе подписей транзакций.

Сеть может быть эквивалентна EVM, но иметь идентификатор chain ID, полностью отличающийся от идентификатора Ethereum.

Это необходимо, поскольку сети поддерживают отдельное состояние и собственную историю транзакций.

Перед подтверждением транзакции пользователям следует проверить chain ID, отображаемый в кошельке.

Разработчикам следует добавлять защиту с учетом сети в подписанные сообщения, разрешения, инструкции мостов и системы авторизации.

Эквивалентность JSON-RPC

JSON-RPC — это стандартный интерфейс, через который кошельки, приложения, скрипты и инфраструктура взаимодействуют с узлами Ethereum.

С помощью распространенных методов ПО может считывать балансы, вызывать контракты, оценивать газ, получать журналы, отправлять подписанные транзакции и проверять блоки.

Сеть, эквивалентная EVM, обычно предоставляет те же основные названия методов RPC и форматы данных.

Благодаря этому разработчики могут изменить сетевой адрес и chain ID, не переписывая приложение целиком.

Однако соответствие JSON-RPC может быть неполным.

Сеть может возвращать другие значения для оценки газа, полей блоков, квитанций транзакций или методов трассировки.

Некоторые методы отладки и трассировки зависят от конкретного клиента и не входят в стандартный публичный интерфейс.

В репозитории Ethereum Execution API JSON-RPC описывается как стандартный интерфейс взаимодействия пользователей с клиентами среды исполнения Ethereum.

Приложениям следует проверять каждый используемый метод RPC, а не считать, что успешный запрос баланса доказывает полную совместимость.

Инструменты разработки

Одно из основных преимуществ сетей, эквивалентных EVM, — доступ к инструментам разработки Ethereum.

Разработчики часто могут пользоваться знакомыми компиляторами, библиотеками контрактов, средами тестирования, скриптами развертывания, отладчиками и подключаемыми кошельками.

Для существующего кода приложения может потребоваться лишь изменить RPC-адрес, chain ID, настройки блокчейн-обозревателя и файл с адресами развернутых контрактов.

Системы проверки исходного кода также могут использовать привычные параметры компилятора и метаданные контрактов.

Это упрощает работу команд, уже знакомых с разработкой в Ethereum.

Совместимость инструментов также может облегчить тестирование безопасности: аудиторы смогут использовать проверенные методы анализа EVM.

Однако успешное подключение инструмента не означает, что он правильно учитывает газ, время создания блоков, финальность или системные контракты.

Разработчикам следует настраивать параметры для конкретной сети, а не считать каждую сеть EVM копией Ethereum.

Переносимость смарт-контрактов

Переносимость смарт-контрактов — это возможность развертывать похожий код контрактов в нескольких сетях EVM.

Часто можно повторно использовать стандартные контракты токенов, кошельки с мультиподписью, контракты децентрализованных финансов, системы NFT и контракты управления.

В официальной документации Ethereum по смарт-контрактам объясняется, как код и состояние контракта хранятся по адресам блокчейна и выполняются с помощью транзакций.

Переносимость сокращает время разработки, поскольку командам не нужно заново создавать бизнес-логику для другой виртуальной машины.

Она также может повысить согласованность между развертываниями.

Тем не менее повторно используемый код все равно необходимо дополнительно проверить на безопасность с учетом особенностей целевой сети.

Различия в создании блоков, ценовых оракулах, мостах, нативных активах и административных контрактах могут изменить модель риска приложения.

Контракт, безопасный в Ethereum, может стать уязвимым, если его предположения не выполняются в другой сети.

Стандарты токенов в сетях, эквивалентных EVM

Сети, эквивалентные EVM, обычно поддерживают интерфейсы токенов Ethereum, например ERC-20, ERC-721 и ERC-1155.

Эти интерфейсы определяют стандартные функции и события, используемые кошельками, приложениями, обозревателями и торговыми системами.

В официальной документации Ethereum по стандартам токенов объясняется, как общие интерфейсы повышают совместимость приложений токенов.

Обычно разработчик может развернуть стандартный контракт токена в сети, эквивалентной EVM, не меняя его базовый интерфейс.

Однако токен, развернутый в другой сети, является отдельным активом, если только авторизованный мост или эмитент не устанавливает определенную связь между двумя версиями.

Одинаковые названия, тикеры, количество знаков после запятой или код контракта не делают два токена экономически идентичными.

Перед переводом или торговлей токеном пользователям следует проверить сеть и адрес контракта.

Адреса контрактов в разных сетях

Один и тот же приватный ключ создает одинаковый адрес внешнего аккаунта в сетях EVM.

При тщательно контролируемых условиях иногда можно также воспроизвести адреса контрактов.

Адрес, созданный стандартным способом, зависит от таких данных, как адрес развертывающего аккаунта и nonce.

Детерминированное развертывание с использованием CREATE2 зависит от адреса развертывающего аккаунта, соли и кода инициализации согласно правилам, описанным в EIP-1014.

Даже если в двух сетях контракт имеет одинаковый адрес, его код, хранилище, права доступа или балансы токенов могут различаться.

Не следует доверять контракту только потому, что его адрес выглядит знакомо.

Код контракта и данные о его развертывании необходимо проверять отдельно для каждой сети.

Предварительно скомпилированные контракты

Предварительно скомпилированные контракты предоставляют функции уровня протокола по специальным адресам.

Они эффективнее обычного байткода EVM выполняют такие операции, как криптографические вычисления.

В официальной документации Solidity о предварительно скомпилированных контрактах объясняется, что их поведение реализовано непосредственно в среде исполнения.

Сеть, эквивалентная EVM, должна поддерживать предварительно скомпилированные контракты Ethereum, необходимые для предполагаемых к запуску смарт-контрактов.

Некоторые сети добавляют дополнительные предварительно скомпилированные контракты для функций конкретной сети.

Они могут повысить производительность или предоставить доступ к нативным функциям сети.

Однако такие контракты создают поведение, которого нет в Ethereum.

Контракты, зависящие от дополнительных функций, могут оказаться непереносимыми обратно в Ethereum или в другую сеть, эквивалентную EVM.

Различия в контексте блока

Смарт-контракты EVM могут считывать информацию о блоке, в котором выполняются.

К соответствующим значениям могут относиться номер блока, отметка времени, базовая комиссия, лимит газа, хеш блока, chain ID и информация о создателе блока.

В сети, эквивалентной EVM, эти значения могут формироваться иной системой создания блоков.

Сеть Layer 2 также может предоставлять данные, связанные с секвенсором или отношениями сети с Layer 1.

Время создания блоков может быть меньше или менее регулярным, чем в Ethereum.

Механизм финальности также может отличаться.

Контрактам не следует считать, что одинаковое количество блоков всегда соответствует одинаковому промежутку времени или уровню безопасности во всех сетях EVM.

Приложения, использующие значения блоков для генерации случайных чисел, аукционов, расчета процентов или сроков, требуют дополнительной проверки.

Блокчейны Layer 1, эквивалентные EVM

Блокчейн Layer 1, эквивалентный EVM, работает на собственной базовой блокчейн-сети, использует собственный механизм консенсуса и набор валидаторов, а также поддерживает собственное состояние.

Для подтверждения каждой транзакции он не зависит от Ethereum.

При этом сеть может использовать EVM в качестве среды исполнения смарт-контрактов.

Это позволяет запускать приложения в стиле Ethereum, используя при этом собственный бюджет безопасности и систему управления сети.

Пользователям следует оценивать распределение валидаторов, устройство консенсуса, экономическую безопасность, процесс обновления и историю работы сети.

Эквивалентность EVM не переносит в другую сеть Layer 1 набор валидаторов или экономическую безопасность Ethereum.

Поэтому один и тот же код контракта может работать в совершенно иной модели доверия.

Сети Layer 2, эквивалентные EVM

Сеть Layer 2, эквивалентная EVM, обрабатывает транзакции вне основной среды исполнения Ethereum и при этом использует Ethereum для части расчетов, доступности данных или модели безопасности.

В официальной документации Ethereum о Layer 2 объясняется, как роллапы увеличивают пропускную способность транзакций, используя Ethereum в качестве уровня расчетов.

Среда исполнения Layer 2 может соответствовать поведению EVM, чтобы упростить развертывание приложений Ethereum.

Транзакции могут упорядочиваться секвенсором и позднее отправляться в Ethereum пакетами.

Система может использовать доказательства мошенничества, доказательства с нулевым разглашением или другой механизм проверки.

Пользователям следует понимать, что быстрое подтверждение в Layer 2 не всегда равнозначно окончательному расчету в Ethereum.

Даже при эквивалентности среды исполнения EVM важны сроки вывода, системы доказательств, контракты мостов, публикация данных и контроль над обновлениями.

Эквивалентность EVM в роллапах

Эквивалентность EVM полезна роллапам, поскольку разработчики могут повторно использовать контракты и инфраструктуру Ethereum.

Роллап может использовать модифицированный клиент среды исполнения Ethereum, изменяя при этом способ создания блоков и их отправки на уровень расчетов.

В официальной документации о различиях среды исполнения, эквивалентной EVM отмечается, что даже системы, стремящиеся свести изменения к минимуму, могут иметь особенности, которые разработчикам необходимо понимать.

Различия могут касаться комиссий, полей блока, источников транзакций, депозитных транзакций, системных контрактов или контекста, связанного с кодами операций.

Поэтому роллап может в высокой степени соответствовать EVM, но при этом отличаться от Ethereum с операционной точки зрения.

Перед развертыванием приложений, зависящих от низкоуровневого поведения, разработчикам следует ознакомиться с документированными отступлениями от правил.

Мосты и сети, эквивалентные EVM

Мост позволяет передавать активы или сообщения между отдельными блокчейн-системами.

Эквивалентность EVM сама по себе не связывает состояния двух сетей.

Токен Ethereum не появляется в другой сети, эквивалентной EVM, если мост, эмитент или протокол не создал там его представление.

В одной модели моста актив блокируется в одной сети, а в другой выпускается его соответствующее представление.

Другая модель предполагает сжигание актива в одной сети и его выпуск в другой.

Мост создает дополнительные риски смарт-контрактов, хранения, валидаторов, доказательств и операционной деятельности.

Перед переводом средств пользователям следует проверить официальный мост, контракт токена, сеть назначения и процедуру вывода.

Знакомый адрес кошелька не устраняет риски, связанные с мостом.

Нативные активы и токены для оплаты газа

В Ethereum для оплаты транзакционных комиссий используется нативный актив ETH.

В сети, эквивалентной EVM, для оплаты газа может использоваться другой нативный актив.

Формат адреса кошелька может выглядеть одинаково, хотя для оплаты комиссии нужен другой актив.

Даже получив токены в сети, пользователь может не иметь возможности переместить их без достаточного количества нативной валюты для газа.

В некоторых системах Layer 2 для оплаты комиссий используется ETH или связанный с ETH баланс, а в других сетях EVM — собственный нативный актив.

Перед взаимодействием с контрактами пользователям следует получить нужный актив для оплаты газа надежным и поддерживаемым способом.

Отправка неподходящего актива или выбор неправильной сети может временно сделать средства недоступными или привести к их безвозвратной потере.

Преимущества сетей, эквивалентных EVM

Эквивалентность EVM может сократить время, необходимое для запуска криптовалютного приложения в новой сети.

Разработчики могут повторно использовать смарт-контракты, библиотеки, системы развертывания, тестовые наборы, интеграции кошельков и накопленные знания.

Пользователи могут взаимодействовать с сетью через привычные шестнадцатеричные адреса и интерфейсы подписи транзакций.

Аудиторы могут применять проверенные инструменты безопасности EVM и методы анализа.

Поставщики инфраструктуры могут поддерживать новые сети с помощью уже используемых архитектур RPC и индексации данных.

Токен-проекты могут применять стандартные интерфейсы, поддерживаемые кошельками и приложениями.

Эти преимущества могут расширить доступность приложений и упростить переход пользователей между экосистемами EVM.

Они также могут уменьшить фрагментацию на уровне программирования и инструментов.

Ограничения эквивалентности EVM

Эквивалентность EVM не гарантирует одинаковых комиссий.

Она не гарантирует одинаковой скорости транзакций или финальности.

Она не гарантирует, что одни и те же контракты развернуты по одинаковым адресам.

Она не гарантирует безопасность мостов.

Она не гарантирует децентрализацию системы валидаторов или секвенсора.

Она не гарантирует, что сеть сразу примет обновления Ethereum.

Она не гарантирует безупречную работу всех кошельков Ethereum, методов RPC, индексаторов и инструментов отладки.

Она также не обеспечивает другой сети такую же экономическую безопасность, как у Ethereum.

Поэтому эквивалентность EVM следует рассматривать как характеристику среды исполнения, а не как полную оценку качества или безопасности сети.

Риски безопасности сетей, эквивалентных EVM

Сети, эквивалентные EVM, подвержены многим известным рискам смарт-контрактов EVM.

К ним относятся повторный вход, ошибки контроля доступа, манипулирование оракулами, небезопасные обновления, ошибки подписей и неверные предположения о токенах.

Также могут возникать специфические для сети риски.

В сети Layer 1 может быть концентрированный набор валидаторов или влиятельные ключи управления.

Сеть Layer 2 может зависеть от централизованного секвенсора, обновляемых контрактов мостов, инфраструктуры доказательств или совета безопасности, обладающего правом принимать экстренные меры.

Отличия в комиссиях и правилах создания блоков могут влиять на приложения, разработанные с учетом особенностей Ethereum.

Специфичные для сети предварительно скомпилированные контракты и системные контракты создают дополнительные пути выполнения кода, которые могут потребовать аудита.

Помимо аудита переносимых контрактов EVM разработчикам следует изучать архитектуру целевой сети.

Риски обновления и версии

Среда исполнения Ethereum меняется в результате обновлений протокола.

Новые обновления могут вводить форматы транзакций, коды операций, предварительно скомпилированные контракты, изменения газа или новые возможности аккаунтов.

Сеть, эквивалентная EVM, может принять эти изменения сразу, позднее, частично или не принять вовсе.

Это может привести к расхождению версий сети и спецификации исполнения Ethereum.

Контракт, скомпилированный для более новой версии EVM, может содержать инструкции, которые старая сеть не поддерживает.

Разработчикам следует настраивать целевую версию EVM в компиляторе с учетом сети назначения.

Перед обновлением библиотек или настроек компилятора также следует следить за объявлениями сети.

Обозначение «эквивалентна EVM» всегда следует интерпретировать с учетом конкретного форка Ethereum или версии спецификации исполнения.

Как разработчикам тестировать эквивалентность EVM

Сначала разработчикам следует выяснить, какие версии форков Ethereum поддерживает целевая сеть.

Затем нужно подтвердить поддержку всех кодов операций, предварительно скомпилированных контрактов, типов транзакций и методов RPC, используемых приложением.

Одни и те же модульные и интеграционные тесты следует запускать в Ethereum и целевой сети.

Разработчикам следует сравнивать возвращаемые значения, созданные события, изменения состояния, откаты, расход газа и квитанции транзакций.

Контракты, использующие информацию о блоках, необходимо проверять с учетом времени и особенностей создания блоков целевой сети.

Также следует тестировать подключение кошельков, переключение сетей, оценку газа, индексацию журналов и замену транзакций.

Зависимости от мостов и оракулов требуют отдельного тестирования, поскольку эквивалентность EVM не воспроизводит внешнюю инфраструктуру.

Тестирование должно включать неудачные транзакции и необычные крайние случаи, а не только успешные простые переводы.

Как пользователям определить сеть, эквивалентную EVM

Сеть, эквивалентная EVM, обычно предоставляет RPC-адрес в стиле Ethereum и уникальный идентификатор chain ID.

Адреса кошельков обычно имеют тот же шестнадцатеричный формат, что и в Ethereum.

Сеть обычно поддерживает контракты Solidity и привычные интерфейсы токенов Ethereum.

В документации могут быть указаны поддерживаемый форк Ethereum, клиент среды исполнения, набор кодов операций и известные различия.

Пользователям следует опираться на официальную техническую документацию, а не только на маркетинговые заявления.

Поддержка кошелька в стиле Ethereum сама по себе не означает полной эквивалентности EVM.

Возможность подключить кошелек подтверждает лишь то, что сеть поддерживает достаточное количество связанных интерфейсов для такого подключения.

Почему эквивалентность EVM важна для криптотрейдеров

Эквивалентность EVM влияет на то, как трейдеры перемещают токены, подключают кошельки, используют децентрализованные приложения и проверяют адреса контрактов.

Трейдер может взаимодействовать с похожими интерфейсами токенов в нескольких сетях EVM.

Однако ликвидность, маршруты мостов, активы для газа, эмитенты токенов и развертывание контрактов зависят от конкретной сети.

В разных сетях токен с одинаковым тикером может иметь разные адреса контрактов и экономическую стоимость.

Перед подтверждением свопа или перевода трейдерам следует проверить сеть и адрес контракта.

Также необходимо держать достаточное количество нативной валюты для газа, чтобы закрыть позиции или переместить активы в условиях волатильности.

Эквивалентность EVM повышает привычность взаимодействия, но не устраняет риски смарт-контрактов, мостов, ликвидности и сети.

Пример развертывания в сети, эквивалентной EVM

Предположим, команда разработчиков располагает проверенным аудитом контрактом токена, который уже работает в Ethereum.

Команда хочет развернуть то же приложение в сети Layer 2, эквивалентной EVM.

Разработчики используют тот же исходный код Solidity и настройки компилятора.

В сценарии развертывания они меняют RPC-адрес и chain ID на соответствующие новой сети.

Контракт успешно развертывается, поскольку сеть распознает тот же байткод EVM.

Затем команда обновляет приложение, указывая новый адрес контракта и настройки нативного актива для оплаты газа.

Во время тестирования разработчики обнаруживают, что итоговая комиссия за транзакцию включает дополнительную составляющую, связанную с данными, которой не было в первоначальной оценке комиссии.

Также выясняется, что адреса моста и ценового оракула необходимо настраивать отдельно.

Логику контракта можно перенести, но инфраструктура и предположения о рисках не полностью совпадают.

Этот пример показывает, что эквивалентность EVM упрощает развертывание, но не делает все параметры сетей взаимозаменяемыми.

Распространенные заблуждения о сетях, эквивалентных EVM

Одно из распространенных заблуждений состоит в том, что сети, эквивалентные EVM, являются частью одной и той же блокчейн-сети.

Обычно у них отдельные состояния, балансы, блоки, валидаторы и история транзакций.

Еще одно заблуждение — что на одном и том же адресе в каждой сети EVM должны находиться одинаковые активы.

На каждом блокчейне у адреса могут быть совершенно разные балансы и код контрактов.

Третье заблуждение — что любая сеть, эквивалентная EVM, обладает безопасностью Ethereum.

Безопасность зависит от собственных систем консенсуса, расчетов, данных, мостов, управления и обновления сети.

Четвертое заблуждение — что эквивалентное исполнение контрактов гарантирует одинаковые комиссии за транзакции.

Цены на газ, валюты для оплаты комиссий, расходы на данные и ограничения ресурсов могут различаться.

Пятое заблуждение — что любое приложение Ethereum можно перенести в другую сеть без тестирования.

Внешние адреса, ответы RPC, типы транзакций и контекст блоков могут потребовать изменений.

FAQ

Что означает «блокчейн, эквивалентный EVM»?

Это блокчейн, разработанный для исполнения байткода Ethereum Virtual Machine с поведением, максимально близким к правилам исполнения Ethereum.

Эквивалентность EVM — это то же самое, что совместимость с EVM?

Нет. Совместимость с EVM обычно означает возможность запускать приложения Ethereum, а эквивалентность EVM предполагает более точное соответствие поведения байткода и семантики исполнения.

Используют ли сети, эквивалентные EVM, блокчейн Ethereum?

Не обязательно: сеть Layer 1, эквивалентная EVM, может работать независимо, тогда как сеть Layer 2, эквивалентная EVM, может использовать Ethereum для расчетов или доступности данных.

Используют ли сети, эквивалентные EVM, одинаковые адреса кошельков?

Один и тот же приватный ключ обычно создает адрес того же формата, но балансы и транзакции в каждой сети остаются отдельными.

Может ли один и тот же смарт-контракт работать в любой сети, эквивалентной EVM?

Многие контракты могут работать практически без изменений, однако зависимости, поддерживаемые версии форков, правила газа, системные контракты и внешнюю инфраструктуру все равно нужно проверять.

Одинаковы ли комиссии за газ в сетях, эквивалентных EVM?

Нет. При похожем учете газа могут различаться его цена, нативный актив для оплаты комиссий, плата за данные и общая стоимость транзакции.

Автоматически ли токены доступны в разных сетях, эквивалентных EVM?

Нет. Токены в разных сетях являются отдельными активами, если только признанный мост или эмитент не установил определенную связь между ними.

Так же ли безопасны сети, эквивалентные EVM, как Ethereum?

Не обязательно: в каждой сети могут быть свои валидаторы, секвенсоры, мосты, механизмы управления, правила финальности и уровень экономической безопасности.

Можно ли использовать Solidity в сетях, эквивалентных EVM?

Да. Solidity обычно поддерживается, поскольку этот язык компилируется в байткод EVM.

Можно ли использовать инструменты разработки Ethereum в сетях, эквивалентных EVM?

Многие инструменты Ethereum можно использовать после настройки правильного RPC-адреса, chain ID, параметров комиссий и сведений о развертывании, специфичных для сети.

Почему у сетей, эквивалентных EVM, все же есть документированные различия?

Им могут требоваться другие способы создания блоков, взимания комиссий, проведения расчетов, работы мостов и системных контрактов при максимально возможном соответствии основной логике исполнения EVM в Ethereum.

Как проверить, действительно ли сеть эквивалентна EVM?

Изучите официальные спецификации исполнения, поддерживаемый форк Ethereum, поведение кодов операций, типы транзакций, методы RPC, предварительно скомпилированные контракты, результаты тестов и документированные отличия.

Заключение

Сети, эквивалентные EVM, — это блокчейны, разработанные для максимально точного воспроизведения среды исполнения Ethereum Virtual Machine.

Они позволяют разработчикам повторно использовать контракты Solidity, байткод EVM, стандарты токенов, интеграции кошельков, интерфейсы RPC и привычные инструменты разработки.

Для высокой степени эквивалентности требуется близкое соответствие поведения кодов операций, переходов состояния, вызовов контрактов, операций с хранилищем, обработки ошибок, транзакций и других аспектов семантики исполнения.

Однако эквивалентность EVM не означает полной идентичности двух сетей.

Могут различаться консенсус, валидаторы, секвенсоры, мосты, комиссии, время создания блоков, финальность, управление, доступность данных и нативные активы.

Она также не переносит автоматически в другую сеть токены, балансы, состояние контрактов или экономическую безопасность Ethereum.

Разработчикам следует выяснять, какой форк Ethereum поддерживается, и тестировать контракты, методы RPC, работу газа, предварительно скомпилированные контракты, значения блоков, мосты и внешние зависимости.

Перед подтверждением транзакции пользователям следует проверять сеть, chain ID, актив для оплаты газа, контракт токена и мост.

Главное преимущество эквивалентности EVM — переносимость, а не полное совпадение.

Понимание этого различия помогает пользователям и разработчикам применять знакомые технологии Ethereum, не упуская из виду уникальные правила и риски каждой сети.
Откат или возможность?
Откат или возможность?Откат или возможность?
Почему BTC ETF привлекли 2,4 млрд $ при ликвидациях

В тренде

Трендовые криптовалюты, которые в настоящее время привлекают значительное внимание рынка

Недавно добавленные

Криптовалюты недавно внесенные в листинг и доступные для торговли