Вам нужен кошелек Ethereum, чтобы использовать Bithoven

Подключитесь к одному из наших доступных поставщиков кошельков или создайте новый

У вас еще нет криптокошелька?

Как подключить
Стейблкоины Zcash (ZEC) Ankr (ANKR) Icon (ICX) PoW и PoS Polygon (MATIC) Метавселенная Введение в ИИ Chainlink (LINK) Algorand (ALGO) Ethereum (ETH) BTH-keys Blockchain Введение в блокчейн Веб3 DASH (Dash) DeFi Tron (TRX) Monero (XMR) CBDC CEX и DEX Solana (SOL) MetaMask Everscale (EVER) Bitcoin Uniswap (UNI) EVM не EVM сети Руководство Bithoven Stellar (XLM) L2E Polkadot (DOT) NEAR Protocol (NEAR) Cardano (ADA) Compound (COMP) Ripple (XRP) Шардинг The Graph (GRT) ИИ Cosmos (ATOM) Avalanche (AVAX) Litecoin (LTC) Tezos (XTZ) Qtum (QTUM)
Логотип компании Bithoven
Логотип компании Bithoven
Ссылка успешно скопирована!

EVM не EVM сети

EVM — машина со множеством имен

Мировой компьютер. Неудержимая машина. Сердце Эфириума. Виртуальная машина Ethereum (EVM) имеет много названий, что подчеркивает ее важность для сети Ethereum. Это основная функция, которая делает ее не просто «распределенной бухгалтерской книгой», такой как Биткойн, а «распределенной конечной сетью».

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

Виртуальные машины — платформа EVM

Если вы когда-либо загружали фильм, песню или программу (конечно, легально) с BitTorrent, то вы понимаете преимущества децентрализованной сети. Даже если вы являетесь самой могущественной властью в мире, вывести из строя децентрализованную сеть сложно, поскольку для этого потребуется отключить каждого члена сети.

Хороший способ масштабировать децентрализованную сеть — использовать виртуальные машины (ВМ). Это связано с тем, что виртуальные машины можно запускать на разных операционных системах и оборудовании и из любого географического местоположения.

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

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

Смарт-контракты - приложение EVM

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

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

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

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

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

Коды операций — язык EVM

EVM широко называют полнотой по Тьюрингу. Это означает, что EVM теоретически может решить любую вычислительную задачу. Это делается путем выполнения инструкций машинного уровня, называемых кодами операций EVM. Коды операций EVM помогают EVM выполнять определенные задачи смарт-контракта или транзакции. В настоящее время существует около 150 опкодов, которые может выполнять EVM. Они охватывают ряд операций, включая: арифметику, остановку, регистрацию, дублирование, отправку, память, сравнение и обмен. А также для получения информации о блоках и окружении. Вы можете найти список опкодов здесь.

Для эффективности EVM преобразует свой байт-код в код операции, где каждому коду операции назначается один байт в байт-коде. Каждая операция кода операции требует определенного количества газа для выполнения EVM. Вы наверняка слышали о газе, но что это такое?‍

Газ - топливо EVM

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

Но почему мы должны платить за газ и почему цена такая высокая? Цель газа - выступать в качестве платы за вычисления операций смарт-контракта, выполняемых каждым узлом Ethereum. За вычисления должна взиматься плата, чтобы злоумышленник не мог остановить сеть, развернув большое количество сложных контрактов, требующих длительного времени вычислений. Этот тип DDoDS-атаки не рекомендуется, потому что его выполнение будет очень дорогим.
Каждому коду операции назначается стоимость газа, при этом более сложные коды операций имеют более высокую стоимость. Например, простое добавление стоит 3 газа, а каждая транзакция начинается со стоимости 21 000 газа. Большинство жалоб касается не самого газа, а лимита газа для успешной транзакции.

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

Плата за газ = общая стоимость газа x цена газа.

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

