Виртуальная машина Ethereum, или EVM, — это распределенный конечный автомат, который позволяет пользователям обременять выполнение кода обработкой транзакции. Это позволяет пользователям определять сложные условия расходов и взаимодействия с пользователем, которые были бы невозможны в простой платежной сети. EVM — это то, что включает и выполняет смарт-контракты в Ethereum и поддерживается узлами Ethereum.
Каждый узел Ethereum поддерживает свою собственную копию EVM, а каноническое или «правильное» состояние EVM обычно определяется консенсусом большинства узлов. Эта конструкция сохраняет децентрализованную природу блокчейнов, одновременно открывая двери для гораздо более сложной деятельности в цепочке, чем простые одноранговые транзакции.
Хотя EVM — не единственный механизм, способный создать программируемый блокчейн, он доминирует в мире смарт-контрактов с момента своего создания. После выпуска Ethereum был создан язык смарт-контрактов Solidity, чтобы предоставить разработчикам более читаемый и проверяемый язык для написания контрактов EVM. Отсутствие использования языка более высокого уровня, такого как Solidity, вынудит разработчиков вручную создавать контракты из байт-кода, что более подвержено ошибкам и его сложнее проверять. Несмотря на создание множества новых инструментов и компиляторов, используемых для взаимодействия с EVM, Solidity остается наиболее широко используемым языком для написания контрактов EVM.
Что значит быть совместимым с EVM?
Хотя Ethereum был первым блокчейном, представившим EVM, сейчас существует множество других блокчейнов, которые используют виртуальную машину Ethereum для реализации поддержки смарт-контрактов.
Виртуальная машина блокчейна считается EVM-совместимой, если она содержит те же коды операций, что и EVM. Если все коды операций EVM могут быть выполнены, то любой язык, который использует только коды операций EVM, также может использоваться для создания смарт-контрактов и взаимодействия с любым другим EVM-совместимым блокчейном.
На практике это означает, что одни и те же приложения могут быть развернуты в любой EVM-совместимой цепочке без чрезмерных (а зачастую и каких-либо) изменений потока или кода. Некоторые EVM-совместимые цепочки, такие как Quai Network, используют несколько взаимосвязанных, одновременно работающих EVM, чтобы обеспечить более дешевое взаимодействие по контрактам и изменение состояния.
Интересно, что блокчейн не обязательно должен быть совместим с EVM, чтобы быть совместимым с Solidity. Виртуальная машина, которая поддерживает полный набор инструкций EVM без изменений, совместима с EVM, но виртуальная машина, которая не совместима с EVM, все равно может быть целевой для Solidity. Например, виртуальная машина на основе веб-сборки (WASM) может быть совместима с Solidity, если она предлагает механизм компиляции Solidity в байт-код новой виртуальной машины. Различие между EVM-совместимостью и EVM-несовместимостью можно увидеть в байт-коде: необработанный байт-код контракта можно скопировать между EVM-совместимыми цепочками и использовать, в то время как тот же код будет непригоден для использования в не-EVM-совместимой цепочке.
Некоторые альтернативы EVM включают LLVM (используется для компиляции в байт-код Solana) и IELE (используется Cardano), которые культивируют начинающие сообщества разработчиков, но все еще затмеваются популярностью EVM.
Каковы преимущества совместимости с EVM?
EVM-совместимые блокчейны и уровни 2 поддерживают крупнейшие сообщества активных разработчиков и пользователей. Из-за существующей популярности EVM и разнообразного набора кодов операций подавляющее большинство смарт-контрактов и децентрализованных приложений пишутся и развертываются в EVM-совместимой цепочке.
При таком сильном сообществе разработчиков процесс создания EVM тщательно документировался и дорабатывался распределенным и весьма разнообразным кругом людей. Долгая история успешных (и неудачных) приложений EVM заложила основу для безопасной и понятной среды разработки.
Языки, используемые для разработки на EVM, могут быть сложными, но компенсируют эту сложность своей способностью удовлетворить практически любые мыслимые требования благодаря полноте EVM по Тьюрингу. Однако виртуальные машины, полные по Тьюрингу, создают риск бесконечных циклов, которых можно избежать путем тщательного аудита и проверки кода смарт-контракта.
Самый ценный аспект EVM — это сообщество и документация. Начинающим строителям доступны тысячи ресурсов, включая практический опыт разработчиков Solidity.
Хотя совместимость с EVM имеет много преимуществ, у EVM есть и некоторые слабые стороны, такие как его сложность и цена на газ. Будучи первым в мире блокчейном, использующим смарт-контракты, EVM отдает приоритет функциональности, а не простоте. Хотя такие языки, как Solidity, общеизвестно сложны, инструменты, созданные в последние годы в дополнение к разработчикам на основе EVM, радикально улучшили среду и опыт разработки, сохранив при этом полную функциональность EVM, полную Тьюринга.
У EVM также есть проблемы с ценами на газ, особенно в отношении государственной арендной платы, которая является узким местом для сети:
«Чем действительно страдает Ethereum, так это отсутствием государственной ренты. Таким образом, размер состояния раздулся до такой степени, что он сильно ограничен операциями ввода-вывода. Так что это не обязательно является внутренней проблемой EVM, он переносит большие объемы состояния и не имеет механизма оплаты для него. Они не стоили чего-то, что явно является внешним эффектом. Мы решаем эту проблему так: точно так же, как состояние сегментирования обеспечивает более эффективное распространение транзакций, оно также позволяет уменьшить размер состояния в любом данном контексте. И еще одна вещь, которую мы делаем, — это добавляем государственную ренту, чтобы мы могли ограничить раздувание штата, что позволит нам обрабатывать гораздо больше транзакций».
-Доктор К., соучредитель Quai Network
Какие токены EVM наиболее популярны?
Самым популярным токеном, использующим виртуальную машину Ethereum, является, что неудивительно, Ethereum. Будучи первым протоколом, поддерживающим возможности смарт-контрактов в любом качестве, Ethereum получил мощное преимущество первопроходца и зарекомендовал себя в качестве основной платформы для DeFi, NFT и многого другого. Однако высокие комиссии, которые Ethereum часто испытывает в периоды высокого спроса, побудили пользователей искать альтернативные протоколы, которые предлагают сравнимую с Ethereum безопасность, децентрализацию и функциональность, но без высокой стоимости использования.
Существует также множество проектов, таких как BSC, Tron и EOS, которые предлагают совместимость с EVM за низкую плату за счет децентрализации и/или безопасности. Однако ни один из этих проектов не смог поддерживать низкие комиссии, сохраняя при этом децентрализацию, безопасность и функциональность, сопоставимые с Ethereum.
Напротив, Quai Network представляет собой сеть блокчейнов до Mainnet, использующую объединенный майнинг и шардинг, чтобы предложить функциональность EVM по низкой цене, без каких-либо компромиссов с децентрализацией или безопасностью. Благодаря использованию множества взаимосвязанных блокчейнов, производящих блоки асинхронно, каждый из которых использует независимую EVM, Quai Network масштабирует как децентрализацию, так и смарт-контракты до беспрецедентного уровня.
Заключение
EVM, как первый метод реализации смарт-контрактов в блокчейне, процветал за последнее десятилетие благодаря взрывному росту новых разработок и инструментов. Однако, несмотря на этот большой ров, в EVM можно внести множество улучшений, которые потенциально могут улучшить стимулы и улучшить существующее состояние смарт-контрактов.
Присоединяйтесь к нам, чтобы создать лучший блокчейн.
Веб-сайт
Раздор
Твиттер
YouTube
Реддит
LinkedIn
Документация разработчика
Мы нанимаем!
Quai Network — это блокчейн-сеть с открытым исходным кодом, основанная на доказательстве работы, использующая возможности объединенного майнинга для повышения пропускной способности и безопасности. Пользователи Quai Network смогут насладиться быстрыми транзакциями без ущерба для децентрализации и безопасности. Майнеры получат конкурентоспособные возможности майнинга во многих блокчейнах сети.
Сеть Quai, способная обрабатывать тысячи транзакций в секунду, представляет собой масштабируемое решение Proof-of-Work, которое вскоре будет готово к выпуску в Mainnet.
Отказ от ответственности
Мнения, идеи и заявления, представленные в этом обновлении, содержат многочисленные предположения, риски и неопределенности, которые могут меняться с течением времени. Существует множество факторов риска, в том числе связанных с блокчейном, криптографическими системами и технологиями в целом, а также с бизнесом Quai, операциями и результатами операций, которые могут привести к тому, что фактические результаты или разработки, которые, как ожидается, не будут реализованы или, даже если они будут существенно реализованы, могут оказаться нереализованными. не удалось достичь каких-либо или всех выгод, которые можно было бы от этого ожидать. Мы оставляем за собой право в одностороннем порядке, полностью или частично изменять планы, ожидания и намерения, изложенные в настоящем документе, в любое время и по любой причине, по нашему исключительному и абсолютному усмотрению, и мы не берем на себя никаких обязательств по публичному обновлению или пересмотру любого прогнозного заявления. , будь то в результате новой информации, будущих разработок или иным образом
Взгляды, мнения и заявления, содержащиеся в этом обновлении, принадлежат отдельному автору, а не мнению какого-либо учреждения, университета или юридического лица, действующего в пределах юрисдикции Соединенных Штатов или за их пределами. Нет никакой связи между этими взглядами, мнениями и заявлениями и какой-либо коммерческой или некоммерческой организацией, особенно с университетами, фондами и другими агентствами, расположенными на территории Соединенных Штатов. Любое восприятие такой ассоциации чисто случайно и будет немедленно исправлено, если читатель обратит на нее наше внимание.


