🎉 Anycoin Direct se une a Finst para convertirse en la plataforma líder de criptomonedas en Europa

¿Qué es un pool de memoria crypto?

- 15 minute read

Bitcoin pool
Paul Hopmans
Crypto Expert
Paul Hopmans

Un pool de memoria es una colección de transacciones en cola en una blockchain para ser ejecutadas. Las transacciones con las tarifas más altas se ejecutan primero.

Un pool de memoria, o abreviado mempool, es una forma de estructurar la oferta y la demanda al procesar transacciones en una blockchain. La descripción más clara es una cola de transacciones.

Memory pool
  • La mejor descripción de un pool de memoria en crypto es una cola de transacciones
  • Un pool de memoria es esencial para una blockchain, de lo contrario todas las transacciones tendrían que ejecutarse inmediatamente
  • Cuando envías crypto de una dirección a otra, entra en el mempool, tras lo cual los nodos comprueban si la transacción es válida
  • Los que no ofrecen suficientes tasas de gas pueden enfrentarse a una transacción que nunca se ejecuta
  • En blockchains difíciles de escalar como Bitcoin y Ethereum, tienes que tener mucho cuidado con la cantidad de tasas de gas que ofreces
  • A algunas transacciones se les da mayor prioridad porque tienen un volumen elevado o porque es una transacción esencial para el funcionamiento de una blockchain
  • En determinados sitios, puedes ver a cuánto ascienden las tarifas medias actuales de la gasolina para realizar una transacción y también puedes ver cómo va tu transacción a través de tu TXID (ID de transacción).
  • Cuando el mempool está lleno puede que no sea posible hacer nuevas transacciones, a veces los nodos desechan las transacciones con las tasas de gas más bajas, un solo nodo recuerda todas las transacciones y las ofrece de nuevo en tiempos más tranquilos, esto depende de la blockchain
  • Los nodos calculan las tasas de gas procesando primero las transacciones con las tasas más altas en el siguiente bloque y así sucesivamente hasta que el bloque esté lleno, quieren ganar lo máximo posible
  • El mempool de Bitcoin se remonta a 2012 con la Propuesta de Mejora 35 de Bitcoin, mediante la cual todas las transacciones en Bitcoin se procesan por tiempo de bloque de 10 minutos, en orden de mayor a menor tasa de gas ofertado.
  • En Bitcoin se pueden procesar unas 4.200 transacciones por bloque
  • Con la llegada de las Runas y Ordinales de Bitcoin, se produjeron regularmente grandes congestiones en Bitcoin y las tarifas de gas se dispararon
  • Los sistemas financieros tradicionales pueden procesar todas las transacciones directamente
  • En una DEX, el mempool puede hacer que pagues más por las monedas, ya que un bot abusará del mempool mediante el front running y se adelantará, una buena razón para ser precavido en una DEX.
  • En el futuro, será imperativo que los mempools no se llenen, de lo contrario crypto nunca podrá convertirse en la corriente principal, Ethereum en particular ha estado firmemente al tanto de esto

Inhoudsopgave

  1. ¿Por qué hay un mempool en una blockchain?
  2. ¿Cómo funciona un pool de memoria?
  3. ¿Qué ocurre cuando el mempool está lleno?
  4. ¿Cómo se calculan las tasas de gas?
  5. El mempool de Bitcoin
  6. La diferencia con los mercados financieros tradicionales
  7. Mempool en una DEX
  8. El futuro de los repositorios de memoria
Fila de espera transacción crypto

¿Por qué hay un mempool en una blockchain?

Si las transacciones no pueden ejecutarse inmediatamente, debe existir un sistema que almacene temporalmente todas las transacciones en algún lugar para que no se pierdan. Este sistema se ha denominado mempool y se utiliza en un blockchain , una base de datos distribuida, que se utiliza para almacenar todas las transacciones pendientes en orden de las tasas de gas que los usuarios están dispuestos a pagar para que se ejecute su transacción.

