¿Por qué a veces mi transacción de Bitcoin demora en ser confirmada?
Educación

¿Por qué a veces mi transacción de Bitcoin demora en ser confirmada?

Diego Vera Nieto
Diego Vera Nieto

Quizás te ha pasado que estás enviando o recibiendo bitcoins y tu transacción demora más de lo esperado. Si es así, probablemente la causa sea que la mempool está congestionada.

Mempool es la abreviación de "Memory Pool", que es español vendría siendo un espacio compartido de memoria.

Para entender qué es una mempool, primero debes saber qué pasa con una transacción cuando la realizamos. Para este ejemplo usaremos la red Bitcoin.

Digamos que quieres enviarle 100.000 satoshis (0.001 BTC) a un amigo. Vas a tu billetera, introduces su dirección y confirmas la transacción. Acá tu billetera hace el trabajo por ti, y envía la transacción a la red de Bitcoin, pero esta no entra directamente a la base de datos de la red, la cadena de bloques, o blockchain.

La transacción se propaga por la red y es enviada a los distintos nodos (mineros). Solo ellos pueden introducir una transacción a la blockchain, así que por mientras tu transacción, junto a todas las otras que aún no han sido introducidas a un bloque, queda alojada en un espacio de la memoria ram de todos los nodos a los que estás conectado. Este espacio es llamado mempool. Tu transacción quedará aquí hasta que un minero decida introducirla a un bloque, el cual posteriormente irá a blockchain.

¿Cómo se eligen las transacciones que entran primeras a Blockchain?

La mempool no es una fila. Esto quiere decir que la primera transacción en entrar no necesariamente es la primera en salir, sino que depende de cuánta sea la comisión que ofreciste pagarle a los mineros por procesar tu transacción. Mientras más pagues, antes será confirmada tu transacción, debido a que los mineros tienen la posibilidad de elegir qué transacciones entran primero, y elegirán las que más dinero les entregue.

¿Por qué se generan congestiones en la mempool?

Toda transacción en la red Bitcoin tiene cierto tamaño, y cada bloque en Blockchain tiene una capacidad máxima de información que puede contener. Actualmente la capacidad de cada bloque es de 1024kb (1mb). El tamaño promedio de una transacción es de 0.5kb, por lo que, en promedio, un bloque puede contener 2048 transacciones. Cabe destacar que el tamaño de una transacción no depende de la cantidad de bitcoins que estés enviando, sino de cuántas direcciones participan en la transacción.

Cuando la cantidad de transacciones que entran a la mempool es mayor que la velocidad a la cual los mineros pueden ingresar transacciones, se genera congestión.

Esto, además de provocar un mayor tiempo de espera, genera un aumento de comisiones, ya que las personas comienzan a pagar más dinero para que su transacción sea procesada antes, por lo que tú deberás competir con ellos, o tu transacción demorará mucho más tiempo en ser ingresada a un bloque.

Acá puedes ver unos gráficos con las dos variables, cantidad de transacciones y tamaño, siendo las principales a considerar al momento de evaluar la congestión de una mempool:

Acá puedes ver el número total de transacciones en la mempool en tiempo real

Acá puedes ver el tamaño total de las transacciones en la mempool en tiempo real

¿Cómo puede Lightning Network ayudar a reducir la congestión en la mempool?

Digamos que quieres enviar los mismos 100.000 satoshis a un amigo, pero te das cuenta de que la mempool de Bitcoin está congestionada y no quieres pagar los altos fees para que sea confirmada antes, ¿qué puedes hacer?

Aquí es donde entran los canales de pago, específicamente Lightning Network. Lightning Network es una solución de capa 2, significa que está aplicado por sobre la Blockchain de Bitcoin y sirve para realizar transacciones sin la necesidad de registrar cada una de ellas en la Blockchain.

Si quieres aprender más de Lightning Network, tenemos una guía completa acá, pero en resumen, usar Lightning Network te permite enviar y recibir bitcoins de forma rápida, a bajo costo y segura, ya que solo se registran dos transacciones en la Blockchain, la inicial al abrir el canal de pago y la final al momento de cerrarlo, por lo que entremedio puedes enviar y recibir bitcoins cuantas veces quieras sin preocuparte de las fees o la congestión de la mempool.

Si te gustó la idea de pagar con bitcoins en solo segundos y quieres probar la Lightning Network, puedes hacerlo desde tu billetera Buda.com, en la sección Pagar con Lightning.

Si aún no sabes cómo usar Lightning Network, no te preocupes! te tenemos cubierto. Acá te dejo una guía que te permitirá aprender a usar esta maravillosa tecnología en solo un par de minutos.