¿Cómo puedo dividir de manera efectiva las salidas grandes en otras más pequeñas?

Tengo una billetera que paga muchas cantidades pequeñas en el rango de 0.x a 5 BTC. Llené la billetera con una transacción de 50 BTC, por lo que solo contiene una entrada grande. Ahora, cuando transfiero 0,5 BTC a cualquier lugar, la transacción tiene dos salidas: 0,5 para el receptor y 49,5 de cambio. El problema es que mientras esta transacción no se confirme, la billetera está más o menos bloqueada, ya que solo contiene 49.5 de saldo sin confirmar .

Así que básicamente termino con una transacción por bloque, ya que necesito esperar a que se confirme el cambio hasta que pueda crear el siguiente tx.

Editar: tenga en cuenta que estoy usando la API rawtransactions y cuando construyo una transacción solo quiero usar salidas confirmadas (del comando "listunspent") como entradas para el nuevo tx.

¿Cuál es la mejor manera de dividir la gran producción en la billetera en algo como, por ejemplo, 10 * 5.0 BTC?

Pensé que el cliente Bitcoin-Qt le permitirá gastar su propio cambio incluso si no tiene confirmaciones. ¿Está seguro de que no puede crear otra transacción de gasto?
Disculpa, no fui del todo clara con mi pregunta. Estoy usando la API rawtransactins y cuando selecciono puntos de salida para una transacción (desde el comando "listunspent") busco explícitamente puntos de salida con >= 1 confirmación. Pero incluso si el cliente original permitiera gastar el cambio sin confirmar, ¿no tomaría mucho más tiempo confirmarlo?
@TripleSpeeder: ¿Por qué tomaría más tiempo confirmarlo? En la mayoría de los casos, las transacciones se confirmarán tan pronto como se encuentre un bloque.
@TripleSpeeder: el término estándar es "salidas".
@Meni: Siempre tuve la impresión de que usar cadenas de transacciones no confirmadas es bastante arriesgado. Entonces, si la primera transacción nunca obtiene una confirmación por algún motivo, todas las transacciones que usen el cambio de la primera transacción como entrada tampoco se confirmarán nunca. Entonces, probablemente no tomará más tiempo obtener la confirmación, pero existe un mayor riesgo involucrado. Si este es el caso, me sorprende que el cliente original lo permita.
@TripleSpeeder: el cliente estándar solo permite gastar su propio cambio; no permite gastar transacciones no confirmadas desde el exterior (eso, sin embargo, también está permitido por protocolo). Supongo que esta limitación se debe a preocupaciones como las que describiste. Aunque no creo que el efecto sea muy fuerte. En el uso normal, el gasto de monedas no confirmadas será raro incluso si está permitido; por lo tanto, el quid del riesgo de doble gasto está en el último remitente de todos modos.

Respuestas (1)

El protocolo y el cliente estándar le permiten gastar su propio cambio sin confirmar. Multibit no permitió esto, pero creo que es una característica agregada recientemente o pronto.

Al construir su transacción manualmente, hay pocas ventajas en elegir salidas confirmadas.

Si desea dividir sus salidas, puede hacerlo con una transacción sendmany. La GUI de Bitcoin-qt le permite hacer esto ("Agregar destinatario"), que puede escalar a varias salidas. Para una mayor cantidad de salidas, puede generar el comando mediante programación y ejecutarlo con la línea de comando.

Bitcoin-qt no le permite pagar una dirección varias veces en la misma transacción. Parece haber poca justificación para eso, y puede ser posible con la API de transacciones sin procesar. Alternativamente, puede generar varias direcciones y dividir la cantidad entre ellas.