¿Qué son Mempools y cómo funcionan?

2023-07-27, 06:33

[TL; DR]

La función principal de mempool es almacenar transacciones antes de que sean validadas.

Bitcoin y Ethereum son ejemplos de blockchains que utilizan mempools.

La congestión de la cadena de bloques es la principal razón por la que las transacciones quedan atascadas durante mucho tiempo.

Si quieres que una transacción se realice rápidamente, utiliza tarifas de gas adecuadas.

Introducción

A menudo realizamos transacciones en varias blockchains como Ethereum y Bitcoin, pero es posible que no comprendamos completamente algunas de sus técnicas. Sin embargo, saber cómo funcionan algunos componentes de las cadenas de bloques puede ayudarnos a acelerar nuestras transacciones o reducir sus costos.

En este análisis discutimos Mempool en blockchain y cómo funciona. También explicaremos cómo puedes manejar transacciones pendientes o retrasadas en las redes de Bitcoin y Ethereum.

Leer también: ¿Qué es un explorador de blockchain?

¿Qué es un Mempool?

Mempool, una forma abreviada de la piscina de memoria es un espacio de nodo para almacenar información como transacciones no confirmadas. Actúa como una sala de espera para transacciones que aún no han sido confirmadas o aprobadas. Recuerde que las transacciones solo se incluyen en un bloque cuando se verifican o aprueban.

En otras palabras, un mempool es un espacio donde las transacciones pendientes esperan antes de ser agregadas a un bloque.

Cuando la transacción se verifica, significa que todos los pares en la cadena de bloques pueden acceder a la información. Sin embargo, antes de que la transacción sea aprobada, varios nodos verifican la firma, comprueban si la salida no es mayor que la entrada y que el sistema aún no ha enviado los activos digitales. Si alguna de estas condiciones no se cumple, los validadores o mineros rechazan la transacción.

Es importante entender que no existe un único mempool para una cadena de bloques. Como tal, cada nodo en la red de la cadena de bloques tiene su propio pool de memoria, también llamado pool de transacciones. Por lo tanto, los mempools de los diferentes nodos conforman un pool de memoria colectivo de la cadena de bloques.

Como ejemplo, las transacciones que se realizan en el Bitcoin La red no agrega las transacciones directamente al blockchain. Cada nodo almacena las transacciones en un almacenamiento temporal llamado mempool o txpool. Como resultado, forman una cola que debe ser verificada y validada.

Por lo tanto, podemos definir simplemente una mempool como una cola organizada de transacciones que deben ser ordenadas y agregadas a un bloque.

Memory Pool (Mempool) en un Nodo- Babypips

Recuerde que las transacciones solo existen en un mempool antes de que sean confirmadas o empaquetadas en bloques. En el diagrama anterior, la sección de color azul es el espacio del mempool que existe dentro de un nodo. El siguiente diagrama muestra la distribución de los mempools en una red.

Los nodos completos en la Red Bitcoin tienen Mempools - Babypips

Como se ve en la imagen de arriba, cada nodo completo en una red como bitcoin o Ethereum tiene un mempool. Sin embargo, cada transacción se transmitirá a través de los nodos de la red como se indica en el siguiente diagrama.

Una red de nodos de Bitcoin - Babypips

Como se observa en el diagrama, el usuario en color morado inicia una transacción de bitcoin que se almacena en el mempool antes de su aprobación. Es esencial tener en cuenta que una vez que la transacción es verificada, se agrega a un bloque como muestra la siguiente ilustración.

Se agrega una transacción al archivo (bloque) - Babypips

La flecha azul en el diagrama muestra lo que sucede cuando se verifica una transacción, se mueve desde la txpool a un bloque. En esa etapa, todas las computadoras tendrán el archivo actualizado de la transacción confirmada.

¿Cómo funcionan los Mempools?

Por lo general, las Mempools no funcionan de la misma manera. Cómo operan depende de la arquitectura de cada blockchain. En otras palabras, funcionan de manera diferente según los tipos de mecanismos de consenso de las redes. Las transacciones son verificadas por validadores o mineros dependiendo de las redes.

Por ejemplo, las transacciones en la cadena de bloques de bitcoin son verificadas por mineros ya que utiliza el mecanismo de consenso de prueba de trabajo. Por otro lado, las transacciones en la red de Ethereum son aprobadas por validadores porque la cadena de bloques utiliza el mecanismo de consenso de prueba de participación.

Leer también: Reformando Ethereum y posibles problemas de salud de la red

La red de Bitcoin requiere un mínimo de seis confirmaciones por transacción, mientras que la cadena de bloques de Ethereum necesita al menos siete confirmaciones. Básicamente, cada transacción en un mempool tiene un estado específico. Está pendiente o en cola. Cuando un validador o minero valida una transacción en cola, se convierte en una pendiente.

