Restrinja el uso de Bitcoin solo durante un período particular

Me gustaría saber si es posible usar un Bitcoin actualmente en el siguiente escenario.

Cuando envío un Bitcoin a otro usuario, configuro ciertos parámetros en el Bitcoin, como que solo se puede usar desde esta fecha en particular hasta otra fecha en particular. Y restrinja el uso de Bitcoin si se usa en otro momento.

¿Puedo usarlo así?

Respuestas (1)

Esto se puede lograr con un contrato inteligente simple entre usted y el destinatario utilizando una transacción locktime. Aquí están los pasos:

  1. Cree una transacción a la dirección del destinatario gastando los UTXO (salidas de transacciones no gastadas) de su propiedad y configurando la locktimefecha de inicio de su período de gracia.
  2. Cree una segunda transacción gastando exactamente los mismos UTXO en una dirección de su propiedad, pero sin ninguna locktimerestricción.
  3. Firme la primera transacción y entréguesela al destinatario.
  4. Cuando comienza el período de gracia, el destinatario puede transmitir la transacción y recibir las monedas.
  5. Cuando termine el período de gracia, firme y transmita la segunda transacción. Si la primera transacción ya se ha transmitido, no será válida y no se retransmitirá ni incluirá en un bloque. Si la primera transacción no se ha transmitido, querrá reclamar las monedas, invalidando así la primera transacción.

Este plan asume que usted tiene el control de la segunda transacción y está prestando atención, de modo que recuerda transmitir la segunda transacción. También asume que el destinatario confía en usted para respetar el período de gracia y no transmitir su transacción hasta que se acabe el tiempo. Problemas como estos podrían resolverse con un esquema más complejo que involucre transacciones de múltiples firmas y la configuración locktimede ambas transacciones, pero no parece que necesite algo tan complejo.

Ver también:

https://en.bitcoin.it/wiki/Protocol_documentation#tx

https://bitcoin.org/en/developer-guide#signature-hash-types

Tengo una duda con respecto a la segunda transacción. ¿Qué sucede si realizo una segunda transacción al mismo tiempo que la primera y establezco locktimecomo el final del período de gracia? Y transmitiré ambas transacciones. Entonces, cuando comience el período de gracia, la segunda persona puede usar el bitcoin y, al final del período de gracia, se me devolverá. Funcionará ?
El problema es que si locktimeestá configurado, pero el período de tiempo no ha terminado, sus nodos no retransmitirán la transacción. Evita que la transacción sea incluida en un bloque. Los mineros y los nodos completos tendrían que almacenar su transacción en sus mempools hasta que se permita en un bloque. Recuerde, solo una de las dos transacciones se incluirá en un bloque, ya que ambas usan los mismos UTXO como entrada. Creo que te estás confundiendo locktimecon OP_CHECKLOCKTIMEVERIFY de BIP65 ( en.bitcoin.it/wiki/BIP_0065 ), que también podría ser una solución para ti.
Quiero algo como esto, la segunda persona debe poseer el bitcoin solo por un cierto período de tiempo y devolver el bitcoin al remitente, cuando se acabe el tiempo. Sería posible con locktime?
El contrato que describí anteriormente le da al destinatario la capacidad de transferirse el bitcoin a sí mismo por un período de tiempo limitado. No tienen obligación de devolver ninguna parte al remitente. Si no se gasta, se devuelve mediante una acción del remitente. La red Bitcoin no le permite entregar una transacción a nodos/mineros completos para que la almacenen y extraigan en un momento futuro. En otras palabras, no puede usarlo para automatizar una transacción futura, pero puede usarlo para garantizar que una transacción futura no se realice hasta un momento determinado. Seguirás estando a cargo de iniciar.
¿Significa esto que el bitcoin será la billetera del destinatario durante el período de tiempo y, si no se gastó, se devolverá al remitente?
No. Estará en la billetera del remitente, pero durante el período de tiempo, el destinatario tiene la capacidad de transferirlo a su cuenta. Si se transfiere, el remitente no tiene la posibilidad de recuperarlo. Para finalizar el plazo, el remitente debe presentar su propia transacción, gastando la UXTO original. Si el remitente nunca envía su transacción, el plazo nunca termina.