¿Es posible hacer que una salida solo se pueda gastar en una dirección específica?

Básicamente, toda la pregunta encaja en el título. ¿El lenguaje de secuencias de comandos de Bitcoin permite que la salida de una transacción solo se pueda gastar en una dirección específica? ¿Es posible prohibir todos los demás gastos? ¿Es posible dictar que solo se puede gastar más de una cantidad específica de dinero de modo que las tarifas de transacción no se puedan elegir arbitrariamente altas?

Si es así, supongo que también es posible diseñar un script de salida de tal manera que se pueda gastar en una dirección específica (y solo en esta dirección específica) cuando está presente una firma de una parte específica, pero en direcciones arbitrarias si eso la firma de la parte y también la de otra parte específica está presente. Si por alguna razón esto no fuera posible, por favor hágamelo saber. Esto es lo que me interesa principalmente.

No estoy seguro de obtener exactamente lo que pide, pero ¿cuál es el problema con un script P2PKH estándar? Ahí estás creando un script que solo puede ser gastado por esa dirección.
@ sr-gi Le pregunto si puede diseñar el script de UTXO de tal manera que solo se pueda gastar de tal manera que el UTXO resultante pertenezca a una dirección específica.
Oh, lo entiendo, quieres decir que la UTXO sería gastable por cualquier persona, por el resultado de gastarla pertenecerá a una dirección específica. ¿Tengo razón?
Quizás algo de contexto ayude. ¿Que estás tratando de hacer? ¿Estás tratando de mostrarle a alguien dinero en efectivo, o algo así?

Respuestas (4)

No, no es posible hacer una salida que solo sea gastable a una dirección específica. Los productos que se gastan no tienen efecto en los productos de la transacción de gasto. Están completamente separados e independientes entre sí, excepto por la cantidad que se gastó.

La secuencia de comandos de una salida solo define cuál debe ser la secuencia de comandos de entrada, y la secuencia de comandos de entrada no tiene ningún efecto sobre las secuencias de comandos de salida de esa transacción.

Hasta donde yo sé, la respuesta es no.

Lo que está sugiriendo implicaría que an UTXOpodría afectar las condiciones en las que se generaría el resultado de una transacción que lo gasta, pero solo puede afectar la forma en que se genera la entrada.

UTXOspuede definir cómo deben gastarse, pero no cómo UTXOse creará el gasto resultante.

Este tipo de cosas se llama una "transacción de pacto". Actualmente no es posible en bitcoin, sin embargo, hay propuestas para agregar esto a bitcion y es probable que una de ellas llegue en algún momento de los próximos años. Uno es OP_CHECKTEMPLATEVERIFY y otro es OP_CONSTRAINDESTINATION .

No sin confianza, pero si la fuente puede confiar en usted para destruir información o idear un esquema en el que no pueda ver o guardar la clave privada, podría:

  1. Enviar a una dirección para la que tenga la clave privada
  2. Firme una transacción gastando la salida en la dirección de destino
  3. Destruir la clave privada
  4. Dale a tu destinatario la transacción firmada.

Por supuesto, destruir la clave privada es el paso crítico aquí. Requiere confianza, creatividad o alguna solución basada en criptografía que desconozco.