¿Cómo replicar la funcionalidad OP_RETURN de Bitcoin en Ethereum?

Sé que Ethereum es más avanzado y permite cosas más interesantes que asociar datos a una transacción. Pero digamos que tengo un sistema heredado que usa OP_RETURN de Bitcoin. ¿Qué opciones tengo para pasar de la cadena de bloques de Bitcoin a la cadena de bloques de Ethereum?

Para decirlo de otra manera, necesito agregar datos y luego poder buscar esos datos por alguna identificación única. (como la identificación de tx de Bitcoin). También necesito poder verificar quién colocó los datos. ¿Puedo simplemente asociar datos a un tx? ¿O debería crear un contrato con un campo de valor clave para los datos y agregar alguna forma de verificar la autoría?

Respuestas (1)

En la mayoría de los casos que se me ocurren, lo que se puede lograr con OP_RETURN debe lograrse con contratos.

Por ejemplo, lo que hace Open Assets se puede hacer a través de un contrato, ya sea un contrato gigante con todos los activos o un contrato simple que administre cada activo por separado. Para la segunda opción, consulte "contratos de token" ( lea más aquí y aquí )

Si realmente necesita o insiste en copiar cómo funciona OP_RETURN, eso también es posible. Cada transacción tiene (entre otros campos):

  • recipiente
  • valor
  • datos / código de bytes

Estos datos contienen el código de bytes del contrato al crear un nuevo contrato; de lo contrario, contiene el mensaje que se transmitirá al ejecutar un contrato.

No hay nada que le impida utilizar el campo de datos al realizar una transacción entre cuentas externas (es decir, direcciones que no son contratos). Deberá pagar la gasolina adecuada ya que el 21000 básico no lo cubrirá.

Importante: esto solo funciona entre cuentas externas. Para los contratos, ese campo se interpretará como un comando y es muy probable que falle.