Creé una transacción (utilizando el saldo total de una salida) con Bitcoin Core Wallet (ejecutándose como nodo completo). La transacción entró en el mempool de los nodos principales, como se esperaba. Establecí la tarifa a lo que el cliente recomendó para una transacción lenta (poco más de 9 sat/B), pero en estos días resulta muy baja. Dado el estado actual del mempool en honicke , esto puede obtener confirmación en semanas, en todo caso.
Inicialmente, deliberadamente, configuré la transacción en "Solicitar reemplazo por tarifa", y quiero aumentar la tarifa ahora . Esperaba tomar una parte de la "cantidad objetivo" y usarla como tarifa, dejando igual la cantidad total de la transacción (todavía gastando la producción completa en total)
Sin embargo, esto no parece ser posible por diseño. Recibo un "Error de aumento de tarifa" que dice "Falló el aumento de la tarifa de transacción (la transacción no tiene una salida de cambio)".
¿Por qué no puedo cambiar el saldo objetivo/tarifa de una transacción y cómo debo aumentar la tarifa en este momento?
Summary
Size 1xx (bytes)
Weight 7xx
Lock Time Block: 49xxxx
Inputs and Outputs
Total Input 0.01xxxxxx BTC
Total Output 0.01xxxxxx BTC
Fees 0.00001xxx BTC
Fee per byte 9.xxx sat/B
Fee per weight unit 2.xxx sat/WU
Estimated BTC Transacted 0.019xxxxx BTC
Tanto las direcciones de entrada como las de salida comienzan con "1"
Las transacciones BIP125 RBF (Replace-by-fee) en bitcoin-core 0.15.0.1 parecen requerir un cambio de dirección con un saldo para facilitar un futuro aumento de tarifa basado en RBF.
A modo de ejemplo, considere la siguiente transacción:
Input - 1.00000 BTC
Output - 0.99998 BTC
Fee - 0.00001 BTC
Change - 0.00001 BTC
Suponga que la tarifa es demasiado baja. Ahora, queremos aumentar la tarifa de la transacción, por lo que el RBF reemplaza la transacción anterior con una como:
Input - 1.00000 BTC
Output - 0.99998 BTC
Fee - 0.00002 BTC
Change - 0.00000 BTC
Ahora la tarifa es suficiente para que se confirme la transacción.
Sin el "cambio" presente en la primera transacción, no hay fuente para el aumento de la tarifa. RBF podría implementarse de tal manera que la producción se reduzca para permitir una tarifa mayor; No estoy seguro de por qué eso no es compatible. La línea 2928 del código fuente de wallet.cpp en el repositorio bitcoin-core github dice:
break; // Done, able to increase fee from change
La forma de evitar este problema para una transacción que tiene RBF habilitado, pero no tiene una dirección de cambio es seguir las instrucciones contenidas en una de las respuestas en la pregunta canónica "la transacción no se confirma" . Experimenté el problema exacto la semana pasada y pude recuperarme con éxito usando la -zapwallettxes
opción en la CLI de la billetera bitcoin-core.
monstruo