¿Dónde se almacena el cambio de la salida?

Estoy aprendiendo que Bitcoin no tiene una forma de representar el saldo de la cuenta, sino que es, más bien, una suma de UTXO propiedad de los usuarios de la clave privada. Entonces, ¿dónde se almacena el cambio de la salida?

Lo que quiero decir es que cuando la salida de una transacción se usa como entrada de otra transacción, debe gastarse en su totalidad. A veces, el valor de la moneda de la salida es más alto que lo que el usuario desea pagar. En este caso, el cliente genera una nueva dirección de Bitcoin y envía la diferencia a esta dirección.

¿Se vuelve a almacenar el cambio en UTXO?

Respuestas (1)

Cuando un remitente crea una transacción, define explícitamente qué piezas de bitcoin gasta. Llamamos a estas piezas de salidas de transacciones no gastadas de bitcoin (UTXO) y puede pensar en el conjunto de UTXO como el libro mayor distribuido de saldos de Bitcoin. El estado de las UTXO es ternario: o no existen todavía, están disponibles para gastar o se han gastado. No puede deducir de un UTXO, deben gastarse por completo en una transacción.

Los gastadores eligen explícitamente las entradas de la transacción haciendo referencia a la UTXO a través de su punto de salida único txid:voutque se deriva de la transacción que creó la UTXO que se gastará y su posición en la lista de salida.

Después de declarar que se gastó la UTXO, el gastador tiene un saldo asignable a la suma del valor total de las entradas. El gastador asignará explícitamente el valor de los insumos consumidos a nuevos productos. Los fondos no asignados se consideran tarifas de transacción y serán cobrables por el minero que incluye la transacción en un bloque.

Esto significa que el total de los fondos asignados es menor o igual que el valor de los UTXO gastados, y el resto es la tarifa de transacción. Lo siguiente es cierto para las transacciones que no son de base de monedas :

  • Σ(outputs) ≤ Σ(inputs)
  • transaction fees = Σ(inputs) - Σ(outputs)

Por lo tanto, solo se definen explícitamente las entradas y salidas de las transacciones. La tarifa de transacción está implícitamente definida por las entradas y salidas.

De ello se deduce que una transacción simple que se envía a un solo destinatario generalmente tendrá dos salidas:

  • una salida del destinatario para realizar el pago
  • una salida de cambio para devolver los fondos restantes de las entradas al remitente

Tomé una transacción aleatoria de blockchair.com para visualizar:

transacción con una entrada y dos salidas de las cuales una tiene un monto de número redondo

Si la billetera de Alice no hubiera creado la salida de cambio para sí misma, Alice habría pagado 11,044... BTC en tarifas adicionales. ;)

Tenga en cuenta que simplemente estoy suponiendo que 610 BTC es la salida del destinatario debido al número redondo, no estoy íntimamente familiarizado con esta transacción.

Lo siento, soy nuevo en Bitcoin, ¿podría dar más detalles? Parece que input - output - fee = 0en este caso si no me equivoco. ¿Qué pasa si la entrada es mayor que la suma de la salida y la tarifa, y el cambio se devuelve al remitente, dónde se almacena este saldo dentro de un bloque?
La tarifa es implícitamente igual a (entrada - salida), no se almacena explícitamente. Entonces, literalmente, no hay forma de escribir una transacción donde (entrada - salida - tarifa = 0) no se cumple.
Gracias por su respuesta. ¿Qué significa decir "A veces, el valor de la moneda de la salida es más alto que lo que el usuario desea pagar" desde aquí entonces? es.bitcoin.it/wiki/Change
¿Esa oración sobre "cambio" implica que entrada - salida = tarifa + cambio?
No. El cambio es una salida agregada explícitamente por el creador de la transacción. Desde la perspectiva del protocolo, es solo una salida, indistinguible de otras salidas que realmente realizan el pago. Si las entradas son más grandes que las salidas + tarifas que el usuario quiere pagar, su billetera debe (y generalmente lo hará automáticamente) agregar una salida de cambio para compensar.
@Kevvv: Edité un poco mi respuesta para explicar mejor la pregunta que hiciste.