Mempool

Mempool
Información sobre la plantilla
Mempool.png
Concepto:Memoria temporal intermedia en donde se almacenan de forma momentánea las transacciones de los usuarios.

La mempool o pool de memoria es una referencia a una colección (pool) de transacciones de Bitcoin que han sido verificadas por los nodos de Bitcoin pero que aún no se han añadido a la cadena de bloques. Cuando un usuario de criptomonedas realiza una transacción, el primer lugar donde se anota esta es en la mempool. La finalidad de esta mempool o pool de memoria, es la de hacer un buffer o sala de espera de transacciones.

Funcionamiento

El funcionamiento de una mempool es bastante sencillo, básicamente se dedica a almacenar las transacciones de la red para luego procesarlas.Dicho funcionamiento puede dividirse en dos fases:

Fase #1: Recepción de la transacción: en este punto, los nodos que están en la red Bitcoin garantizan una determinada cantidad de almacenamiento donde son recibidas y almacenadas de forma temporal las transacciones que se generan en la red. El tamaño de la mempool se especifica para que dichas transacciones pueden tener un espacio acorde para guardarse. Es decir, son los nodos quienes controlan el tamaño de la mempool. Existen nodos que pueden tener una mempool muy grande y otros, con mempool más pequeñas. Un punto importante es que este espacio de almacenamiento está ubicado en la memoria RAM de los nodos, por lo que su acceso es muy rápido. Todo esto al final garantiza que las transacciones no se pierdan en la red, y puedan pasar a la segunda fase.

Fase #2: Acceso a las transacciones: a las transacciones en mempool pueden acceder los mineros, los exploradores de bloques y las wallets que tengan dicha funcionalidad. De esta manera, por ejemplo una wallet SPV(monederos ligeros) puede mostrar rápidamente si una transacción ha sido realizada y se encuentra a la espera de ser procesada y confirmada. Pero la interfaz también permite que los mineros puedan tomar las transacciones de la mempool, agregarlas a un bloque y comenzar con el proceso de minería. Con cada transacción elegida, la mempool se libera en espacio y la cantidad de transacciones disminuye. Esta situación de ocupación de la mempool también tiene un impacto directo en la comisiones de la red. Si la mempool está congestionada, los mineros comenzaran a tomar las transacciones que paguen la mayor comisión de red. Una situación que dispara los costos de minería. Sin embargo, si la red no está congestionada, las comisiones bajan y los mineros atienden casi sin distinción las transacciones. Esta funcionalidad también permite a los exploradores de bloques, wallets y demás servicios asociados a criptomonedas, mostrar información útil a los usuarios sobre el estado de la mempool en el momento en el que lo deseen.

Mempool en otras criptomonedas

La mayoría de las criptomonedas también tienen sus propias implementaciones de mempool. Esto con el fin de evitar que las transacciones no sean atendidas en algún momento. Por supuesto, cada red tiene sus propios sistemas de control sobre sus mempool y el protocolo que permite su funcionamiento. Pero, en definitiva, el funcionamiento es el mismo.

Utilidad e importancia

La principal utilidad de una mempool, es su capacidad de almacenar las transacciones de la red para que puedan ser procesadas luego. Esto permite a los usuarios realizar sus operaciones con total comodidad y saber que las mismas recibirán la respuesta adecuada en su momento. En segundo lugar, la mempool es un buen medio para ecualizar el nivel de comisión de red. Con una mempool poco utilizada y una red descongestionada, el valor de las comisiones desciende. Pero con el aumento de las transacciones y una mayor ocupación de la mempool, las comisiones ascienden. Esto debido a que los usuarios empiezan a pagar mayores comisiones para que sus transacciones tomen prioridad. Otra utilidad de las mempool está ligada al nivel de seguridad y capacidad de resistencia frente a ataques DDoS. Por ejemplo, la mempool puede limitarse para recibir una cantidad determinadas de transacciones. De esta manera se evita que la red se sobresature y se vulnere el acceso a la misma por parte de quienes usan la red.

Riesgos

La mempool puede representar un grave riesgo bajo ciertas condiciones. Una transacción dentro de una mempool es simplemente una transacción cuyo estado es ambivalente. Se ha enviado a la red y está a la espera de que esta la procese, pero hasta entonces, dicha transacción en la mempool no significa que se haya hecho un pago de forma efectiva e irreversible. Si un usuario malicioso envía una transacción con un bajo fee o comisión de red, esta llegará a la mempool. Pero mientras este allí, es posible que dicho usuario pueda invalidarla y hacer un doble gasto de esas monedas. Esto porque habrá realizado una transacción de pago a la red, pero por otro lado, puede hacer una transacción de pago a un tercero con un mayor fee. Esto haría que la transacción al tercero y con un fee más alto sea procesada por la red en primer lugar, haciendo que la transacción con más bajo fee se vea invalidada. Esto es considerado por muchos detractores de las criptomonedas como un fallo, pero la verdad es que no lo es. Es simplemente, la forma en como trabajan las criptomonedas. De allí, que los proyectos de criptomonedas avisen a sus usuarios que no deben aceptar como válidas transacciones que estén en el mempool. Sino que en su lugar, solo deben aceptar como definitivas una transacción que haya sido confirmada y esté dentro de la blockchain. Para el caso de BitCoin, esto significa que las transacciones como mínimo deben tener 3 confirmaciones (6 es mejor) y en Ethereum al menos unas 30 confirmaciones, para considerar a las mismas irreversibles.

Fuentes