¿Se genera una nueva clave privada en cada transacción?

Entonces, imagina que compré 1 BTC, entonces tengo mi clave privada generada por mi billetera en línea y también mi clave pública que puedo dar a personas/amigos. Mi pregunta es, si me gasto 0,5 para comprar Manzanas en una web?

¿Cómo funciona?

1) Solo se envían 0,5 BTC al sitio web, todavía tengo 0,5 BTC en la clave privada A

2) Se envía un total de 1 BTC a través del protocolo, por lo que se me devuelve el cambio. ¿En qué tecla? ¿Clave A donde tenía 1 BTC? ¿O uno nuevo generado? (Tecla B)

Gracias :)

Dado que está utilizando blockchain.info como su proveedor de billetera, probablemente sea mejor si les pregunta cómo se administran sus claves o si lee sus preguntas frecuentes.
Realmente no estoy seguro de qué se supone que se trata esta pregunta. 1) ¿Está preguntando si blockchain.info reutiliza direcciones para cambios de salida? 2) ¿Está preguntando si puede haber más de una dirección por clave privada? 3) ¿Generalmente pregunta acerca de las billeteras que administran múltiples direcciones?
Hola pregunto: tengo 1 BTC compro algo a 0.5 BTC. ¿Dónde irá el cambio de 0.5 en mi billetera?
Alguien más me dijo que no hay cambios, así que si tienes 1 BTC en la dirección A, quieres gastar 0,5, lo gastas y todavía tienes 0,5 BTC en la dirección A.

Respuestas (2)

Cada clave privada tiene exactamente una clave pública correspondiente y cada clave pública tiene una dirección. Cada vez que se genera una nueva dirección, internamente eso significa que se generan una nueva clave privada y una clave pública. Tenga en cuenta que con BIP32 y BIP44, las claves privadas se pueden generar de manera determinista a partir de una clave maestra o una semilla, en cuyo caso no es necesario guardar estas nuevas claves privadas; solo se pueden regenerar a partir de la semilla o maestra cuando sea necesario.

Se usa un nuevo par de claves para cada cambio en la mayoría de las billeteras, pero eso se hace internamente: no le mostrará la dirección de esos, ya que no es necesario que nadie más le envíe dinero a eso.

Crear direcciones es muy barato. Una CPU moderna puede generar miles por segundo. Tampoco requiere ninguna interacción con la red. Todo lo que se necesita es generar 32 bytes de datos aleatorios y calcular su punto de curva elíptica correspondiente.

Ok, gracias, pero ¿significa que todavía conservo mi PRIMERA (misma) clave privada de mi billetera con el cambio que recibí? (internamente deberían haberlo devuelto a mi primera dirección) ¿verdad?
no entiendo tu comentario
"Se usa una nueva clave para cada cambio en la mayoría de las billeteras, pero eso se hace internamente" ¿qué clave? una nueva privada? o publico?
Editado al par de llaves. Cada clave privada tiene una clave pública (ignorando la codificación) y viceversa.

Si todo el 1BTC estuviera en una Salida de transacción no gastada (UTXO), entonces enviaría todo el 1BTC como entrada en una transacción y asignaría esto a dos nuevas salidas: 0.5BTC para realizar su pago y 0.5BTC para devolver su cambio a ti mismo.

Si el 1BTC se dividió en varias Salidas de transacciones no gastadas, entonces puede tener una combinación que equivalga exactamente a 0.5BTC, por ejemplo, podría usar 0.1BTC+0.2BTC+0.2BTC. Entonces no se crearía ninguna salida de cambio.

Ya sea que envíe el cambio a la misma dirección que antes o a una nueva dirección, depende del creador de la transacción. Sin embargo, la mayoría de las billeteras evitan reutilizar la misma dirección de forma predeterminada, por lo que la salida del cambio se envía a una nueva dirección.

¡Ok, gracias! Pero de cualquier manera, todo lo hace automáticamente la billetera, ¿verdad? ¿No necesito preocuparme por si el BTC estaba o no en una salida de transacción no gastada (UTXO)? Sin embargo, ¿cuándo es realmente útil saber eso?
Sí, este tipo de gestión es exactamente el propósito del software de billetera. Puede ser interesante para usted conocer su UTXO si está microgestionando su privacidad.