Когда сетевая активность высока, валидаторы могут просто выбирать из пула ожидающих транзакций с более высокими лимитами газа. Таким образом, плата за газ зависит от спроса и предложения. Хорошо, что весь неизрасходованный газ возвращается отправителю. Если лимит предоплаченного газа исчерпан, валидатор по-прежнему получает компенсацию за свою работу, но транзакция не завершается. Таким образом, EVM является квази-Turing Complete, поскольку вычисления, которые он может выполнить, ограничены суммой, которую отправитель готов заплатить за завершение.‍

Варианты использования EVM

Теперь, когда мы рассмотрели каждый из элементов EVM, давайте посмотрим, как эти части объединяются, чтобы помочь реализовать проекты в Ethereum:

Токены ERC-20

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

Эта структура данных управляет наименованием, распределением, количеством поставки и мониторингом токена. Несколько приложений и проектов используют токены ERC-20 для поощрения пользователей. Livepeer, децентрализованная сеть потокового видео, использует токен Livepeer (LPT) для поощрения тех, кто поставляет ресурсы в сеть. Nexus Mutual, децентрализованное страхование смарт-контрактов, использует токен NXM, чтобы позволить пользователям приобретать покрытие и предъявлять претензии.

Децентрализованные биржи

Децентрализованная биржа развертывает смарт-контракты, позволяющие пользователям обмениваться токенами ERC-20. Эти смарт-контракты называются автоматическими маркет-мейкерами (AMM), потому что они позволяют пользователям вносить свой вклад в пулы ликвидности определенных токенов без контроля какой-либо третьей стороны. Некоторые популярные биржи, такие как Uniswap и SushiSwap , являются приложениями этой модели AMM.

Токены ERC-721

Другим широко популярным стандартом токенов является невзаимозаменяемый двоюродный брат ERC-20 - ERC-721. Эти смарт-контракты используются для чеканки NFT (невзаимозаменяемых токенов), которые представляют собой токены с уникальной ценностью в блокчейне. Создание уникальных произведений искусства - самый большой вариант использования этих типов токенов. Другие проекты в игровой сфере, такие как Axie Infinity и God Unchained, используют подобные токены для функционирования и экономики в игре.

Популярные блокчейны, совместимые с EVM

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

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

  • Avalanche (AVAX)

  • Cardano (ADA)

  • Ethereum (ETH)

  • Ethereum Classic (ETC)

  • Fantom (FTM)

  • Harmony (ONE)

  • Hedera Hashgraph (HBAR)

  • Near (NEAR)

  • Polygon (MATIC)

  • TomoChain (TOMO)

Является ли EVM обязательным?

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

Блокчейны без EVM

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

Уровень 2 (L2) - это отдельный протокол, созданный с целью расширения функциональных возможностей цепочки блокчейна. Говоря криптографическим языком, целью уровня 2 является масштабирование блокчейна.

Ниже приведены языки программирования и список известных блокчейнов без EVM:

  • Solana: Rust and C/C++.

  • Cardano: Haskell and Plutus.

  • Terra: Rust.

  • Algorand: TEAL (Transaction Execution Approval Language).

  • Near Protocol: Rust.

Разработчикам dApp, не относящимся к EVM, приходится заново создавать код, чтобы развернуть свои продукты на блокчейнах EVM. Поэтому они строят EVM-совместимые уровнем 2 поверх базовых блокчейнов. Например, Aurora и Milkomeda являются EVM-совместимыми уровнями 2 на Near Protocol и Cardano соответственно. Блокчейны EVM и не-EVM по-прежнему находятся в стороне от крипторынка. В гонке пока нет победителя. По нашему мнению, оба типа блокчейнов будут сосуществовать и процветать в криптопространстве.

В чем разница между блокчейнами EVM и не-EVM?

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

EVM и не только

EVM делает Ethereum платформой, а не просто блокчейном. Однако EVM не является идеальной системой. Есть много проблем, связанных со скоростью транзакций и пропускной способностью сети. Это область внимания сообщества разработчиков и дорожная карта для Ethereum. Если Ethereum выполнит свои обещания в корне изменить то, как мы взаимодействуем друг с другом, то это произойдет благодаря улучшениям EVM и, как заявляют разработчики, благодаря долгожданному обновлению Ethereum 2.0 и переходу с протокола Proof-of-work на протокол Proof-of-stake.

Возможно, вам будет интересно