Leer también: ¿Qué es la Red Lightning de Bitcoin?

Veamos un ejemplo simple de lo que ocurre cuando envías ETH a un amigo. El procedimiento implica ingresar la dirección del monedero, establecer la tarifa de gas y confirmar la transacción.

Una vez que realices estas transacciones, estas se colocan en cola, esperando verificación. En ese momento, se difunde a toda la red de nodos, pero aún no forma parte de ningún bloque.

Si los validadores verifican la transacción y encuentran que cumple con todas las condiciones, se mueve del estado en cola al estado pendiente, esperando confirmación. A partir de ahí, uno de los validadores selecciona la transacción del mempool y la agrega a un nuevo bloque.

En esa etapa, varios validadores lo aprueban, lo que permite a tu amigo recibir el ETH.

Resumamos la dinámica de la mempool

Paso 1: El remitente ingresa la dirección de destino, acepta las tarifas de transacción de la red y presiona ‘ENVIAR’

PASO 2: La transacción se agrega al mempool más cercano y se coloca en la cola.

PASO 3: Los datos de la mempool se transmiten a los demás nodos en la red.

PASO 4: Un nodo aprueba la transacción y su estado cambia de En cola a Pendiente.

PASO 5: Un minero selecciona la transacción pendiente y la agrega a un bloque.

PASO 6: El resto de los nodos eliminan la transacción de sus mempools.

PASO 7: La transacción se completa y el activo llega a la billetera de destino.

Ahora que entiendes qué retrasa tu transacción cuando la procesas, veamos las razones por las que algunas transacciones quedan atascadas y qué acciones puedes tomar.

Razones por las que la transacción se queda atascada en el mempool

La razón principal por la cual las transacciones quedan atascadas en la mempool es la congestión de la red. Cuando hay una alta presión del volumen de transacciones sobre el espacio de bloque disponible, se desencadena el atraso en la mempool. Esto ocurre si el número de transacciones pendientes es mayor que el promedio de transacciones en un bloque.

Algunos eventos y noticias que afectan el nivel de tráfico en la blockchain pueden causar congestión en la red. Por ejemplo, los airdrops, la inclusión en más intercambios o nuevas asociaciones pueden provocar congestión. Sin embargo, existen factores que pueden permitir a los nodos priorizar ciertas transacciones.

Tarifa de transacción: La cantidad de comisiones asociadas a las diferentes transacciones determina cuáles son aprobadas primero. Dado que los mineros y validadores se guían por el beneficio, priorizan las transacciones que tienen comisiones más altas porque eso les permite obtener recompensas más altas.

Por lo tanto, los mineros y validadores organizan la transacción en sus mempools basándose en las tarifas por unidad, como satoshis/byte. Al final, agregan a los bloques las transacciones con las tarifas más altas primero. Este sistema obliga a los usuarios a establecer tarifas altas para sus transacciones.

No obstante, dependiendo del tráfico de la red, los usuarios pueden establecer tarifas óptimas de gas y aún así lograr que sus transacciones se confirmen a tiempo. Lo importante para los usuarios es verificar factores como datos históricos, congestión de la red, volumen de transacciones y distribución de tarifas en el mempool antes de establecer sus propias tarifas de gas.

Tiempos de confirmación Los usuarios también pueden necesitar verificar los tiempos de confirmación antes de establecer sus tarifas. Cuando los tiempos de confirmación son altos, significa que los mineros y validadores dan preferencia a las transacciones con tarifas altas. En esencia, cuando el mempool está congestionado, significa que las transacciones con tarifas más bajas tardarán mucho tiempo en procesarse.

Espacio de bloque: El espacio de bloque también determina la cantidad de tiempo que transcurre antes de que se aprueben las transacciones. Dado que el espacio de bloque siempre es limitado, los mineros y validadores dan preferencia a las transacciones que tienen tarifas más altas. Esto significa que las transacciones con tarifas más bajas pasan mucho tiempo en el mempool.

Tamaño del Mempool y desalojo: Cada transacción que se agregará al bloque es un conjunto de datos con un tamaño medido en kilobytes. Por lo tanto, los mempools grandes pueden alojar muchas transacciones. Por lo general, los nodos establecen los tamaños de sus mempools, que a menudo son de 300 MB para Bitcoin. Cuando un mempool alcanza un umbral, el nodo puede establecer una tarifa mínima de transacción.

Cuando los usuarios comprenden tales dinámicas, les resulta fácil establecer sus tarifas de transacción y lograr que se aprueben en un período razonable. Por ejemplo, pueden evitar pagar de más durante períodos de baja capacidad o pagar de menos durante las horas pico cuando tienen transacciones sensibles al tiempo. También pueden hacer suposiciones educadas casi correctas sobre qué tan rápido se validarán sus transacciones.

