Что было бы, если бы EVM не существовало в Ethereum?

Мне непонятно важность виртуальной машины Ethereum и почему она используется. Поэтому естественно спросить, что было бы, если бы EVM не существовало? или Ethereum не использовал его.

Как вы думаете, что такое Эфириум? Это помогло бы ответить на этот вопрос.
Ну, тогда у вас есть Биткойн под другим именем, более или менее.

Ответы (6)

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

Что было бы, если бы EVM не существовало?

Насколько я понимаю,

Поскольку Ethereum должен предоставлять независимую от платформы (иначе вам нужно развертывать разные контракты по разным адресам для разных платформ?) рабочую среду для выполнения смарт-контрактов (предоставление языка Turing Complete для написания смарт-контрактов является основной специализацией в Ethereum), виртуальная машина является очень нужен. Но почему не используется существующая ВМ? У Эфириума есть требования, отличные от простого выполнения кода. Этот ответ на требования, необходимые для EVM , даст хорошее представление об этом. И это сравнение с JVM даст больше информации об этом.

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

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

Спасибо за ответ. Да, прочитав все ответы, мне стало понятнее. Но я не уверен, почему вы упомянули "уязвимости безопасности".
потому что смарт-контракты могут быть отправлены кем угодно, следовательно, им нельзя доверять. Таким образом, узлам нужен механизм безопасности, и evm обеспечивает его при выполнении своей основной задачи по обработке смарт-контрактов.
Таким образом, если EVM не существует, смарт-контракт необходим для обеспечения существующей виртуальной машины для обеспечения среды выполнения, и это может не соответствовать требованиям безопасности в блокчейне ethereum и может быть ненужным большим с другими не относящимися к делу функциями, которые может быть бесполезен с эфириумом
Я бы опустил аргументы о аспекте безопасности, он требует более точного анализа, например, когда машина пользователя повреждена злоумышленником, нет гарантии, что виртуальная машина работает правильно. Но остальная часть вашего ответа хороша и поддерживается некоторыми ссылками, что круто!

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

прочитайте этот пост, чтобы узнать больше о том, почему они создают новую виртуальную машину, а не используют существующую: Что послужило причиной изобретения EVM?

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

Основная причина, по которой Ethereum нуждается в EVM, заключается в наличии смарт-контрактов Turing Complete . т.е. возможность выполнять любой вычисляемый фрагмент кода (в основном «виртуальный ЦП»)

Экосистема блокчейна осталась бы централизованной внутри Биткойна.

EVM — это суть эволюции к программируемым блокчейнам.

Виртуальная машина — это просто причудливая фраза для языка сценариев. Если вы изучали биткойн, вы могли бы сказать, что язык сценариев, встроенный в код биткойна, — это «виртуальная машина биткойна». Просто случилось так, что он не является полным по Тьюрингу, поскольку язык сценариев Ethereum является полным по Тьюрингу и имеет более высокие возможности (хотя и за счет большей сложности).

Вот идеальный и полный ответ на ваш вопрос. Ответ был достаточно большим, поэтому вместо этого я написал статью. Я надеюсь, что это поможет многим людям.