Sin mempool, todas las transacciones tendrían que ejecutarse inmediatamente. El sistema blockchain no suele estar adecuadamente equipado para ello, ya que puede procesar menos transacciones de las que entran. Por tanto, una mempool es esencial para que una blockchain funcione correctamente.

Otra razón para la existencia de un mempool es evitar transacciones conflictivas. Si alguien quiere gastar las mismas monedas dos veces en diferentes nodes el protocolo blockchain de un nodo registrará estas monedas una vez en un bloque y lo enviará a todos los demás nodos, tras lo cual la otra transacción será expulsada del mempool.

¿Cómo funciona un pool de memoria?

Una transacción de un cryptocurrency se añade al mempool (repositorio temporal) cuando alguien envía crypto de una dirección a otra. Una transacción de este tipo llega a todos (a menudo miles) de nodos o miner de una blockchain en su mempool local. Cada nodo tiene su propia configuración, incluso en lo que se refiere al mempool. Ésta puede ser mayor o menor, según las preferencias o el software del nodo o del Miner.

Comprobar si una transacción es válida

Esta transacción no entra en un bloque hasta que un nodo la registra para procesarla en el siguiente bloque (almacenamiento persistente). Todos los nodos comprueban si la transacción es válida de acuerdo con la norma mecanismo de consensus de la blockchain o protocolo y luego añadirlo a la mempool. Si una transacción no es válida, por ejemplo, si el usuario no dispone de fondos suficientes, el claves privadas o si se trata de una doble emisión, se rechaza y no se añade.

Al final del periodo de bloque, como los aproximadamente 10 minutos en Bitcoin (es diferente en cada blockchain), todas las transacciones que son válidas y aportan suficientes tasas de gas a la blockchain se añaden en el siguiente bloque realizado y se conoce el nuevo estado de la blockchain, tras lo cual esta cadena de blockchain más larga es difundida a los demás nodos por el nodo que realizó el bloque.

Si quieres realizar una transacción en una blockchain, éstas deben ser aprobadas por nodos. Un nodo realiza un seguimiento de la blockchain y se asegura de que sólo pasen los bloques válidos. Un nodo también puede elegir qué transacciones procesa primero. Algunos wallet puede estimar el tiempo de espera antes de que tu transacción con estas comisiones se procese en la blockchain correspondiente, por lo que aún puedes ajustarlo.

Explicación de las transacciones no confirmadas en un mempool

Persona meditando

La reserva de memoria está formada por todas las transacciones que aún no se han procesado. Un nodo tiene la opción de incluir en el siguiente bloque realizado las transacciones de las que más se beneficia. Lógicamente, son aquellas que están dispuestas a pagar costes de transacción más elevados (tasas de gas). Cuando un bloque de una blockchain está lleno, se añade a la blockchain al final del tiempo del bloque. Cada bloque contiene las transacciones con las tasas más altas posibles y las nuevas monedas. Las transacciones que se han procesado se eliminan del mempool de todos los nodos.

Cuando una blockchain está muy ocupada, es decir, cuando se realizan muchas transacciones, sólo se procesarán las transacciones con costes de transacción elevados. Como resultado, los costes de transacción aumentarán. Eso significa que los comerciantes que pujen por debajo de sus posibilidades pueden esperar mucho tiempo a que un nodo procese su transacción. Teóricamente, esa transacción puede quedar pendiente o pendiente para siempre, pero siempre hay horas al día en las que el comercio está prácticamente parado y en las que esa transacción puede procesarse con un poco de suerte. Algunas blockchain desechan otras transacciones con tasas de gas demasiado bajas al cabo de cierto tiempo o la rechazan de plano.

Blockchains no escalables

Tortuga corriendo

Algunas blockchains tienden a estar siempre ocupadas, lo que hace que una transacción de bajo precio sea mucho más lenta de procesar y provoque congestión. Esto puede ser esencial en ocasiones, como cuando hay grandes cambios en el precio. Así que si te preguntas por qué no se procesa tu operación, ahora ya sabes que tienes que ofrecer comisiones más altas para que la operación se procese más rápidamente en el siguiente bloque.

