Contratos inteligentes y cifrado simétrico

Actualmente estoy aprendiendo sobre contratos inteligentes y tengo una pregunta.

Estoy tratando de entender cómo se ejecutan los contratos inteligentes. Ya leí diferentes fuentes y jugué algunas ideas, pero no estoy seguro de si es correcto.

Para implementar un contrato inteligente, tengo que enviar una transacción. Un minero lo toma, crea una dirección de contrato inteligente y tan pronto como el bloque es válido, tengo la posibilidad de trabajar con el contrato inteligente.

Si quiero ejecutar un contrato inteligente, creo una nueva transacción utilizando la ABI del contrato inteligente para llamar a una función o funciones. Como es una transacción, un minero la toma, ejecuta el código del contrato inteligente. Pero ¿qué pasa ahora? ¿La ejecución se almacena en la cadena de bloques con el resultado de la ejecución?

Me preguntaba cómo funciona esto realmente. Consideremos que creo un contrato inteligente de cifrado de clave simétrica. Envío un mensaje y una clave y el contrato inteligente devuelve el cifrado. ¿El texto sin formato será visible para todos o solo el texto cifrado?

gracias de antemano

Respuestas (1)

Para implementar un contrato inteligente, tengo que enviar una transacción. Un minero lo toma, crea una dirección de contrato inteligente y tan pronto como el bloque es válido, tengo la posibilidad de trabajar con el contrato inteligente.

Esto es exactamente lo que sucede al crear una transacción. Envía una transacción con el código de contrato y los parámetros de inicialización. Los mineros toman la transacción, crean una dirección de contrato y colocan el código en esa dirección e instancian el estado del contrato ejecutando la parte de inicialización del contrato.

Si quiero ejecutar un contrato inteligente, creo una nueva transacción utilizando la ABI del contrato inteligente para llamar a una función o funciones. Como es una transacción, un minero la toma,

Sí, estás en lo correcto. Cuando crea una instancia de contrato inteligente, necesita saber el ABI y la dirección del contrato. Una vez que tenga una instancia del contrato, puede enviarle tx. Este tx es recogido por el minero y ejecuta el tx.

ejecuta el código del contrato inteligente. Pero ¿qué pasa ahora? ¿La ejecución se almacena en la cadena de bloques con el resultado de la ejecución?

Después de la ejecución del código del contrato inteligente, el minero actualiza el estado de su contrato con los cambios que realizó en el contrato mediante esa invocación. El resultado no se almacena, pero puede usar eventos para extraerlos si es necesario.

¿El texto sin formato será visible para todos o solo el texto cifrado?

Sí, será visible para todos, porque sus parámetros de entrada son parte del tx que se incluye en un bloque, por lo que es público, por lo que el mensaje y la clave que está enviando serán visibles para todos.

Ok, entonces no es una buena idea tener un esquema de encriptación en un contrato inteligente, ya que todos pueden verlo. Gracias por tu respuesta :)