El termino Child Pays For Parent o bien CPFP, hace referencia a una transacción que nos deja impulsar la confirmación de una transacción “atascada” en el mempool de una criptomoneda. Esto debido a que esta tiene bajísimo fee de minería y por lo tanto no tiene prioridad para los mineros.

Las transacciones del tipo Child Pays For Parent (CPFP) son aquellas en las que se crea una transacción con una tarifa de minería más alta, a fin de que al mandarse a la red esta nueva transacción fuerce la confirmación de otra transacción precedente todavía sin confirmar. Esto con la intención de estimular a los mineros a que efectúen la confirmación de esas transacciones de forma considerablemente más veloz.

Aunque su término parezca muy afín a las transacciones de remplazo por tarifa (Replace By Free) no deben confundirse con esta. En tanto que en las transacciones CPFP no se inutiliza la transacción precedente, sino por contra, ha de ser confirmada al lado de la nueva transacción creada. Además de esto, en CPFP la transacción secundaria únicamente es creada para motivar a los mineros a procesar y confirmar las dos transacciones, y de esta forma poder percibir la comisión asociada. Por esta razón, se conocen como “el pequeño paga por el padre”.

¿De qué forma marchan las transacciones Child Pays For Parent?

Cuando una transacción continúa sin confirmar en la blockchain de Bitcoin, mientras que aparecen nuevos bloques, se debe, eminentemente, al pago de una tarifa deficiente. Es se aprecia singularmente cuando la red está congestionada. En estos instantes de congestión o bien de alta demanda, los mineros priorizan solo aquellas transacciones que tienen una tarifa de comisión alta o bien ligerísimamente admisible. Con lo que aquellas transacciones con una comisión bajísima pueden quedar atascadas y sin confirmar en la mempool de Bitcoin por múltiples días, e inclusive semanas. Dejando a sus receptores a la espera de los fondos transferidos por un tiempo indefinido.

Para solventar esto, se incorpora el procedimiento Child Pays For Parent (CPFP), donde el usuario de la transacción sin confirmar puede crear una nueva transacción, famosa como transacción hija. En ella va a deber poner una comisión de transacción considerablemente más alta que la transacción original.

Esta nueva transacción CPFP empleará este saldo generado por la transacción primordial sin confirmar para crear una nueva transacción que lleve dicho saldo a una nueva dirección. O sea, si un usuario crea una transacción para mandar X cantidad de fondos, y tiene en su monedero un tanto más que esos fondos, el monedero va a crear de manera automática dos salidas. La primera para mandar X cantidad de fondos al receptor, y la segunda para percibir las vueltas o bien el cambio de dicha transacción.

Recordemos que en las transacciones de Bitcoin, todas y cada una de las salidas han de ser gastadas. Esto es posible merced a que la primera transacción produjo una transacción de envío de criptomoneda. Mas al tiempo nos devolvió una determinada cantidad de criptomoneda no utilizada a una dirección de cambio bajo nuestra posesión. Esta cantidad de criptomonedas no utilizadas recibe el nombre de salida de transacción no gastada o bien UTXO. En resumen, una CPFP lo que utiliza es nuestro saldo UTXO para producir una nueva transacción con mayor fee de minería con la intención de apresurar la confirmación de la transacción inicial.

Entonces, si esa operación queda sin confirmar, el usuario puede crear una transacción hija (CPFP) asociada a la transacción padre, donde mandará esas vueltas o bien cambio a otra dirección propia. Lo esencial es que esta nueva transacción dispondrá de una tarifa de comisión atractivísima para los mineros y que cubra la comisión precisa para procesar las dos transacciones.

En el instante en el que los mineros vean la transacción secundaria, se van a sentir atraídos a confirmarla para cobrar la tarifa de comisión que tiene asociada. Mas no van a poder confirmar dicha transacción de forma independiente, sin ya antes confirmar en primer lugar la transacción primordial. Con lo que valorarán y comprobarán la transacción secundaria para poder ver si esta dispone de las tarifas precisas para cubrir las dos transacciones.

Una vez que los mineros verifiquen esto, optarán por agregar la transacción primordial al siguiente bloque minado, y de esta forma poder confirmar asimismo la transacción secundaria. Para cobrar la tarifa de comisión incluida en esta, y que es admisible para procesar las dos transacciones.

¿Cuánto sabes, criptonauta?

¿Esta funcionalidad deja efectuar ataques de doble gasto?

¿Qué clientes del servicio o bien monederos incluyen la opción CPFP?

Entre las wallets más empleadas que dejan la creación de una transacción Child Pays For Parent (CPFP) se hallan el usuario original Bitcoin Core, o bien la wallet de Electrum, entre otras muchas. Y si bien en estas no aparezca la función CPFP como tal, sí se pueden mandar los UTXO de la transacción original cara otra dirección propia diferente. Incluyendo, evidentemente, las comisiones precisas para cubrir las dos transacciones, con lo que se estaría creando una transacción CPFP.

Esta función es realmente útil para aquellas wallets que no cuentan con un mecanismo definido que deje apresurar la confirmación de un transacción en espera. Con lo que con producir una transacción secundaria se puede activar CPFP.

Este procedimiento tampoco implica ningún proceso complicado o bien bastante difícil, al revés, se trata de uno bastante fácil y simple de aplicar. Está basado en las reglas del protocolo de Bitcoin, y en conocer el comportamiento natural de los mineros. Y es que los mineros evidentemente optarán por procesar de forma veloz aquellas transacciones con tarifas de comisión considerablemente más altas.