Respuestas>Más información sobre escalabilidad y rendimiento>¿Qué provoca la congestión de la cadena de bloques?
¿Qué provoca la congestión de la cadena de bloques?
// Tags
congestión de la cadena de bloquestarifas de gas elevadas
En resumen: La congestión de la cadena de bloques se produce cuando se envían a la red más transacciones de las que caben en el siguiente bloque. Cada cadena de bloques tiene una cantidad máxima de cálculos o datos que puede procesar por bloque, y cuando la demanda supera ese límite, se forma una acumulación de transacciones pendientes en el mempool (la zona de espera para las transacciones sin confirmar). La congestión provoca un aumento de las comisiones por transacción (ya que los usuarios compiten por un espacio limitado en los bloques), tiempos de confirmación más largos y una peor experiencia de usuario. Entre las causas fundamentales se encuentran la capacidad fija de los bloques, los picos de demanda provocados por eventos populares, la dinámica del mercado de comisiones y las compensaciones de diseño fundamentales que priorizan la seguridad y la descentralización frente al rendimiento bruto.
La explicación sencilla
Una cadena de bloques procesa las transacciones en lotes denominados «bloques». Cada bloque tiene un límite de capacidad. En Ethereum, este límite se expresa como un «límite de gas» (actualmente, alrededor de 30 millones de gas por bloque). En Bitcoin, se trata de un «límite de peso» (4 millones de unidades de peso por bloque). En Solana, es una combinación de unidades de cálculo y bloqueos de cuentas por «slot». Independientemente del mecanismo específico, cada cadena tiene un límite máximo en cuanto a la cantidad de trabajo que puede realizar por bloque.
Cuando el número de transacciones enviadas a la red es inferior a la capacidad del bloque, todo funciona sin problemas. Las transacciones se incluyen en el siguiente bloque, las comisiones son bajas y la confirmación es rápida. Cuando el número de transacciones supera la capacidad del bloque, se forma una cola. Esta cola es el «mempool», un área de espera gestionada por cada nodo en la que las transacciones válidas pero sin confirmar esperan a ser incluidas en un bloque futuro.
El mempool no funciona según el principio de «por orden de llegada». Se trata de una cola prioritaria basada en las comisiones. Los productores de bloques (mineros o validadores) seleccionan las transacciones que pagan las comisiones más altas, ya que eso maximiza sus ingresos. Cuando el mempool está lleno, los usuarios que desean que sus transacciones se confirmen rápidamente deben superar las ofertas de los demás ofreciendo una comisión más alta. Esta guerra de pujas es lo que provoca que los precios del gas se disparen durante los periodos de congestión. Las transacciones de los usuarios que no están dispuestos a pagar las elevadas comisiones, o que no pueden hacerlo, quedan atascadas en el mempool durante minutos, horas o, a veces, días.
Picos de demanda
La causa más evidente de la congestión es un aumento repentino de la demanda de espacio en la cadena de bloques. Estos picos suelen estar provocados por acontecimientos concretos. Una emisión popular de NFT puede generar decenas de miles de transacciones en cuestión de minutos, ya que los coleccionistas se apresuran a hacerse con tokens de edición limitada. El lanzamiento de un protocolo DeFi o la reclamación de un airdrop atrae a una avalancha de usuarios que interactúan simultáneamente con los nuevos contratos inteligentes. Una caída importante del mercado desencadena una oleada de liquidaciones, cierres de posiciones y ventas motivadas por el pánico, mientras los participantes en DeFi se apresuran a ajustar sus posiciones.
En Ethereum, algunos de los peores episodios de congestión de la historia de la red fueron provocados por aplicaciones concretas. La fiebre por los CryptoKitties en diciembre de 2017 colapsó la red durante días. La emisión de NFT «Otherside» de Yuga Labs en mayo de 2022 provocó que los precios del gas superaran los 8.000 gwei, y algunos usuarios pagaron miles de dólares en comisiones por transacciones que, al final, fracasaron. Las solicitudes de airdrops de tokens como el UNI de Uniswap y el ARB de Arbitrum generaron una congestión prolongada que duró horas, ya que millones de carteras que cumplían los requisitos se apresuraron a reclamarlos.
La negociación de tokens meme provoca congestiones recurrentes en cadenas como Solana y Base, donde el lanzamiento viral de un token puede generar millones de transacciones de intercambio en cuestión de horas. A diferencia de los eventos programados (en los que los usuarios al menos saben que se avecina una congestión), los picos de demanda de tokens meme son impredecibles y pueden desbordar la capacidad de la red sin previo aviso.
Capacidad y ritmo de producción fijos del bloque
La causa subyacente de la congestión radica en que la capacidad de los bloques y la tasa de producción están fijadas por el diseño del protocolo, mientras que la demanda es variable y, en ocasiones, explosiva. Ethereum genera un bloque cada 12 segundos con un límite de gas de aproximadamente 30 millones de gas. Una simple transferencia de ETH cuesta 21 000 gas. Un intercambio en Uniswap cuesta entre 150 000 y 300 000 gas. Una interacción compleja en DeFi puede costar 500 000 de gas o más. En condiciones ideales, Ethereum puede procesar aproximadamente entre 15 y 30 transacciones por segundo, dependiendo de la complejidad de dichas transacciones. Cuando miles de usuarios intentan simultáneamente acuñar un NFT, intercambiar un token o reclamar un airdrop, entre 15 y 30 TPS no son ni de lejos suficientes. Bitcoin se enfrenta a la misma limitación fundamental, pero con límites aún más estrictos. Los bloques se generan cada 10 minutos (frente a los 12 segundos de Ethereum), y cada bloque puede contener aproximadamente entre 2 000 y 3 000 transacciones. Esto le da a Bitcoin un rendimiento de aproximadamente entre 5 y 7 TPS. Durante los periodos de alta demanda, el mempool de Bitcoin puede acumular cientos de miles de transacciones sin confirmar, y las transacciones con comisiones bajas pueden tardar días en recibir confirmación.
Estos límites de capacidad no son arbitrarios. Existen para mantener la descentralización. Si los bloques fueran más grandes o se generaran más rápido, menos nodos podrían hacer frente a los requisitos de procesamiento de datos, lo que centralizaría la red en torno a operadores con hardware costoso. El equilibrio entre el rendimiento y la descentralización es el núcleo del diseño de la cadena de bloques y a menudo se denomina «trilema de la cadena de bloques» (la dificultad de lograr simultáneamente escalabilidad, seguridad y descentralización).
MEV y subastas prioritarias de gas
El valor máximo extraíble (MEV) contribuye a la congestión de una forma menos evidente, pero significativa. El MEV se refiere al beneficio que los productores de bloques y los buscadores pueden obtener al reordenar, insertar o censurar transacciones dentro de un bloque. Cuando surge una oportunidad de MEV rentable (como un arbitraje entre dos DEX), varios buscadores compiten por aprovecharla enviando transacciones con comisiones cada vez más elevadas. Esta subasta prioritaria de gas consume espacio en los bloques y hace que suban las comisiones para todos, incluso para los usuarios cuyas transacciones no tienen nada que ver con la oportunidad de MEV.
Los «ataques tipo sándwich» son un patrón específico de MEV que afecta directamente a los usuarios habituales. Un buscador detecta una transacción de intercambio de gran volumen en el mempool, coloca una orden de compra antes de ella (front-running) y una orden de venta después (back-running), sacando provecho del impacto en el precio que genera la transacción de la víctima. Estas transacciones de front-running y back-running consumen espacio adicional en el bloque y aumentan la congestión más allá de lo que produciría la demanda orgánica de los usuarios.
Soluciones de capa 2 y alivio de la congestión
Las redes de capa 2 (como Arbitrum, Base, Optimism y zkSync) se diseñaron, en parte, para aliviar la congestión en la capa 1 de Ethereum. Al procesar las transacciones en una cadena independiente y enviar resúmenes comprimidos a Ethereum, las redes de capa 2 aumentan drásticamente el rendimiento total disponible para los usuarios. Una transacción que cuesta 5 dólares en gas en la capa 1 de Ethereum durante un periodo de congestión podría costar 0,01 dólares en una capa 2. Sin embargo, las capas 2 también pueden sufrir su propia congestión durante picos extremos de demanda, y heredan algunas limitaciones de la capa 1 a la que realizan la liquidación.
Solana adopta un enfoque diferente para la gestión de la congestión mediante sus mercados de comisiones locales. En lugar de un único mercado global de comisiones en el que todas las transacciones compiten por el mismo espacio en el bloque, Solana intenta aislar la congestión en cuentas «activas» específicas. Las transacciones que interactúan con un contrato congestionado (como un pool DEX muy popular) pagan comisiones elevadas, mientras que las transacciones que interactúan con contratos no relacionados no se ven afectadas. Este diseño reduce los efectos colaterales de los picos de congestión, aunque no los elimina por completo.
¿Cuánto tiempo dura la congestión de la cadena de bloques?
La duración de la congestión depende de cuál sea su causa. Un evento programado, como la emisión de un NFT de gran repercusión o la reclamación de un airdrop, suele provocar un pico brusco que se resuelve en cuestión de minutos o unas pocas horas, una vez que remite la avalancha de solicitantes. La congestión prolongada es diferente: cuando una cadena funciona de forma persistente cerca de su capacidad máxima (por ejemplo, durante un mercado alcista prolongado o un ciclo viral de tokens meme), las comisiones elevadas y las confirmaciones lentas pueden durar días. La congestión de Bitcoin tiende a disiparse más lentamente que la de Ethereum, ya que su tiempo de bloque de 10 minutos hace que el mempool se vacíe en pasos más grandes y menos frecuentes. La señal práctica de que la congestión está remitiendo es una disminución del tamaño del mempool, junto con una reducción de las comisiones por prioridad.
¿En qué se diferencian los límites de bloques entre las distintas cadenas de bloques?
Dado que cada cadena limita la cantidad de trabajo que cabe en un bloque, el margen disponible antes de que se produzca la congestión varía considerablemente. La tabla siguiente resume las restricciones de capacidad aproximadas que determinan la rapidez con la que cada red se satura bajo carga.
Blockchain
Tiempo de bloque
Métrica de capacidad
Rendimiento aproximado
Bitcoin
unos 10 minutos
4M unidades de peso
De 5 a 7 TPS
Ethereum L1
~12 segundos
~30 millones de gas por bloque
De 15 a 30 TPS
Solana
intervalo de ~400 ms
Unidades de cálculo y bloqueos de cuentas
Miles de TPS
Arbitrum / Base (L2)
Menos de un segundo
Gas L2, ajustado a L1
De cientos a miles de TPS
Las cadenas con mayor rendimiento y las redes de capa 2 absorben mejor los picos de demanda, pero ningún diseño es inmune a ellos. Para profundizar en la relación entre velocidad y capacidad, consulta el artículo «Rendimiento frente a latencia» y descubre qué es una cadena de bloques de capa 2.
¿Cuál es la diferencia entre la congestión y una parada en cadena?
Tanto la congestión como la paralización de la cadena parecen indicar al usuario final que «la red no funciona», pero se trata de situaciones fundamentalmente diferentes, con causas y soluciones distintas. La congestión significa que la cadena sigue produciendo bloques; simplemente está saturada y resulta costosa. Una paralización de la cadena significa que la producción de bloques se ha detenido por completo.
Aspecto
Congestión
Parada de cadena
Producción en bloque
Continúa con normalidad
Parado
Transacciones
Confirmar lentamente, comisiones elevadas
No lo confirmes en absoluto
Causa principal
La demanda supera la capacidad del bloque
Fallo en el consenso o error del cliente
Resolución típica
La demanda disminuye, las tarifas bajan
Los validadores coordinan un reinicio
En resumen, la congestión es un problema de precios y capacidad, mientras que una interrupción en la cadena es un problema de disponibilidad. Las actividades relacionadas con el MEV, como las subastas de gas prioritarias, pueden agravar la congestión, por lo que comprender qué es el MEV ayuda a explicar por qué las comisiones suben más rápido de lo que cabría esperar solo por la demanda bruta de los usuarios.
¿Cómo pueden los promotores inmobiliarios reducir el impacto de la congestión?
Las aplicaciones no pueden eliminar la congestión, pero pueden seguir funcionando de forma fiable a pesar de ella. Utiliza una estimación dinámica de las tarifas en lugar de precios de gas predefinidos, implementa una lógica de reintentos con una gestión adecuada de los nonces y pon en cola las transacciones no urgentes para las franjas horarias de menor tráfico. En cuanto a los datos, da prioridad a la entrega basada en push frente a los bucles de sondeo muy frecuentes, de modo que la ingesta se mantenga al ritmo del crecimiento de los bloques. Comprender cómo funcionan las solicitudes RPC, optar por el streaming en lugar del sondeo y tener en cuenta la limitación de la tasa de RPC del proveedor son medidas que reducen la probabilidad de que la congestión provoque la pérdida de datos o el fallo de las transacciones de los usuarios.
Preguntas frecuentes
¿Por qué se disparan las comisiones de gas cuando hay congestión?
El espacio en los bloques es limitado, y el mempool es una cola de prioridad basada en las comisiones. Cuando el número de transacciones que compiten por entrar supera la capacidad de un bloque, los usuarios pujan con comisiones más altas para que se les incluya en primer lugar. Esa guerra de pujas hace que el precio del gas suba hasta que la demanda vuelve a situarse por debajo de la capacidad del bloque.
¿La congestión significa que la cadena de bloques no funciona?
No. Durante la congestión, la cadena sigue generando bloques y confirmando transacciones; simplemente es más lento y más caro. Una red que deja de generar bloques sufre una paralización de la cadena, lo cual es un problema distinto.
¿Las redes de capa 2 también pueden congestionarse?
Sí. Las capas 2 ofrecen un rendimiento mucho mayor que la capa 1 de Ethereum, por lo que toleran picos de tráfico más intensos, pero una demanda extrema puede seguir agotando su capacidad y hacer que suban las comisiones. Además, heredan algunas limitaciones de la capa 1 en la que realizan la liquidación.
¿Cómo puedo saber si la congestión está remitiendo?
Presta atención al tamaño del mempool y a las comisiones por prioridad. Una disminución de la cola de transacciones sin confirmar, junto con una caída de las comisiones por prioridad, es la señal más clara de que la demanda ha vuelto a situarse por debajo de la capacidad del bloque.
¿Por qué las cadenas de bloques no se limitan a aumentar el tamaño de los bloques?
Los bloques más grandes o más rápidos aumentan el coste del hardware necesario para ejecutar un nodo, lo que excluye a los operadores más pequeños y centraliza la red. Los límites de capacidad son una compensación deliberada que protege la descentralización, una tensión que a menudo se denomina «el trilema de la cadena de bloques».
Cómo afecta la congestión a los desarrolladores que crean aplicaciones en Quicknode
Para los desarrolladores, la congestión afecta tanto al envío de transacciones como a la ingesta de datos. En lo que respecta al envío, las transacciones con comisiones de gas insuficientes se quedan atascadas en el mempool o se descartan por completo. Las aplicaciones necesitan un sistema sólido de estimación de comisiones, una lógica de reintentos y una gestión de nonces para gestionar adecuadamente las situaciones de congestión. La API Core de Quicknode garantiza un envío fiable de transacciones con un rendimiento constante incluso en momentos de máxima congestión, y los métodos mejorados de la API ayudan a las aplicaciones a estimar los precios de gas adecuados en función de las condiciones actuales de la red.
En lo que respecta a la ingesta de datos, la congestión se traduce en más transacciones por bloque, bloques más grandes, más eventos que procesar y mayores volúmenes de datos. Las arquitecturas basadas en sondeos tienen dificultades durante la congestión porque el volumen de datos por bloque aumenta mientras que el intervalo de sondeo permanece fijo, lo que genera un retraso en el procesamiento. Quicknode Streams gestiona la congestión de forma óptima gracias a que su arquitectura basada en notificaciones se adapta al tamaño de los bloques. Tanto si un bloque contiene 100 transacciones como 1.000, Streams entrega los datos completos a su destino con la misma garantía de entrega y ordenación. El procesamiento por lotes y la compresión configurables ayudan a gestionar el aumento del volumen de datos durante los periodos de congestión prolongados.