
El pool de transacciones, también conocido como "mempool", es un área de almacenamiento temporal para transacciones no confirmadas en la blockchain mientras esperan confirmación e inclusión en un bloque. La aparición de Bitcoin impulsó la introducción del concepto de mempool. Posteriormente, Ethereum también lo incorporó a su arquitectura. Cuando un usuario inicia una transacción, como un intercambio entre dos monedas, opera en el mercado DeFi o simplemente compra un NFT, la transacción se transmite a la red y se almacena temporalmente en el mempool.
Permanece allí hasta que los validadores lo confirman y lo incluyen en un nuevo bloque. Las transacciones enviadas al mempool se organizan según sus comisiones, y las transacciones con comisiones de gas más altas suelen finalizarse primero. Esto hace que los validadores prioricen las transacciones con comisiones más altas, ya que reciben comisiones de gas como recompensa por las transacciones incluidas en un bloque que minan a medida que se añade a la blockchain.
Los mempools son componentes esenciales para las cadenas de bloques que los utilizan. El mempool garantiza que todas las transacciones enviadas sean procesadas y confirmadas por los validadores, excepto en casos en que la transacción sea inválida debido a una firma incorrecta o si la billetera del remitente se quedó sin fondos. El mempool crea un mercado que permite a los usuarios elegir la tarifa de transacción adecuada para que sus transacciones se procesen más rápido en momentos de congestión de la red.
Ethereum y Bitcoin tienen un total de 50 000 a 200 000 transacciones sin confirmar en su mempool. Esto suele depender de la disponibilidad del espacio de bloques y, en la mayoría de los casos, causa varios cuellos de botella en la red, como bajo rendimiento y congestión. Tanto Ethereum como Bitcoin utilizan un protocolo de intercambio de información (gossip) para distribuir memepools entre nodos aleatorios de forma peer-to-peer.
Hay más de 1000 validadores en la red principal de Solana y pueden gestionar un mempool de 130 000. Esto significa que, con un rendimiento de red de 65 000, se ejecuta un mempool de 130 000, y Solana puede ejecutar entre 4000 y 4500 por segundo. Solana, una blockchain de alto rendimiento, se considera una blockchain sin mempool, ya que fue diseñada desde el principio para no depender de un mempool; en cambio, utiliza un enfoque diferente, ya que envía todos los mensajes de transacción a un validador establecido para cada ranura, que se etiqueta como líder. El líder sustituye cada 4 ranuras, y todos los nodos activos de la red conocen de antemano su programación. Esta solución, propuesta por Solana, envía el almacenamiento en caché de los mensajes de transacción al borde de la red y se denomina Solana Gulf Stream .
Notas: Las transacciones de Solana deben incluir, por defecto, un hash de bloque reciente, que los desarrolladores pueden obtener fácilmente con una llamada básica a la API. Un hash de bloque de Solana tiene hasta 150 ranuras. Después de este tiempo, se vuelve obsoleto, por lo que la red descartará las transacciones que lo mencionen. Esto garantiza que las transacciones no procesadas no se queden. Los hashes de bloque ayudan a la deduplicación de transacciones.
Desde su lanzamiento, Gulf Stream ha experimentado al menos dos mejoras significativas: QUIC y QoS ponderado por participación. También es el componente del protocolo principal que posiblemente ha experimentado la mayor presión en los últimos años debido al aumento masivo del tráfico de red en Solana. Para poner esto en perspectiva, cuando un validador asume el rol de líder, puede anticipar un aumento drástico en el tráfico entrante, que a menudo supera un gigabyte por segundo, a medida que toda la red envía paquetes a su dirección.
Inicialmente, Solana dependía del protocolo UDP para enviar mensajes de transacción desde el nodo RPC al líder actual. Si bien UDP es rápido y eficiente debido a su falta de diálogo de protocolo de enlace, presenta importantes inconvenientes, como la falta de fiabilidad en la entrega de datos, la ordenación de paquetes y la prevención de duplicaciones. Estas limitaciones se hicieron evidentes durante las interrupciones de la red causadas por ataques DDoS y transacciones de spam, especialmente durante eventos de alta demanda como la acuñación de NFT.
Solana integró el protocolo QUIC en su proceso de ingesta de validadores para abordar estos desafíos. A diferencia de UDP, QUIC ofrece una transmisión de datos fiable con control de congestión y secuenciación de paquetes integrados, lo que garantiza una comunicación más fluida y segura entre nodos. Esta actualización mejoró significativamente la estabilidad y la resiliencia de la red, previniendo futuras interrupciones y optimizando el rendimiento de Solana con altas cargas de transacciones.
El protocolo QUIC permite comunicaciones asíncronas rápidas, como el protocolo UDP, pero con sesiones y control de flujo como TCP. Si bien el protocolo QUIC tiene una baja tasa de adopción en el sector blockchain, no es la solución universal para Solana, ya que la red aún experimenta problemas de congestión durante numerosos protocolos de enlace QUIC. A pesar de todas las deficiencias existentes, este protocolo presenta algunas ventajas, ya que QUIC es un protocolo de conexión de red seguro que evita la necesidad de dos protocolos de enlace (TCP y TLS) y requiere menos paquetes para completarse. Puede ser duradero después del cierre, lo que proporciona un acceso más rápido a los datos.
QUIC puede reutilizar una sesión mediante transmisiones y tickets de sesión, lo que minimiza el número de conexiones cliente-servidor y ofrece reconexiones rápidas y seguras. Además, admite la migración de conexiones, lo que permite que las conexiones sobrevivan a los cambios de IP y proporciona una experiencia de usuario móvil más fluida. QUIC también busca reducir o disminuir el impacto de ataques como la denegación de servicio (DoS), la repetición, la reflexión, la suplantación de identidad (spoofing), entre otros. Si bien no puede eliminar todos los ataques, su objetivo es dificultarlos. En general, QUIC ofrece una experiencia de conexión de red más eficiente y segura.
La QoS ponderada por participación de Solana es una implementación en la red Solana que permite a los líderes identificar y priorizar las transacciones gestionadas mediante un validador con participación, como mecanismo adicional de resistencia a Sybil. Este mecanismo se implementó en la red Solana a principios de 2024. Mediante este mecanismo, los validadores con mayor participación en la red pueden transmitir grandes paquetes de mensajes de transacción al líder.
Por ejemplo, un validador con el 0,5 % de la participación podría combatir los ataques Sybil del resto de la red y transmitir hasta el 0,5 % de los paquetes al líder. Con la QoS ponderada por participación habilitada, un validador con una participación del 1 % tendrá derecho a enviar hasta el 1 % de los paquetes al líder. Con este método, se garantiza que los validadores con mayor participación reciban una mayor calidad de servicio, lo que evita que validadores de menor calidad (con menos participación) inunden deliberadamente estas transacciones, mejorando así la resistencia general a Sybil.
La introducción de este mecanismo ha tenido un impacto significativo en el ecosistema de Solana, siendo los operadores de infraestructura RPC comercial y las plataformas de intercambio los principales beneficiarios. Los operadores de RPC están bien posicionados para asegurar acuerdos con validadores en staking, lo que les ayudará a lograr un mayor porcentaje de transacciones incluidas en bloques. Mientras tanto, las plataformas de intercambio u otras organizaciones que alojan tanto el validador como los nodos RPC en la misma infraestructura pueden habilitar esta función con confianza en sus sistemas, con la certeza de que los nodos RPC de su infraestructura son confiables.
Hay muchas diferencias en la arquitectura de mempool de Solana y Ethereum.
En este artículo, exploramos el singular mecanismo de gestión de transacciones de Solana, centrándonos en su protocolo Gulf Stream y en cómo se diferencia de las arquitecturas de mempool tradicionales, como las utilizadas por Ethereum. Destacamos la producción continua de bloques de Solana, las comisiones fijas por transacción y el uso innovador de QUIC y la calidad de servicio ponderada por participación para optimizar el rendimiento y la seguridad de la red.