El Replace by Fee (RBF) es una útil característica de Bitcoin y otras criptomonedas que nos deja acrecentar las fee de una transacción después de que esta haya sido efectuada para agilizar así su confirmación.

El reemplazo por tarifa o bien Replace by Fee (RBF), es un procedimiento que nos deja poder reemplazar una transacción, ya antes de ser confirmada, por otra versión con una tarifa más elevada.

Es realmente útil y práctica en casos donde se manda una transacción y esta tarda mucho en confirmarse. Así se puede mandar una nueva transacción a fin de que sea priorizada por los mineros. Además de esto se inutiliza la precedente al compartir exactamente las mismas entradas. De esa forma, podemos acrecentar la tarifa de comisión que vamos a pagar a los mineros, a fin de que estos agilicen la confirmación de esa nueva transacción, quedando la otra inútil.

Imagine que efectuó una transacción para abonar por un producto que precisa urgente, y que su vendedor no lo mandará hasta el momento en que se confirme la transacción. Mas en el instante en que efectuó la trasferencia, escogió una tarifa de comisión más baja de la aconsejable en ese instante. Con lo que han pasado horas y su transacción prosigue sin confirmar.

En este caso puede emplear la opción de Replace by Fee (RBF). Solo debe crear una nueva transacción con exactamente la misma cantidad de criptomoneda que trasfirió originalmente. Y mandarla a exactamente la misma dirección, mas con una tarifa más alta. Con lo que los mineros se van a ver motivados por dicha comisión, y procesarán la transacción inmediatamente. De esta forma va a poder percibir su producto sin más ni más demoras.  La transacción inicial es invalidada y con esto no supone un nuevo gasto para .

¿De qué forma marcha el proceso de Replace by Fee (RBF)?

En realidad, cuando aplicamos el Replace by Fee (RBF), no estamos incrementando la tarifa de la transacción que efectuamos y está sin confirmar. En su sitio, creamos una nueva transacción con exactamente las mismas entradas y salidas que la precedente, mas con una comisión considerablemente más alta. Con lo que los mineros le van a dar prioridad a esta, incluyéndola en un bloque de forma más veloz.

En este caso lo esencial son las entradas sin gastar que se utilizan. Si las dos transacciones comparten exactamente las mismas entradas, una vez sean gastadas en una transacción, la segunda va a ser omitida por los mineros, puesto que anteriormente tras tomar la transacción del mempool examinan que sea válida la transacción, y entre las comprobaciones se halla repasar que las entradas no hayan sido gastadas en otra transacción ya confirmada o bien en exactamente el mismo bloque que se está confirmando.

Cuando efectuamos una transacción, nuestra wallet nos enseñará una sugerencia de la comisión que se debería abonar conforme la prioridad que tenga nuestra transacción y la velocidad con la que deseamos que se confirme. Mas la red puede sobrecargarse en cuestión de minutos, con lo que nuestra fee puede ser deficiente segundos tras haber mandado la transacción.

Esto hace que nuestra transacción se quede atascada en la mempool de la red. Por este motivo, la implementación de Replace by Fee (RBF) es una enorme opción alternativa de solución a esta problemática. En tanto que el usuario cambia la transacción atascada por otra que incluya una tarifa más alta, a fin de que sea procesada y confirmada en internet. Así se puede combatir la congestión de la red. Una situación que producía cientos y miles y miles de transacciones atascadas en la mempool. Y si bien no es solución perfecta, si soluciona en parte la problemática de las transacciones.

No obstante, esta alternativa solo deja reenviar una transacción a exactamente la misma dirección de destino. Con la diferencia la de que la comisión a abonar ha de ser mayor. Un proceso similar lo podemos ver en las Child Pays for Parents (CPFP) que explicamos en otro gran articulo de nuestra Academy.

¿Cuánto sabes, criptonauta?

¿Es posible utilizar Replace-by-Fee para efectuar ataques de doble gasto?

¿En qué momento es intercambiable una transacción?

El proceso de Replace by Fee (RBF) está basado en las próximas normas:

  1. Las transacciones originales no han de estar confirmadas. Y deben apuntar su capacidad de remplazo de forma explícita o bien a través de herencia. O sea, si ciertas entradas de la transacción original tiene un número nSequence menor que (0xffffffff – 1). O, que sus transacciones predecesoras señalen la capacidad de remplazo (herencia).
  2. La nueva transacción creada para el remplazo solo puede incluir una entrada no confirmada, si esta estaba incluida en la transacción original.
  3. La comisión de la nueva transacción es superior a la de la transacción original.
  4. Cuando el número de transacciones a sustituir no supere las cien de ellas.
  5. El remplazo de transacciones es un proceso opcional. Hoy en día ninguna wallet viene configurada por defecto para efectuar remplazos. Como tampoco lo están para efectuar remplazos por herencia.