¿Qué pasaría si EVM no existiera en Ethereum?

No me queda claro la importancia de la máquina virtual Ethereum y por qué se usa. Entonces, es natural preguntarse qué pasaría si EVM no existiera. o Ethereum no lo usó.

¿Qué crees que es Ethereum? Eso ayudaría a responder esta pregunta.
Bueno, entonces tienes Bitcoin con otro nombre, más o menos.

Respuestas (6)

Primero, para tener una idea sobre EVM, puede consultar esta pregunta sobre qué es EVM . Y entonces,

¿Qué pasaría si la EVM no existiera?

Según entiendo,

Dado que ethereum debe proporcionar un entorno de ejecución independiente de la plataforma (¿de lo contrario, necesita implementar diferentes contratos en diferentes direcciones para diferentes plataformas? ) muy necesario Pero, ¿por qué no se utiliza una máquina virtual existente? Ethereum tiene otros requisitos además de ejecutar un código. Estos requisitos de respuesta necesarios para el EVM darán una buena idea al respecto. Y esta comparación con JVM dará más información sobre eso.

Destacando el aspecto de seguridad, la máquina virtual Ethereum (EVM) proporciona el entorno de tiempo de ejecución seguro para los contratos inteligentes en la red. Los contratos inteligentes están abiertos a todos en la red y cualquiera en la red puede implementar contratos inteligentes. Cuando un nodo necesita ejecutar una función de contrato inteligente, el código se ejecuta en el nodo en particular.

Estos motivos abren una vulnerabilidad de seguridad, a menos que no se controle el entorno de tiempo de ejecución. En el peor de los casos, puede provocar que los nodos no estén disponibles y, en última instancia, que la red no esté disponible. Estas vulnerabilidades se evitan controlando el entorno de tiempo de ejecución mediante EVM.

Gracias por la respuesta. Sí, al leer todas las respuestas me está quedando más claro. Pero no estoy seguro de por qué mencionaste "vulnerabilidades de seguridad".
porque cualquier persona puede enviar contratos inteligentes, por lo tanto, no son de confianza. Por lo tanto, los nodos necesitan un mecanismo de seguridad y evm lo proporciona mientras realiza su tarea principal de procesar contratos inteligentes.
Entonces, si el EVM no existiera, se necesita un contrato inteligente para proporcionar una VM existente para proporcionar el entorno de tiempo de ejecución y es posible que no satisfaga específicamente los requisitos de seguridad en la cadena de bloques de ethereum y puede ser innecesario uno grande con otras características irrelevantes que puede no ser útil con ethereum
Dejaría de lado los argumentos sobre el aspecto de seguridad, requiere un análisis más preciso, por ejemplo, cuando un adversario corrompe la máquina del usuario, entonces no hay garantía de que la VM se ejecute correctamente. ¡Pero el resto de su respuesta es agradable y está respaldado con algunas referencias, lo cual es genial!

Ethereum ofrece dos servicios principales : transferencia de dinero y procesamiento de contratos inteligentes. El primero no necesita una máquina virtual, pero el segundo sí, mientras que un contrato inteligente es una pieza de código que necesita una máquina virtual o un compilador para ejecutarlo. Por lo tanto, no hay VM, no hay capacidad para escribir contratos inteligentes o programas avanzados que manejen activos o dinero.

lea esta publicación para obtener más detalles sobre por qué crean una nueva VM en lugar de usar una existente: ¿Cuál fue la razón para inventar la EVM?

Ether/Tokens serán transferibles e incluso se pueden lograr contratos inteligentes sin una máquina virtual (como se ve en cadenas de bloques como Stellar ). Pero tales se limitan a unas pocas características lógicas básicas.

La razón principal por la que Ethereum necesita un EVM es tener contratos inteligentes de Turing Complete . es decir, la capacidad de ejecutar cualquier pieza de código computable (básicamente una "CPU virtual")

El ecosistema blockchain habría permanecido centralizado dentro de Bitcoin.

El EVM es la esencia de la evolución hacia cadenas de bloques programables.

La máquina virtual es solo una charla elegante para el lenguaje de secuencias de comandos. Si ha estudiado Bitcoin, podría decir que el lenguaje de script integrado en el código de Bitcoin es la "Máquina virtual de Bitcoin". Simplemente sucede que no es Turing completo, ya que el lenguaje de secuencias de comandos de Ethereum es Turing completo y tiene mayores capacidades (aunque a costa de una mayor complejidad).

Aquí hay una respuesta perfecta y completa a su pregunta. La respuesta fue lo suficientemente grande, así que escribí un artículo en su lugar. Espero que ayude a mucha gente.