-
Al realizar transacciones en Bitcoin, poner comisiones bajas puede dejarlas trabadas sin confirmar.
-
RBF, CPFP y los aceleradores de transacciones son métodos que permiten destrabar las transacciones.
Este artículo fue escrito por Diego Gurpegui, ingeniero en sistemas de información y co-fundador de Improve-in. En esta guía, el bitcoiner y también voluntario de la ONG Bitcoin Argentina, nos explica tres métodos para lograr que nuestras transacciones trabadas en la red Bitcoin se confirmen o se aceleren.
¿Qué son las comisiones de los mineros de la red Bitcoin?
Cuando realizamos transacciones en Bitcoin aparece el concepto de comisión o fee, que se refiere a un monto que debemos pagar para que nuestra transacción sea incluida en un bloque de la cadena (el registro final de todas las transacciones) y, por lo tanto, aceptada como válida por el resto de la red. Hay que tener este concepto en cuenta para destrabar una transacción en Bitcoin.
Una de las primeras diferencias que uno encuentra cuando ingresa en este mundo, respecto al tradicional, es que esa comisión no es proporcional al monto que estamos transfiriendo, sino que depende del tamaño de la transacción; una idea extraña para quien no conoce las particularidades técnicas de Bitcoin. Para simplificar, podemos decir que el tamaño tiene una relación directa con la complejidad de dicha transacción (no es lo mismo transferir fondos a una persona, que a tres personas simultáneamente, por ejemplo, donde lo segundo es más complejo).
La razón principal por la cual esa comisión depende del tamaño de la transacción es porque la misma debe ser incluida en un bloque de tamaño limitado por parte de un minero. Al haber tamaño limitado, se presume que los mineros seleccionarán aquellas transacciones que les dejen mayor comisión, ya que son ellos quienes las recaudan.
Ahora bien, ¿por qué debe importarme todo esto? La respuesta es que resulta útil tener esta noción básica sobre las comisiones y el por qué de su existencia para entender que el importe de dichas tarifas se basa en el libre mercado, entre usuarios realizando transacciones y la competencia por encontrar su lugar en un bloque. Por consiguiente, no hay reglas ni valores determinados que nos aseguren la confirmación de nuestra transacción en un momento dado de manera final y absoluta. Una comisión elevada hoy puede ser una comisión muy baja el día de mañana.
Esta es una lección que muchos seguro han aprendido a la fuerza cuando una transacción les ha quedado “trabada” y pendiente de confirmación por más tiempo del que hubiesen querido (horas, días… ¡semanas!). Algunas veces por calcular mal, otras veces por apretar mal un botón y otras veces simplemente por alguna causa externa, como congestión en la red Bitcoin. En definitiva siempre es por culpa de no indicar suficiente cantidad de esos malditos (¿o benditos?… tema para otro artículo) fees.
Tabla de Contenidos
- ¿Qué son las comisiones de los mineros de la red Bitcoin?
- ¿Cómo destrabar o acelerar una transacción en Bitcoin?
- Reemplazar una transacción por comisión o RBF (Replace by Fee)
- Acelerar una transacción con CPFP (Child Pay For Parent)
- Aceleradores de transacciones de bitcoin (Transaction Accelerators)
- Resumen de las alternativas para destrabar una transacción en Bitcoin
¿Cómo destrabar o acelerar una transacción en Bitcoin?
Existen algunas técnicas y te vamos a explicar cada una de ellas a continuación.
Importante: vale aclarar que cuando hablamos de “wallets” (o monedero/billetera/cartera) nos referimos a wallets en control de los usuarios; no exchanges, no brokers ni cualquier sitio o plataforma donde se ingrese con un usuario y contraseña, y no se controlen las llaves privadas (esas 12 o 24 palabras, que llaman «semilla»).
Reemplazar una transacción por comisión o RBF (Replace by Fee)
TL;DR
Podemos reemplazar una transacción con baja comisión, por una nueva transacción que ahora sí incluya la cantidad de fees suficientes. La condición es que la primer transacción haya sido creada de una manera especial para que luego permita ser reemplazada.
Este método, que en español se llamaría “reemplazo por comisión”, fue diseñado específicamente para el fin que queremos alcanzar. Es decir, destrabar una transacción en Bitcoin. Esto permite, en pocas palabras, aumentar el fee de una transacción que ya fue enviada para así incentivar a esos mineros a que la incluyan en el próximo bloque.
Esto funciona volviendo a enviar la transacción original desde tu wallet, pero esta vez con una comisión superior de acuerdo al contexto de mercado en ese momento dado (las wallets suelen ayudar con este cálculo). Técnicamente hablando, la transacción no es exactamente la misma sino una muy similar que reemplaza la anterior, pero no es un detalle que deba preocupar al usuario promedio.
Esta solución parece ser ideal, pero depende de ciertas condiciones que deben cumplirse:
- La wallet usada debe soportar esta funcionalidad. Aquí hay una lista de diferentes wallets y el soporte que brindan a RBF.
- Segundo y MUY IMPORTANTE es que la transacción original (aquella que terminó teniendo baja comisión para ser incluida) debió estar marcada como “reemplazable” desde el inicio. Esta es la única manera en que la transacción pueda ser luego reemplazada por otra que tenga una comisión mayor.
Por estos motivos, algunas wallets deciden dejar activa la funcionalidad que indica que las transacciones son reemplazables por defecto. En este artículo se muestran algunos ejemplos de wallets con RBF.
Tengo dos comentarios respecto a esta funcionalidad. Primero, su existencia no constituye una regla obligatoria en la red de Bitcoin, por lo que su correcto funcionamiento depende de que gran parte de dicha red la asuma válida (de todas formas esto hoy no es un problema). Y, segundo, dada la naturaleza de su funcionamiento, es importante que si uno está del lado receptor de pago con una transacción RBF, espere algunas confirmaciones antes de tomarlo como válido. Esto se puede ver claramente en algunas empresas de servicios como casas de cambio que, cuando reciben pagos con transacciones que utilizan RBF, suelen esperar 6, 10 o más confirmaciones para considerar el pago realizado.
Acelerar una transacción con CPFP (Child Pay For Parent)
TL;DR
Aprovechando la necesaria secuencia que deben seguir las transacciones (primero recibo para luego gastar) y los incentivos económicos de los mineros, enviamos una segunda transacción que gasta fondos de la primera que fue trabada. Sólo que en esta segunda transacción incluimos comisión suficiente para ambas transacciones.
Cuando no tenemos a disposición una funcionalidad específica para destrabar o acelerar una transacción, existe un mecanismo que se aprovecha de las reglas existentes de Bitcoin y del comportamiento esperado de los actores involucrados.
Antes de adentrarnos, primero hay que entender que en Bitcoin (o cualquier sistema de transacciones monetarias), una transacción que gasta fondos debe ser temporalmente posterior a aquella en la que los fondos son recibidos. Es decir, no podemos enviar fondos que no tenemos (elemental, ¿no?). Además, podemos asumir que los mineros, que son quienes construyen bloques e incluyen las transacciones dentro de estos, van a operar de acuerdo a lo que les genere mayor rentabilidad económica.
Entonces, ¿de qué nos sirve este conocimiento para destrabar nuestra transacción?
Supongamos que nuestra transacción tiene una comisión de 1 satoshi por byte o sat/byte (costo por peso) y no logra ser tomada por ningún minero. Revisamos nuestra wallet, o sitio de confianza, y vemos que la comisión promedio en la red es de 30 sat/byte por transacción, con lo cual nos damos cuenta que quedamos muy por debajo. A continuación, aprovechando lo que describimos hace un momento, emitimos una nueva transacción que mueve fondos recibidos de la primera pero con una comisión mucho mayor, de 59 sat/byte.
Esta segunda transacción ya capta el interés de los mineros, pero ellos no podrán incluirla en un bloque sin incluir antes la primera transacción, ya que, si no, la segunda sería inválida, pues depende de la primera. Los mineros ven que la primera transacción tiene un fee de 1 sat/byte y la segunda de 59 sat/byte, lo que en total da una comisión de 60 sat/byte para dos transacciones. Suena razonable para los valores de mercado, entonces los mineros las tomarán para incluirlas en el bloque.
Si se entendió el procedimiento anterior pueden surgir algunas dudas: ¿cómo hago, si no quiero mover los fondos de la primera transacción?, ¿cómo podría mover los fondos de la primera transacción, si no me los enviaron a mí?
Las preguntas pueden responderse con dos conceptos: el primero contempla el hecho de que en Bitcoin uno puede hacerse transacciones a uno mismo. El segundo se sustenta en la idea de “cambio” o “vuelto” en las transacciones. El “vuelto” existe en Bitcoin ya que las monedas de salida en una transacción no pueden ser partidas sino que deben gastarse en su totalidad, similar a como sucede con los billetes de la moneda papel (que no recomiendo partir en pedazos). Esto se relaciona con el concepto de UTXO, el cual no vamos a profundizar aquí pero son libres de investigar más.
Vamos a un ejemplo concreto y visual en donde Bruce tiene 2000 y desea transferir 1300 a Clark (cualquier similitud con nombres de superhéroes es pura coincidencia). La transacción 1 salió con una comisión muy baja, entonces Bruce emplea CPFP y emite una segunda transacción a partir de su vuelto para lograr que la transacción 1 sea incluida en un bloque:
Como vemos en el gráfico, la transacción hija paga su comisión y la del padre. Nótese también cómo, dentro de una misma transacción, los valores de entrada deben coincidir con los valores de salida más el fee.
La ventaja de este mecanismo es que no dependerás de ninguna funcionalidad adicional previamente configurada y puede efectuarse en casi cualquier escenario.
Si bien CPFP puede realizarse manualmente por cualquier usuario (utilizando wallets como Electrum, Bitcoin Core o herramientas como Bitcoin Forge, con el debido cuidado), puede ser muy complejo para aquellos no experimentados. Por lo tanto, lo más sencillo es aprovechar alguna de las wallets que soportan esta funcionalidad y permiten al usuario usar CPFP de manera más amigable, con solo presionar algunos botones. Algunas wallets que soportan esta funcionalidad de manera explícita son:
- Electrum (Linux, Windows, OSX, Android)
- Samourai Wallet (Android)
- Blue wallet (Android, iOS)
- Mycelium (Android)
Aceleradores de transacciones de bitcoin (Transaction Accelerators)
TL;DR
Si le pagamos una comisión extra a algunos mineros, ellos estarán dispuestos a incluir nuestra transacción en el siguiente bloque que minen.
Cuando ningún método propio del sistema (protocolo) funciona para destrabar una transacción en Bitcoin, solo nos queda recurrir directamente a los mineros y pedir por favor que nos incluyan la transacción. Y cuando decimos “pedir por favor” en realidad queremos decir, en muchos casos, “pagar el precio correspondiente”.
Los aceleradores de transacciones son, en casi todos los casos, herramientas web que brindan un servicio cuyo objetivo es lograr que esa transacción “trabada” que aún no se confirma, logre hacerlo más rápido. Para ello uno debe proporcionar su ID de transacción (o TX ID en la jerga), que usualmente se obtiene de la wallet que uno esté utilizando cuando se consulta dicha transacción, o a través de algún blockchain explorer (explorador de bloques), indicando la dirección que envía o recibe fondos.
Una vez proporcionado el ID de transacción para que el acelerador sepa con qué se enfrenta, la solución consiste en alguna de estas dos técnicas: la primera es simplemente propagar la transacción en cuestión una y otra vez para que la misma llegue a “ojos” de los mineros con mayor frecuencia e insistencia y la segunda es que un minero particular incluya intencionalmente la transacción en el próximo bloque a minar. La primer alternativa suele ofrecerse de manera gratuita, no necesariamente es ofrecida por mineros, y puede no ser muy efectiva; mientras que la segunda, como podrán imaginarse, viene con un precio asociado ya que el minero querrá ser compensado por incluir una transacción con una comisión tan baja que de otra forma no hubiese tenido en cuenta.
Algunos de los aceleradores conocidos son:
- https://bitaccelerate.com
Propaga la transacción y es gratuito. - https://cryptocurrency360.com/bitcoin-accelerator/
Propaga la transacción y es gratuito. - https://pushtx.btc.com
Corresponde al pool de minería BTC.com y es pago. - https://pool.viabtc.com/tools/txaccelerator
Corresponde al pool de minería ViaBTC y es pago. - https://pushtx.com
Corresponde al pool de minería Poolin y es pago.
Siendo este tipo de soluciones un mecanismo que depende fuertemente de terceras partes, y en algunos casos incluso con desembolso de dinero de manera anticipada, es recomendable realizar una buena investigación previa para ser consciente de lo que se va a hacer y, sobretodo, elegir aquel prestador de servicio con mejor reputación, que no haga que luego te arrepintas de haber pagado.
Resumen de las alternativas para destrabar una transacción en Bitcoin
Aquí un breve resumen para decidir cuándo utilizar cada mecanismo para destrabar una transacción en Bitcoin:
Método | Requiere preparación | Costo | Depende de terceros | Herramientas necesarias |
RBF | Sí | Sólo nuevas comisiones | No | Soporte wallet |
CPFP | No | Sólo nuevas comisiones | No | Soporte wallet/web |
TX Accelerator (propagación) | No | Gratuito | Sí | Sitio web |
TX Accelerator (pool/minero) | No | Precio indicado por el pool/minero | Sí | Sitio web |