es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Variables de estado del contrato inteligente en la cadena de bloques

Soy nuevo en blockchain, por favor ayúdeme a entender.

¿Cómo se almacenan las variables de estado del contrato inteligente en la cadena de bloques si un contrato inteligente es inmutable (debido a que fue implementado como una transacción = el código binario está almacenado en una transacción)?

Vale, tal vez cada nuevo estado de una variable de estado se almacene con una nueva llamada de método-actualización (set) en la transacción, pero ¿cómo sabe entonces el contrato inteligente cómo abordarlos si fue creado anteriormente?

Y aquí encontré una mención de un almacenamiento de estado en cada EVM. “Técnicamente no necesitas almacenar esto en el disco, solo podrías reproducir todas las transacciones cuando inicies el nodo”: nuevamente, ¿cómo es posible reproducir todas las transacciones relacionadas con un contrato, cómo están conectadas con un contrato?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en tecnología de la información especializado en blockchain, contratos inteligentes y almacenamiento, puedo ayudarte a entender cómo se almacenan las variables de estado de un contrato inteligente en la cadena de bloques, a pesar de que los contratos inteligentes son inmutables. Cuando un contrato inteligente se despliega como una transacción, se almacena como byte-code en la cadena de bloques. El nuevo estado de una variable de estado se guarda con una nueva llamada de método de actualización en la transacción.

    El contrato inteligente sabe cómo acceder al nuevo estado de una variable de estado porque se encuentra almacenado en el área de almacenamiento del contrato, la cual se mantiene en cada Máquina Virtual Ethereum (EVM) que se ejecuta en la cadena de bloques. Cada EVM mantiene un almacenamiento de estado para cada contrato que está activo en la cadena de bloques. Este almacenamiento es una tienda de clave-valor que asigna cada variable de estado a su valor actual.

    Cuando se reproducen todas las transacciones relacionadas con un contrato, el almacenamiento de estado del EVM permite recrear el estado actual del contrato en cualquier momento. Esto se logra aplicando cada transacción al estado original del contrato de manera determinista.

    En resumen, el estado actual de las variables de estado de un contrato inteligente se almacena en el área de almacenamiento del contrato, la cual es mantenida en cada EVM de la cadena de bloques. La reproducción de todas las transacciones relacionadas con el contrato es posible gracias al almacenamiento de estado del EVM, el cual asigna cada variable de estado a su valor actual en una tienda de clave-valor.

Comments are closed.