Мне непонятно важность виртуальной машины Ethereum и почему она используется. Поэтому естественно спросить, что было бы, если бы EVM не существовало? или Ethereum не использовал его.
Сначала, чтобы получить представление о EVM, вы можете задать этот вопрос о том, что такое EVM . А потом,
Что было бы, если бы EVM не существовало?
Насколько я понимаю,
Поскольку Ethereum должен предоставлять независимую от платформы (иначе вам нужно развертывать разные контракты по разным адресам для разных платформ?) рабочую среду для выполнения смарт-контрактов (предоставление языка Turing Complete для написания смарт-контрактов является основной специализацией в Ethereum), виртуальная машина является очень нужен. Но почему не используется существующая ВМ? У Эфириума есть требования, отличные от простого выполнения кода. Этот ответ на требования, необходимые для EVM , даст хорошее представление об этом. И это сравнение с JVM даст больше информации об этом.
Подчеркивая аспект безопасности, виртуальная машина Ethereum (EVM) обеспечивает защищенную среду выполнения для смарт-контрактов в сети. Смарт-контракты открыты для всех в сети, и любой в сети может развертывать смарт-контракты. Когда узлу необходимо выполнить функцию смарт-контракта, код запускается на конкретном узле.
Эти причины открывают уязвимость системы безопасности, если среда выполнения не контролируется. В худшем случае это может привести к недоступности узлов и, в конечном итоге, к недоступности сети. Эти уязвимости предотвращаются путем управления средой выполнения с помощью EVM.
Ethereum предоставляет две основные услуги : денежные переводы и обработку смарт-контрактов. Первому не нужна виртуальная машина, а второму она нужна, в то время как смарт-контракт — это фрагмент кода, для запуска которого требуется виртуальная машина или компилятор. Таким образом, нет виртуальной машины, нет возможности писать смарт-контракты или продвинутые программы, обрабатывающие активы или деньги.
прочитайте этот пост, чтобы узнать больше о том, почему они создают новую виртуальную машину, а не используют существующую: Что послужило причиной изобретения EVM?
Эфир/токены можно будет передавать, и даже смарт-контракты могут быть достигнуты без виртуальной машины (как это видно в таких блокчейнах, как Stellar ). Но такие ограничены несколькими основными логическими функциями.
Основная причина, по которой Ethereum нуждается в EVM, заключается в наличии смарт-контрактов Turing Complete . т.е. возможность выполнять любой вычисляемый фрагмент кода (в основном «виртуальный ЦП»)
Экосистема блокчейна осталась бы централизованной внутри Биткойна.
EVM — это суть эволюции к программируемым блокчейнам.
Виртуальная машина — это просто причудливая фраза для языка сценариев. Если вы изучали биткойн, вы могли бы сказать, что язык сценариев, встроенный в код биткойна, — это «виртуальная машина биткойна». Просто случилось так, что он не является полным по Тьюрингу, поскольку язык сценариев Ethereum является полным по Тьюрингу и имеет более высокие возможности (хотя и за счет большей сложности).
Вот идеальный и полный ответ на ваш вопрос. Ответ был достаточно большим, поэтому вместо этого я написал статью. Я надеюсь, что это поможет многим людям.
легкие
пользователь 253751