Máquina virtual (EVM)

No se puede describir una instancia física de EVM en la forma en que uno podría apuntar a una nube o una onda oceánica;Es una entidad real que existe y es mantenida por miles de computadoras que ejecutan clientes Ethernet juntos.

El protocolo Polysmartchain existe únicamente para mantener esta máquina de estado en particular funcionando de forma continua, ininterrumpida y permanente.Este es el entorno en el que existen todas las cuentas de PolysmartChain y los contratos inteligentes.Polysmartchain tiene solo un estado "canónico" en cualquier bloque dado en la cadena, y EVM define las reglas para calcular un nuevo estado válido de un bloque a otro.

Desde el libro mayor hasta la máquina de estado

La analogía de un "libro mayor distribuida" se usa a menudo para describir un bloque de bloques como Bitcoin, que utiliza las herramientas básicas de la criptografía para implementar la moneda descentralizada.Las criptiopurrenciales se comportan como "normales" monedas porque hay reglas que gobiernan lo que las personas pueden y no pueden hacer para modificar el libro mayor.Por ejemplo, una dirección de bitcoin no puede gastar más bitcoins de los que ha recibido previamente.Estas reglas son la base para todas las transacciones en Bitcoin y muchos otros bloques de bloques.

Si bien Polysmartchain tiene su propia criptomoneda nativa (PSCeth) que sigue casi exactamente las mismas reglas intuitivas, también admite una característica más poderosa: contratos inteligentes.Para esta funcionalidad más compleja, se requiere una analogía más compleja.Polysmartchain no es un libro mayor distribuido, sino una máquina de estado distribuida. El estado de Polysmartchain es una gran estructura de datos que mantiene no solo todas las cuentas y equilibrios, sino también un estado de la máquina que se puede cambiar entre bloques de acuerdo con un conjunto predefinido de reglas y puede ejecutarCódigo de máquina arbitraria.Las reglas específicas para cambiar el estado en un bloque están definidas por EVM.

Función de transición del estado de PolysMartChain

Un EVM se comporta como una función matemática: para una entrada determinada, produce una salida determinista.Por lo tanto, es muy útil describir el éter más formalmente como tener una función de transición estatal:

    Y(S, T)= S'

Dado un antiguo estado válido (s)> y un nuevo conjunto de transacciones válidas (T), la función de transición de estado de éter y (s, t) produce un nuevo estado de salida válido s '

Estado

En el contexto de Polysmartchain, el estado es una enorme estructura de datos llamada Merkle Patricia Trie ajustada que permite a todas las cuentas estar vinculadas por hash y se puede rastrear de nuevo a un solo hash de raíz almacenado en el bloque de bloques.

Transacción

Una transacción es una instrucción criptográfica firmada de una cuenta.Hay dos tipos de transacciones: uno es una transacción de llamadas de mensaje y la otra es una transacción de creación de contrato.

El contrato Cree Transaction crea una nueva cuenta de contrato que contiene el sector de contrato inteligente compilado.Siempre que otra cuenta haga una llamada de mensaje a ese contrato, ejecuta su bytecode.

Explicación EVM

El EVM funciona como una máquina de pila con una profundidad de pila de 1024 elementos.Cada elemento es una palabra de 256 bits, y para facilitar el uso, se elige la criptografía de 256 bits (como el hashing keccak-256 o la firma SECP256K1).

Durante la ejecución, el EVM mantiene una memoria transitoria (como una matriz de bytes direccionables de palabra) que no persiste entre las transacciones.

Sin embargo, el contrato contiene una trie de almacenamiento de Merkle Patricia (como una variedad de palabras adicionales de palabras) que está asociado con la cuenta y parte del estado global.

El Bytecode de contrato inteligente compilado se ejecuta como códigos de operación EVM que realizan operaciones de pila estándar como XOR 、 y 、 ADD 、 SubETC.EVM también implementa algunas operaciones de pila específicas de blockchain, como la dirección 、 saldo 、 blockhash, etc.

Implementación de EVM

Todas las implementaciones de EVM siguen las especificaciones descritas en el libro amarillo de Ethernet, gracias a las contribuciones hechas por Ethernet.

Last updated