En esos momentos, las comisiones por transacción en determinadas blockchain, como Bitcoin y Ethereum, pueden dispararse debido a la gran demanda. Las comisiones máximas de Bitcoin fueron de 300 euros por transacción en 2018 y las de Ethereum de más de 100 euros en distintos momentos; en 2017, las comisiones por gastación de ETH rondaban los 1.000 Gwei, pero el precio de ETH era mucho más bajo. Dato curioso: ¡una transacción de 100.000 Tether en Bitfinex en 2023 costó la friolera de 23,5 millones de dólares! ¡Razón de más para vigilar de cerca tus comisiones por transacción!

Transacción prioritaria no confirmada

En algunos casos, también se puede dar prioridad o prioridad a determinadas transacciones no confirmadas, independientemente de las tarifas de gas. Esto lo hacen los nodos o Miner con transacciones de direcciones importantes que conocen o con volúmenes muy elevados de, por ejemplo, grandes fondos de inversores, como fondos de pensiones o BlackRock. También se puede priorizar una transacción de un usuario esencial de una red, como los usuarios que mantienen la red.

Si quieres saber cómo es un mempool, puedes visitar todo tipo de sitios web para ello, como por ejemplo https://www.blockchain.com/explorer/mempool/eth o https://mempool.space/ . Hay bastantes, así que elige uno que refleje lo que buscas. Lo más importante que necesitas saber es aproximadamente cuánto debes ofrecer en comisiones medias por transacción para que se procese en un bloque. Al fin y al cabo, si retiras una transacción, pierdes comisiones y tienes que pagar otra comisión de gas para que la nueva transacción entre en el mempool.

Investigar tu operación en un mempool

Si crees que tu transacción no se está ejecutando, puedes introducir el TXID (ID de transacción) y ver qué está pasando con tu transacción. De esta forma evitarás el pánico que puedes tener cuando creas que tus fondos han desaparecido, varios factores pueden contribuir a ello. Si ves que está pendiente pero ofrece muy pocas comisiones, puedes cambiarla por una transacción RBF (Reemplazar por comisión) o una CPFP (El hijo paga por el padre) con comisiones más altas. Es demasiado largo para que este artículo lo explique en su totalidad. Al menos ahora sabes que puedes hacer algo al respecto.

Así que cuando te sumerjas en la piscina de la memoria y veas que incluso la piscina de vadeo está llena, tendrás que decidir si estás dispuesto a sacar el monedero o a sacar la biblia y leerla para ver si tu transacción ya se ha procesado.

¿Qué ocurre cuando el mempool está lleno?

Como ocurre con casi cualquier recopilación de datos, existe una cantidad máxima de información que puede contener un pool de memoria. Por ejemplo, el mempool de los nodos estándar de Bitcoin sólo puede manejar 300 MB. Cuando esté llena, los Miner empezarán a expulsar determinadas transacciones de la mempool. Como es lógico, éstas son las transacciones en las que el usuario ofrece menos tarifas de gas.

Sin embargo, también hay nodos que siguen almacenando en su mempool todas las transacciones entrantes incluso con las tarifas más bajas. Por cierto, esto no significa que se procesen nunca, porque si las tarifas ofrecidas son demasiado bajas, los Miner nunca llevarán la transacción al siguiente bloque y esperarán a que se congele el infierno.

Cada blockchain tiene un límite, aunque muchas blockchains que son escalables podrán procesar la transacción rápidamente, al poder ponerse al día en los momentos más tranquilos del día. Algunas blockchain también son tan rápidas que eso importa muy poco.

Retorciéndose por el mempool

Así, cuando el mempool esté lleno, las transacciones menos atractivas se desecharán primero. En cuanto vuelva a haber espacio disponible, estas transacciones se añadirán de nuevo a la cola, ya que no se descartan sin más. Algunos nodos pueden configurarse para que no "olviden" ninguna transacción. En cuanto vuelva a haber espacio disponible en el mempool, estos nodos volverán a enviar las transacciones más baratas para que se procesen en los momentos más tranquilos, cuando haya menos transacciones.

