Con el fin de reducir los costos de comisiones por cada transacción con bitcoins, la billetera Xapo ha consolidado alrededor de 4 millones de transacciones de salida no gastadas mediante pagos en lotes o batching.
La información fue difundida en un boletín este lunes, donde el desarrollador de Bitcoin Core, Anthony Towns, analiza los beneficios que derivan de dicha consolidación.
Las siglas UTXO hacen referencia a una transacción de salida no gastada (Unspent Transaction Output). Para entender qué es una UTXO, se puede comparar el funcionamiento de una billetera de bitcoins con una billetera de monedas fiduciarias. En esta última, las unidades no tienen una huella única, por lo tanto, se mezclan indistintamente una vez son recibidas.
En un monedero de bitcoins, en cambio, cada monto de salida es independiente de otros montos recibidos. Así, si un usuario recibe en su billetera 0,01 btc, 0,09 btc y 0,07 btc, puede ver un monto total de 0,17 btc, pero cada uno de estos montos se guarda separado de los demás, y puede comprobarlo al consultar el detalle de sus transacciones. Estos montos, a su vez, provienen de transacciones previamente realizadas.
En caso de que dicho usuario deseara enviar a otra dirección un total de 0,007 btc, la cartera seleccionaría a alguna de las salidas disponibles, por ejemplo, la de 0,01, y de ella quedaría un “cambio” de 0,003 que volvería a su cartera con una nueva dirección, dispuesta a ser utilizada en una transacción futura.
Los 0,007 btc que el usuario había enviado pasan a ser una salida agotada. Los 0,003 que quedaron de su transacción anterior y los 0,07 btc y 0,09 btc que aún no ha utilizado son los que se conocen como transacción de salida no gastada o UTXO.
El proceso de consolidación utilizado en Xapo, se encarga de juntar UTXO en un proceso que se podría comparar con la desfragmentación de un disco duro. Este procedimiento, según explica Towns, permite combinar entradas antes de realizar una transacción, con el fin de tener mayor control en los costos de transacción, ya que a menor cantidad de UTXO que procesar, menor es la carga en la red:
La idea detrás de la consolidación de UTXO es esencialmente la siguiente: cuando el promedio de su pago saliente es mayor que su pago promedio entrante (o cuando son iguales, pero está realizando lotes de pagos salientes), a menudo tendrá que combinar muchos UTXO en orden para financiar una transacción saliente, lo que aumenta el tamaño de sus transacciones y, por lo tanto, las tarifas que paga. Al consolidar los UTXO de antemano, puede combinar entradas con anticipación, lo que le brinda más control sobre cuándo se incurre en la mayoría de esos costos. Si puede hacerlo cuando las tarifas son bajas, eso le permite reducir esos costos bastante sustancialmente.
Anthony Towns
Desarrollador en Bitcoin Core
La consolidación también permite, continúa Towns, actualizar las direcciones que utilizan UTXO, para cambiar a multifirma o sustituir las direcciones por direcciones SegWit o bech32, por ejemplo. Como la consolidación permite que se reduzca el número de UTXO independientes, la ejecución de un nodo completo es mucho más fácil para el usuario.
Para realizar la consolidación de más de 4 millones de UTXO, el equipo de Xapo combinó en pocas transacciones a múltiples pagos de bitcoins, lo que se conoce como batching. Para ello, utilizaron un script que seleccionó grupos de pequeñas UTXO y creó una transacción de consolidación que las gastó en una sola dirección de grupo a una tarifa de 1.01 satoshis por byte. El proceso se realizó cuando la carga de la red Bitcoin era baja y en un momento en que no interfería con las operaciones normales de la cartera, asegura Towns. Del resultado de esta consolidación, se tiene que en la actualidad Xapo maneja 6.973.238 entradas y 2.584.525 de salidas.
No obstante, el proceso de consolidación puede tener consecuencias negativas. Puede suceder que las transacciones de consolidación llenen de alguna forma la cadena de bloques y hagan que las tarifas aumenten de forma instantánea, como sucedió a finales del mes de junio con el cierre de Bithumb. Para ello, Towns recomienda tomar en cuenta aquellos casos (como ha sucedido en los últimos meses) en que la mempool está vacía, por lo que las transacciones a bajo costo se reparten entre los mineros. Igualmente, aprovechar que los bloques no estén llenos por completo haría que las transacciones de consolidación se procesen de manera rápida y no se cree una acumulación que aumente las tarifas.
Imagen destacada por 3dsculptor / stock.adobe.com