Replace-by-Fee (RBF)
Un mecanismo que permite a quien envía retransmitir una transacción sin confirmar con una comisión más alta, reemplazando la transacción original en el mempool.
Traducción hecha con ayuda de IA, pendiente de revisión humana. Lee el original (en inglés).
Replace-by-Fee (RBF, reemplazo por comisión) es una política del mempool que permite a quien envía retransmitir una transacción atascada con una comisión más alta, reemplazando la original.
Definido en el BIP 125 (en inglés) e incluido en Bitcoin Core 0.12.0, el RBF opcional (opt-in) funciona así: la transacción original señala que es reemplazable poniendo en al menos una de sus entradas un valor de nSequence de 0xfffffffd o menor (al menos dos por debajo del máximo). Si la congestión deja tu transacción atascada, puedes construir una transacción nueva que:
- Gaste al menos uno de los mismos UTXOs.
- Pague al menos tanta comisión absoluta como todo lo que reemplaza, más un extra suficiente para cubrir el ancho de banda que consume su propia retransmisión.
- Pague una tasa de comisión más alta que la original. (Esta regla es política de Bitcoin Core y no del BIP 125; desde Bitcoin Core 31.0 la prueba formal es que el reemplazo debe dejar el diagrama de tasas de comisión del mempool estrictamente mejor que antes.)
Los nodos que aceptan el reemplazo descartan la transacción vieja de su mempool y se quedan con la nueva. Los mineros, que buscan la tasa de comisión más alta, tienen más probabilidades de incluir la tuya.
Qué ganas con RBF:
- Recuperarte de una comisión que se quedó corta. Calculaste la comisión en un momento tranquilo y te agarró la congestión; subes la comisión y sigues adelante.
- Confirmación más rápida cuando cambia la urgencia. Necesitabas que se confirmara barato y de pronto necesitas que se confirme ya.
Qué cuesta:
- La confiabilidad de los pagos sin confirmación (zero-conf). Quien recibe y ve "sin confirmar en el mempool" ya no puede dar por hecho que la transacción no será reemplazada. Las transacciones que señalan RBF lo admiten de forma explícita. (Las que no lo señalaban tuvieron en su momento una posición algo más firme como pagos sin confirmación, pero Bitcoin Core retransmite por defecto los reemplazos de transacciones sin señal desde la versión 28.0, en octubre de 2024, y la 29.0 eliminó la opción.) Consulta Full RBF (en inglés).
La interfaz gráfica de la billetera de Bitcoin Core señala RBF por defecto desde la versión 0.16.0 (2018). Los comercios que antes aceptaban pagos sin confirmación solo de transacciones sin señal perdieron esa protección cuando el full RBF (el reemplazo sin importar la señal) pasó a ser el comportamiento por defecto; lo seguro es esperar la primera confirmación. Consulta Subir la comisión (fee bumping) para el concepto general: RBF es un método y Child Pays for Parent (CPFP, el hijo paga por el padre) es el otro.
Ideas clave
- Permite subir la comisión de transacciones sin confirmar
- Da más control al usuario cuando el mempool está congestionado
- Reduce la confiabilidad de los pagos sin confirmación (zero-conf)
Capítulos relacionados
Fuentes (6)
- BIP 125 - Opt-in Full Replace-by-Fee Signaling: a transaction opts in if any input has an nSequence less than 0xffffffff - 1; a replacement must pay at least the absolute fee of the originals plus enough to cover its own bandwidth at the minimum relay fee; no known wallet signaled by default when the BIP was written
- Bitcoin Core - doc/policy/mempool-replacements.md: the current rules (absolute fee, incremental relay feerate, cluster limit, and from 31.0 a strictly improved feerate diagram), with the signaling and new-unconfirmed-input rules removed; opt-in RBF honoured in mempool and mining since 0.12.0; full RBF the default since 28.0
- Bitcoin Optech - Replace-by-fee (RBF) topic: a node policy that lets an unconfirmed transaction be replaced by one that spends at least one of the same inputs and pays a higher fee; full-RBF replaces whether or not the original signaled
- Bitcoin Core 0.16.0 release notes (February 26, 2018): the GUI send screen uses BIP 125 RBF by default
- Bitcoin Core 28.0 release notes (October 2, 2024): the default of -mempoolfullrbf changed from 0 to 1
- Bitcoin Core 29.0 release notes (April 14, 2025): the -mempoolfullrbf option removed, making full replace-by-fee the standard behavior
Referencias externas (2)
Términos relacionados (4)
Publicado el . No hay correcciones registradas para esta página.
Editar esta página en GitHub