Si la mempool está llena, los usuarios que ofrezcan muy pocas cuotas de gas tampoco podrán ser incluidos en la mempool hasta que ésta vuelva a tener espacio.

"Estamos retorciéndonos junto a la piscina".
Dire Straits

¿Cómo se calculan las tasas de gas?

Contador de tasas de gas

En un tiempo de bloque determinado, el mempool está formado por toda una serie de transacciones aún no procesadas. Un bloque puede manejar una determinada cantidad de transacciones. Un node o un Miner querrá llenar al máximo el bloque con transacciones para ganar lo máximo posible. La oferta y la demanda empezarán a determinar las tarifas de gas.

Así, el siguiente bloque estará formado por tantas transacciones como sea posible con las tarifas de transacción más altas posibles. Para simplificarlo, un nodo empezará a contar a partir del usuario que ofrezca las tasas de gas más altas y así sucesivamente hasta que el bloque esté lleno. De esta forma, podrá ganar el máximo y todas las transacciones con las tarifas de gas más altas ofrecidas se eliminarán de la mempool y se pondrán en el siguiente bloque.

Las tasas de gas empezarán a subir si el mempool está constantemente lleno de transacciones con altas tasas de gas. Este suele ser el caso cuando ocurre algo especial, como una tasa de gas extremadamente alta volúmenes debido a un bull market o la introducción de algo importante en una blockchain. En esos momentos, puede llevar mucho tiempo procesar tu transacción si no quieres pagar elevadas comisiones de gas.

El mempool de Bitcoin

Fondo de memoria Bitcoin

El mempool de Bitcoin no formaba parte del libro blanco de Bitcoin. Después de que hubiera suficientes ruidos de que esto era realmente necesario de todos modos, los desarrolladores decidieron proponerlo en Propuesta de mejora de Bitcoin 35 de 2012. Esta propuesta fue adoptada por los Miner e implementada, tras lo cual cada transacción en Bitcoin acabó primero en el mempool de Bitcoin.

En Bitcoin, un Miner tiene la copia completa de la blockchain de Bitcoin y comprueba mediante protocolos Proof-of-Work si una transacción es válida. La mempool se mantiene mediante memoria RAM para que pueda actualizarse lo más rápidamente posible. Cada Miner o nodo tiene su propia mempool.

El tiempo de bloqueo en Bitcoin

Se crea un nuevo bloque en la blockchain de Bitcoin aproximadamente cada 10 minutos, totalmente según el horario de Satoshi Nakamoto de modo que el último Bitcoin se minará hacia 2140. Cada bloque contiene todas las transacciones registradas por los Mineros en el bloque, más la recompensa del bloque, que consiste en 3.125 BTC desde 2024. El minero que mina el bloque rompecabezas criptográfico resuelve puede hacer el bloque y embolsarse la recompensa.

El principio económico de añadir transacciones a un bloque es sencillo. Un Miner será el primero en añadir transacciones a un bloque con el que pueda ganar más. Por tanto, los que estén dispuestos a pagar más por las transacciones serán los primeros. Una vez que el bloque está lleno, puesto que SegWit por lo que en torno a un máximo de 4MB, el bloque se añade a la blockchain al cabo de 10 minutos por el Miner ganador y se han ejecutado todas las transacciones con las tarifas más altas y una firma digital válida.

Prioridad de las transacciones

Así, el mempool de Bitcoin se llena con todas las transacciones que los comerciantes quieren hacer, incluyendo cuántas tasas de gas (coste por transacción) están dispuestos a pagar. En momentos de mucho tráfico, sólo se incluirán en un bloque las transacciones con tasas de gas elevadas, y los demás comerciantes tendrán que esperar a que haya algo menos de tráfico. Si es importante, tendrán que conformarse con pagar comisiones más altas para conseguir algo de impulso.

