Dirección de reembolso de la transacción

En las notas de novedades de Bitcoin Core 0.9.0 hay una referencia a una dirección de reembolso . Traté de buscarlo en los foros y wikis pero no encontré nada.

  • ¿Cómo puedo establecer un refund addresscuando envío dinero desde el QT client?

  • ¿Cómo puedo recuperar el refund addresspara una transacción de bitcoin-cli?

Respuestas (1)

Este es mi entendimiento basado en la lectura de BIP 70 y la fuente de Bitcoin Core, y algunas pruebas.

Una solicitud de pago BIP 70 contiene, entre otras cosas, una dirección de destino, un monto y una URL de pago HTTPS. Cuando abre la solicitud de pago con el cliente Bitcoin Core (como un archivo o a través de un bitcoinURI con un enlace incrustado a la solicitud de pago), se le muestra el cuadro de diálogo Enviar con campos prellenados según la solicitud. Cuando hace clic en "Enviar", la transacción se firma, pero en lugar de transmitirse en la red p2p inmediatamente, se envía un mensaje a la URL de pago que contiene las transacciones firmadas y también una dirección de reembolso. Entonces es responsabilidad del solicitante transmitir la transacción después de verificar que coincida con la solicitud.

Entonces, en particular, la dirección de reembolso se envía directamente al destinatario a través de HTTPS, quien es responsable de almacenarla en caso de que se necesite más adelante. No es parte de la transacción, no se envía en la red p2p de Bitcoin y nunca aparece en la cadena de bloques (a menos que luego se use para enviar un reembolso).

Bitcoin Core generará automáticamente una dirección de reembolso; la GUI no proporciona una opción que le permita especificarlo. En realidad, los detalles son los siguientes: busca una cuenta llamada "Refund from [requester]". Si esa cuenta existe y contiene una dirección, utiliza esa dirección como la dirección de reembolso; de lo contrario, crea la cuenta y una nueva dirección dentro de ella (desde el conjunto de claves ). Por lo tanto, puede encontrar la dirección de reembolso a través del getaddressesbyaccountcomando de la consola, pero la GUI no parece exponerla de otra manera.

Puede probar esto: hay un generador de solicitud de pago en línea para Testnet (y su fuente ). Si genera una solicitud, la abre con Bitcoin Core y envía el pago, encontrará que listaccountsmuestra una nueva cuenta llamada "Refund from www.bitcoincore.org", y getaddressesbyaccount "Refund from www.bitcoincore.org"le mostrará la dirección de reembolso que se generó y envió.

Eso es impresionante. +1