¿Alguno de los Scripts propuestos (OP_XXX) permitirá pagos de tipo suscripción/recurrentes?

¿Es posible implementar un tipo de suscripción/pago recurrente utilizando scripts de Bitcoin?

Por ejemplo, podría enviar un pago por un servicio donde hay una suscripción mensual, y cada mes, si hubiera suficientes bitcoins en la dirección de pago, la cantidad requerida se enviaría al proveedor del servicio. El tiempo podría basarse en el número de bloque, que debería correlacionarse bien con el tiempo, es decir, un pago mensual podría ser un pago cada 4320 bloques.

Respuestas (1)

  1. Para enviar Bitcoins a alguien, debe firmar una transacción con su clave privada.
  2. Cada transacción en su conjunto de monedas se refiere a la transacción anterior. Es posible crear una cadena de transacciones como esta, pero si realiza alguna operación entre el inicio y el final de dichos conjuntos de pagos, las transacciones restantes se invalidarán.

Esto hace que, según el modelo actual de transacciones, sea imposible realizar tal operación. Podría definir un nuevo OP que permitiría canjear monedas solo después de un cierto período de tiempo, pero de todos modos estaría pagando el monto total por adelantado.

Sin embargo, podría crear un cliente que programaría pagos. Pero hay un problema: generalmente se recomienda mantener sus claves privadas encriptadas, para que nadie pueda robar sus monedas. Un cliente no puede firmar una transacción con una clave cifrada, por lo que se le solicitarán las contraseñas cada vez. Por otro lado, uno podría imaginar que una sola dirección en una billetera se mantuviera sin cifrar para tales transacciones. Sin embargo, al final, no se trata de crear un nuevo OP en el protocolo, sino una nueva funcionalidad en un cliente.

Estoy pensando en algo como tener una dirección que pueda financiar desde la cual el servicio de suscripción podría cobrar la tarifa de suscripción cada 4320 bloques (1 mes), digamos. Podría financiarlo con la cantidad que quisiera, por ejemplo, 1 año de tarifas de suscripción, pero el servicio solo podía obtener la cantidad establecida en cada período de suscripción. Si quisiera, podría sacar los bitcoins de la dirección prefinanciada en cualquier momento que quisiera sin necesidad de permisos de nadie más y detener la suscripción. es posible?
@kirian Tendrías que tener algún cliente modificado para esto. Debe firmar con su clave privada para cada transacción que se realice. Actualmente, algo como esto no está disponible, pero tal vez en un par de meses debería tener algún monedero electrónico que pueda hacer algo como esto. Por ahora, todos están paranoicos por el robo de sus monedas.
Todo lo que necesitaría es una transacción "no válida antes del bloque X" (o bloque con marca de tiempo Y). Luego, podría entregarles transacciones para cada mes del próximo año, y podría retirar los fondos en cualquier momento antes de que acepten los pagos.