En muchos casos, las aplicaciones y wallets sugieren una estimación de la tarifa de mempool. Para una prioridad alta, pagas tasas de gas elevadas. Esto lo haces si quieres acelerar al máximo, por ejemplo para cantidades muy elevadas o un tipo de cambio que cambia rápidamente. También tienes prioridad media, baja y ningún nodo. Tú determinas la rapidez con la que se te ayudará, en función de las tasas de gas.

Número de transacciones por diez minutos en Bitcoin

Cada transacción se revisa para determinar si hay suficiente UTXO (Unspent Transaction Output), lo que significa que también tienes suficientes BTC para pagar la transacción. Bitcoin no es exactamente escalable. Se puede procesar un máximo de unas 7 transacciones por segundo. Un poco de aritmética muestra que entonces se pueden procesar 7x60x10 transacciones en un bloque de diez minutos, es decir, 4200 transacciones. Si una transacción no se incluye en un bloque después de unas dos semanas, se elimina del mempool.

Tasas de gas Bitcoin y congestión

Fila interminable de personas

Hay momentos en los que ocurren muchas cosas en la blockchain de Bitcoin, por ejemplo cuando BRC-20 (Ordinales) y Runas Bitcoin fue creado por Casey Rodarmor. De vez en cuando había medio millón de transacciones en el mempool, así que si te tocaba estar al final tenías que esperar unos 1280 minutos, unas 22 horas. Además, el tasa de hash se reducen, dejando a la red Bitcoin sin suficiente potencia de cálculo para procesar todas las transacciones pendientes.

Si empiezas a mirar las tasas históricas de gas en la blockchain de Bitcoin, verás que a principios de 2018, durante el insano bull market, ¡las tasas por transacción de Bitcoin podían alcanzar más de 300 euros! Nunca han vuelto a ser tan altas, pero a veces las tasas de gas vuelven a rondar los 100 euros cuando vuelve a ocurrir algo que llena el mempool en Bitcoinlandia.

La diferencia con los mercados financieros tradicionales

En un sistema financiero centralizado tradicional, como un banco, las transacciones se procesan instantáneamente. No tienen que esperar nada y no necesitan el permiso de mineros o nodos. Se supone que el software de un banco puede hacer todo esto automáticamente y dejar pasar sólo las transacciones válidas.

Un banco tiene todo tipo de ingresos, lo que significa que no tienen que cobrar nada por una transacción en la mayoría de los casos. Como resultado, sólo tienen que comprobar la validez y la transacción puede procesarse inmediatamente.

Centralizado frente a descentralizado

En una blockchain, las transacciones son recogidas en un mempool por nodos descentralizados, que llevan el control de la blockchain y garantizan que sólo se procesen las transacciones válidas. Además, estos nodos deciden cuándo procesarlas, según las reglas de la blockchain, pero también según sus propios intereses.

Una vez que un bloque es aprobado por la mayoría de los nodos, se procesan todas las transacciones de ese bloque. Esto puede provocar retrasos significativos, especialmente con las blockchains menos escalables, como Bitcoin y Ethereum. Incluso hay veces en que tu transacción no se procesará en absoluto porque no ofreces suficientes comisiones de gas.

Mempool en una DEX

Si empiezas a operar en un exchange descentralizado (DEX), el mempool puede empezar a trabajar en tu contra. Si quieres hacer una operación, primero se colocará en la mempool de la DEX. También en una DEX, las tarifas de gas se determinan por la oferta y la demanda.

Carrera de frente

Hay robots de trading que puede vigilar un mempool y detectar operaciones ventajosas. Si un bot de este tipo ve que pagando tasas de gas más altas puede adelantarse a ti ( marcha al frente ) y puede hacer que fijes un precio más alto para tus monedas, es un simple cálculo para ver si es un resultado positivo.

Como no hay supervisión de ningún DEX y todo se hace a través de un Automated Market Maker y smart contracts se organiza, un bot de mempool puede ir arrastrándose todo el día para endosarte precios más altos por tus monedas.