Por qué las transacciones se quedan atascadas en la mempool

A menudo, las transacciones quedan atascadas en la mempool por varias razones, pero la mayoría de ellas están relacionadas con las comisiones de gas. Sin embargo, la principal razón por la que algunas transacciones quedan atascadas en la mempool es la congestión de la red. Cuando hay congestión, las transacciones con altas comisiones se procesan primero, dejando el resto atascadas allí.

Por lo tanto, lo mejor que se puede hacer durante los momentos pico de la red es aumentar las tarifas de transacción. Esto se debe a que cuando hay congestión, las tarifas de gas aumentan. Por lo tanto, si procesas una transacción durante los momentos ocupados, debes igualar tus tarifas con las que están pagando otros usuarios de la red.

La otra razón por la que las transacciones están atascadas en el mempool es una caída en la tasa de hash. Decimos que la tasa de hash ha caído cuando la red no tiene la potencia informática física para ejecutar un alto número de transacciones pendientes.

Cómo liberar tu transacción de la Mempool

Cuando su transacción queda atascada en el mempool, tiene algunas opciones. La primera opción es cancelar la transacción. En este caso, tendrá que pagar otra tarifa de transacción. Por ejemplo, puede reenviar la transacción con el mismo nonce.

En segundo lugar, puede elegir acelerar la transacción conectando su Ledger a una billetera de terceros como MetaMask o Electrum. Sin embargo, deberá pagar más por eso.

La tercera opción es esperar un poco más para que la transacción se realice. Al hacer esto, esperas a que el tráfico de la red disminuya, lo que permitirá que tu transacción se realice sin coste adicional.

Mempool en Bitcoin

Las transacciones enviadas a la red de Bitcoin no se agregan instantáneamente al blockchain. Primero se agregan al mempool. En el pasado, dichas transacciones solo requerían tarifas medidas en satoshis por byte.

Sin embargo, esto cambió después de la actualización SegWit que permite que las transacciones se midan en unidades de peso. Lo bueno es que las características de SegWit permiten agregar más datos a un bloque que antes. Específicamente, hay 2MB de datos por bloque, aunque puede aumentar a 4MB.

Ethereum Mempool

Inicialmente, la red Ethereum requería que las transacciones entraran en el mempool antes de ser validadas. Sin embargo, cuando la cadena de bloques pasó del mecanismo de consenso de prueba de trabajo al de prueba de participación, se introdujo el concepto de un generador de bloques.

Básicamente, los constructores de bloques son jugadores de terceros que compilan las transacciones en un paquete de transacciones optimizado que forma un bloque. En este caso, las entidades de terceros compilan o reordenan ciertas transacciones de una mempool en paquetes. A partir de ahí, ofrecen los paquetes de transacciones a los validadores para su inclusión en los bloques. Las entidades de terceros obtienen recompensas por realizar estas tareas.

Conclusión

En resumen, un mempool es un espacio donde un nodo de blockchain almacena temporalmente las transacciones antes de que sean validadas. El tiempo que una transacción permanece en el mempool en Ethereum depende de varios factores como la congestión del tráfico de la red y la tarifa de gas. Tanto Bitcoin como Ethereum utilizan pools de transacciones.

Preguntas frecuentes sobre Mempools

¿Qué es mempool?

Un mempool es un espacio donde las transacciones pendientes esperan antes de ser agregadas a un bloque. Una vez que la transacción es validada, se agrega a un bloque que existe en la cadena de bloques.

¿Qué pasa en la mempool?

Cuando algunas transacciones están en un mempool, algunos validadores o mineros las seleccionan y las añaden a bloques. Sin embargo, algunas de las transacciones pueden permanecer en cola o pendientes durante mucho tiempo si hay congestión en la red de tráfico.

¿Qué es un BTC Mempool?

El mempool de BTC es la sala de espera para las transacciones que se procesan en la red de Bitcoin. Por lo general, cada nodo de la cadena de bloques de Bitcoin tiene su propio mempool.

¿Qué es Mempool en Ethereum?

Un mempool en Ethereum es el espacio para almacenar transacciones en los nodos de Ethereum antes de que sean confirmadas. El tiempo que transcurre antes de que estas transacciones sean confirmadas depende del tráfico de la red de Ethereum dentro de un cierto período.


Autor: Mashell C., Investigadora de Gate.io
Este artículo representa solo las opiniones del investigador y no constituye ninguna sugerencia de inversión.
Gate.io se reserva todos los derechos de este artículo. Se permitirá la reproducción del artículo siempre que se haga referencia a Gate.io. En todos los casos, se tomarán medidas legales debido a la infracción del derecho de autor.


Compartir
Contenu
gate logo
Gate
Operar ahora
Únase a Gate y gane recompensas