Operar con cuidado en un DEX

Un breve ejemplo sería que quisieras comprar a una oscura coin conocida como DEX por 10.000 euros. Tendrás que pagar todo tipo de tasas en el proceso, como las tasas de gas. Ofreces 50 euros en tasas de gas y quieres comprar la cryptocurrency por 10 euros cada una, con un deslizamiento del 2%. El bot puede ver entonces el 2% de tus 10.000 euros como beneficio, menos las tasas de gas de más de 50 euros. Entonces, el bot se adelantará y te venderá este crypto por 10,20 euros, embolsándose unos 150 euros.

Así que ten cuidado cuando apuestes grandes cantidades en una DEX, ya que esto ocurre en casi todas las DEX con un mempool sin protección. La alternativa es comprar monedas oscuras en una DEX que sí proteja a los operadores y que, por ejemplo, ofrezca un precio límite al comprar u otro tipo de protección contra el front running.

El futuro de los repositorios de memoria

Piscina futurista

La blockchain evoluciona constantemente. Muchas blockchain saben perfectamente que un pool de memoria puede ralentizar considerablemente una blockchain y esto puede ser una fuente de molestias para los usuarios. Especialmente las grandes blockchains como Ethereum tienden a abordar todos los problemas del mundo de las blockchain y cryptocurrency.

Ethereum, el solucionador de problemas

Si Ethereum (u otra blockchain) ha encontrado una solución a la congestión de la red debida a un mempool, esta solución pronto será recogida por otras blockchains e intentarán integrarla en sus protocolos. Ethereum es conocido por querer acomodar a los usuarios tanto como sea posible y ya han hecho mucho para aumentar la escalabilidad y reducir los costes de transacción mediante diversas actualizaciones del protocolo.

Progreso tecnológico

Tecnología avanzada

Los avances tecnológicos también influyen. Los ordenadores y las conexiones a Internet son cada vez más rápidos y pueden almacenar y procesar cada vez más. Esto no será diferente para los nodos. Sin embargo, para ponerlo en práctica se necesita dinero, tiempo y consensus. Los nodos y mineros de un sistema descentralizado deben aprobar siempre las actualizaciones de los protocolos, lo que puede retrasar el progreso.

En las técnicas de bases de datos, de las que forma parte mempool, se puede empezar a trabajar con sharding una técnica que descompone el procesamiento de la información de una base de datos en partes más pequeñas, reduciendo la carga de los nodos. Varias blockchain ya trabajan con esto. Ethereum adoptará un enfoque ligeramente diferente con su (Proto-)Tanque de curado aumentando enormemente la escalabilidad.

Roll ups de capa 2 y otras soluciones de escalabilidad

Otra técnica muy utilizada es hacer que las transacciones de una blockchain popular sean agrupadas por otra red en un número de transacciones agrupadas, que puedan ser procesadas por la blockchain principal a la vez. Esto reduce enormemente la carga de la cadena de bloques principal y hace que sea mucho menos probable que se llene el mempool. Este capa 2 roll ups como Arbitrum o Stacks, están surgiendo como setas.

También técnicas de cadena cruzada si el bridge o la multi-chain y la cadena lateral puede aliviar un mempool al no tener que procesar todo en la blockchain principal.

También se pueden tomar otros caminos, como aumentar la memoria del mempool o disminuir la información de una transacción, permitiendo que quepa más en un mempool y en un bloque. Hashing y Merkle tree puede echar una mano aquí.

La escalabilidad define el futuro de cryptocurrency

Dado que las técnicas descentralizadas como blockchain necesitan nodos para mantener la cadena de bloques descentralizada, los mempools siempre serán necesarios. Las nuevas transacciones simplemente tienen que introducirse en una base de datos en algún lugar. Con el tiempo, las cadenas de bloques reconocerán la necesidad de escalabilidad. Sin ella, blockchain y cryptocurrency nunca mainstream convertirse.

"La piscina puede estar llena, pero el recuerdo dura para siempre".
Autor desconocido