Saltar al contenido
0%

Guía para desarrolladores sobre soluciones de escalabilidad de Ethereum

Alchemy team headshot

Escrito por Alchemy

Publicado el 17 de mayo de 202211 min de lectura

El énfasis de Ethereum en la descentralización y la seguridad hace que las transacciones se procesen lentamente. Esto afecta el rendimiento de la red e impacta la capacidad de las aplicaciones descentralizadas para escalar.

Se han propuesto muchos diseños para resolver los problemas de escalabilidad de Ethereum, cada uno con distintos beneficios. Esta guía presenta las soluciones de escalabilidad de Ethereum y explica cómo funcionan y por qué son importantes.

¿Qué es la escalabilidad?

La escalabilidad se refiere a la capacidad de un sistema para manejar aumentos exponenciales de uso sin sacrificar funcionalidad. En el contexto de la tecnología blockchain, la escalabilidad se refiere a la capacidad de una blockchain para soportar un aumento de transacciones sin efectos sobre su funcionalidad.

Actualmente, la capacidad de Ethereum para manejar transacciones está limitada a procesar entre 7 y 15 transacciones por segundo (TPS). En cambio, las bases de datos tradicionales y centralizadas —como Oracle Database y Microsoft SQL Server— pueden procesar miles de transacciones por segundo.

gráfico de transacciones por segundo de ethereum

Fuente: Blockchair

Dos formas en que el diseño de Ethereum afecta la escalabilidad

Ethereum tiene un bajo rendimiento y velocidades de procesamiento lentas porque prioriza la descentralización y la seguridad por sobre la escalabilidad (el trilema de la escalabilidad).

Estas son algunas formas en que el diseño de Ethereum afecta la escalabilidad:

1. El algoritmo de consenso de Ethereum procesa las transacciones de forma secuencial

Ethereum usa proof of work (PoW), lo que significa que las transacciones en la red deben ser aceptadas y validadas por todos los nodos. Esto fomenta la descentralización y, más importante aún, la seguridad.

La desventaja es que la ejecución secuencial de las transacciones afecta la finalidad de las transacciones (el tiempo que toma confirmar una transacción). Esto contribuye aún más a la incapacidad de Ethereum para soportar tasas altas de TPS.

2. Ethereum limita el tamaño de los bloques a 1MB

Ethereum limita la cantidad de datos que puede contener un bloque minado (1MB) porque limitar el tamaño del bloque mejora la descentralización al permitir que los nodos almacenen el historial de la blockchain de manera más eficiente. Bloques más grandes dificultan que las personas ejecuten nodos completos, lo que perjudica la descentralización.

Sin embargo, el límite de tamaño de bloque de 1MB reduce la cantidad de datos de transacciones que los mineros pueden incluir en un bloque, afectando el rendimiento de la red. Los tamaños de bloque pequeños también afectan el costo del gas, el recurso computacional necesario para ejecutar operaciones en la Ethereum Virtual Machine.

Debido a que los mineros tienen un poder computacional finito, con frecuencia se ven obligados a priorizar las transacciones con comisiones más altas. Esto crea una especie de guerra de pujas entre los usuarios de Ethereum y provoca aumentos astronómicos en las comisiones de transacción.

¿Qué son las soluciones de escalabilidad de Ethereum?

Las soluciones de escalabilidad de Ethereum son plataformas diseñadas específicamente para mejorar la ejecución de transacciones en la red de Ethereum. Las soluciones de escalabilidad de Ethereum, como los Rollups de capa 2 y las sidechains, son protocolos que usan distintos mecanismos para aumentar el rendimiento de la red.

diagrama de soluciones de escalabilidad de ethereum

Fuente: Reddit

Soluciones de escalabilidad de capa 1 vs. capa 2

Las soluciones de escalabilidad se pueden dividir a grandes rasgos en dos categorías, soluciones "on-chain" y "off-chain", que se diferencian según su punto de ejecución.

Soluciones de escalabilidad de capa 1

La escalabilidad de capa 1 implica hacer cambios a la red blockchain y reescribir la capa base. La descripción "on-chain" significa que las mejoras de escalabilidad de Ethereum se ejecutan en la propia blockchain.

Las capas 1 pueden escalar aumentando el tamaño de los bloques

Una posible mejora de escalabilidad de capa 1 es aumentar el tamaño del bloque. Si el tamaño de bloque de 1MB de Ethereum aumentara, los mineros tendrían más espacio para incluir datos de transacciones adicionales en los bloques.

Si bien aumentar el tamaño de bloque de Ethereum llevaría a un aumento en las tasas de TPS, el efecto secundario es una lenta progresión hacia la centralización, ya que a medida que los bloques crecen, el tamaño de la blockchain aumenta, lo que dificulta ejecutar un nodo completo (a menos que se tenga una supercomputadora). Por esta razón, la comunidad de Ethereum ha descartado los bloques más grandes como solución de escalabilidad.

Las capas 1 pueden escalar procesando transacciones en paralelo mediante blockchain sharding

El sharding de blockchain es una mejora de escalabilidad que introduce la ejecución paralela de transacciones en lugar del modelo de ejecución secuencial predeterminado que usa Ethereum. En el sharding, la blockchain se divide en cadenas más pequeñas (shards) que validan y procesan transacciones por separado.

Consideremos cómo funciona actualmente Ethereum:

Las transacciones se difunden por toda la red hasta que pueden ser validadas. El sharding no requiere que las transacciones sean aprobadas por todos los nodos. En cambio, cada shard tiene validadores (llamados collators) encargados de aprobar las transacciones.

Cada collation (un conjunto de transacciones en las shard chains) debe ser firmado por ⅔ de los collators. Además, la collation propuesta debe agregarse a la cadena principal antes de lograr finalidad. En conjunto, estas medidas ayudan a garantizar la seguridad del sistema.

Con el sharding, Ethereum puede aumentar el TPS sin sacrificar la descentralización ni la seguridad. Como las shard chains procesan diferentes transacciones simultáneamente, la capacidad de procesamiento general de la red aumenta. Además, los participantes de la red aún pueden comprobar la validez de las collations de las shards mediante pruebas criptográficas.

diagrama de sharding de ethereum
Fuente: Genesis Block

Fuente: Genesis Block

Soluciones de escalabilidad de capa 2

Las mejoras de escalabilidad de capa 2 (L2) reciben ese nombre porque se ejecutan fuera de la cadena principal (capa 1). También llamadas soluciones "off-chain", la escalabilidad de capa 2 implica procesar transacciones en una red separada que depende de la cadena principal para su seguridad.

Las soluciones L2 suelen diseñarse con énfasis en la velocidad de transacción y la escalabilidad; la descentralización y la seguridad son preocupaciones menores en este caso. Debido a que publican los datos de las transacciones en la capa principal de Ethereum, las L2 pueden beneficiarse de la descentralización y la seguridad de la mainnet. Además, debido a que las soluciones L2 se construyen sobre Ethereum, no necesitan su propio token nativo.

Estos protocolos off-chain pueden agrupar múltiples transacciones en una sola transacción y agregarla a la cadena principal. Esto reduce la presión sobre la red y mejora el potencial de las apps para escalar a medida que crece su uso.

Ejemplos de soluciones de escalabilidad de capa 2 incluyen:

  • Rollups
  • State channels
  • Plasma
  • Validium

Capa 2 vs. sidechains

Una sidechain es una blockchain separada que interactúa con Ethereum Mainnet pero no depende de esta para su seguridad. Las sidechains se conectan con Ethereum a través de un cross-chain bridge, que permite la transferencia de activos entre ambas cadenas.

Las sidechains son buenas para la escalabilidad porque están diseñadas con un conjunto diferente de características que permiten un alto rendimiento. Por ejemplo, la sidechain de Polygon usa un algoritmo de consenso proof of stake (PoS) para transacciones más rápidas.

La principal diferencia entre las soluciones de capa 2 y las sidechains radica en sus garantías de seguridad. Mientras que las redes L2 gozan de las garantías de seguridad de Ethereum, las sidechains no.

Una sidechain está protegida por su propio mecanismo de consenso, mientras que las L2 se benefician del consenso de Ethereum. Por esto muchos consideran que las L2 son más seguras que las sidechains.

¿Por qué son necesarias las soluciones de escalabilidad para Ethereum?

Las buenas soluciones de escalabilidad de Ethereum ayudan a brindar a los desarrolladores y usuarios de web3 comisiones de gas más bajas y transacciones más rápidas, manteniendo al mismo tiempo la seguridad de las transacciones.

Estas son las razones por las que las soluciones de escalabilidad son necesarias para Ethereum:

1. Comisiones de transacción más bajas

El problema de las comisiones de gas de Ethereum se ha convertido en materia de crítica generalizada. Las mejoras de escalabilidad pueden reducir la congestión de la red y llevar a caídas significativas en los costos de transacción.

Precios de gas más bajos se traducen en una mejor experiencia de usuario y una mayor adopción de las apps. Los usuarios no tendrán que lidiar con transacciones fallidas ni pagar comisiones de gas exorbitantes.

2. Transacciones más rápidas

Muchas soluciones de escalabilidad se crearon específicamente para mejorar la capacidad de Ethereum de manejar más transacciones en un período de tiempo más corto.

Por ejemplo, los rollups pueden agrupar miles de transacciones off-chain en una sola transacción on-chain. De forma similar, el sharding aumenta el rendimiento al fomentar el procesamiento paralelo de transacciones.

El resultado neto de estas mejoras es un aumento en las tasas de transacciones por segundo (TPS). Aunque las estimaciones varían, muchos esperan que las L2 y el sharding lleven el TPS de Ethereum a los miles.

3. Mejor seguridad

Las L2 son excelentes para escalar Ethereum sin disminuir la seguridad de la red. A diferencia de la escalabilidad on-chain, los proyectos de escalabilidad off-chain no afectan la descentralización de Ethereum.

Aunque estas L2 son cadenas separadas, su seguridad está estrechamente vinculada a la blockchain de Ethereum. Esto significa que los usuarios pueden interactuar con estos proyectos de forma segura, disfrutando de los beneficios de la escalabilidad, sin poner en riesgo sus activos.

Las cinco soluciones de escalabilidad de Ethereum más populares

Las cinco soluciones de escalabilidad de Ethereum más populares son: rollups, sidechains, state channels, plasma chains y Validium.

1. Rollups

Los rollups combinan o "enrollan" múltiples transacciones ejecutadas off-chain en un lote y lo pasan a la cadena principal. Un solo rollup puede contener cientos, si no miles, de transacciones comprimidas para reducir el volumen de transacciones que la cadena principal debe procesar.

Más allá de mejorar la escalabilidad, los rollups ofrecen niveles de seguridad similares a los del propio Ethereum, ya que las transacciones en los rollups están ancladas a la cadena L1, lo que garantiza la finalidad de las transacciones.

Existen dos tipos principales de rollups: optimistic rollups y zero-knowledge rollups. Cada tipo se diferencia según cómo se calculan y publican las transacciones en Ethereum:

Los zero-knowledge rollups o ZK-rollups realizan el cálculo off-chain y generan una prueba criptográfica llamada Succinct Non-Interactive Argument of Knowledge (SNARK) o Succinct Transparent Argument of Knowledge (STARK). Estas "pruebas de validez" garantizan a los nodos de la cadena principal la validez de los lotes de transacciones.

Los optimistic rollups asumen que las transacciones son válidas por defecto y no generan pruebas de validez para cada lote de transacciones. Sin embargo, la validez de las transacciones en un optimistic rollup puede impugnarse mediante una prueba de fraude.

Entonces, ¿cómo se comparan ambos esquemas de rollup entre sí? Los ZK-rollups son más seguros ya que generan pruebas de validez, sin embargo, esto los hace más lentos que los optimistic rollups.

Los ZK-rollups son mecanismos complejos, lo que dificulta programar en ellos compatibilidad con la EVM. Como resultado, los ZK-rollups tienen una funcionalidad más limitada en comparación con los optimistic rollups.

Polygon está trabajando en una zero-knowledge EVM (zkEVM) para aumentar la funcionalidad de los zero-knowledge rollups en la red de Ethereum con sus planes para Hermez 2.0.

L2s de Ethereum que usan optimistic rollups

  • Optimism
  • Arbitrum
  • Boba Network
  • Immutable X

L2s de Ethereum que usan ZK rollups

  • zkSYNC
  • Loopring
  • dYdX
  • StarkNet

Como desarrollador, puedes integrar rollups en tu dApp para mejorar la finalidad de las transacciones y la escalabilidad. De esta forma, tus usuarios no tendrán que enfrentar comisiones de gas altas, transacciones fallidas ni velocidades de procesamiento lentas, algo que ocurre con frecuencia en Ethereum.

2. Sidechains

Una sidechain es un tipo de solución de capa 2 que consiste en una blockchain separada que opera en paralelo con Ethereum Mainnet. Estas diferencias pueden ser incentivos criptoeconómicos, mecanismos de consenso, etc.

Las sidechains diseñadas específicamente para Ethereum tienen compatibilidad con la Ethereum Virtual Machine (EVM) y pueden soportar smart contracts. Esto significa que puedes desplegar proyectos en sidechains y aprovechar sus mejoras de escalabilidad para las apps.

Los cross-chain bridges son necesarios para conectar las sidechains con la plataforma de smart contracts de Ethereum. Tal como su nombre lo indica, un blockchain bridge ofrece una vía de acceso para que los usuarios se muevan entre la cadena principal y la sidechain.

Para usar un bridge tienes que bloquear algunos activos (ETH en este caso) en la cadena de origen. Después, se genera una cantidad equivalente de activos en la sidechain y se deposita en tu wallet.

Luego puedes transaccionar libremente en la sidechain, aprovechando su mayor capacidad de procesamiento de transacciones. Como se explicó anteriormente, las sidechains están diseñadas para brindar escalabilidad y emplean distintos mecanismos para lograrlo.

Ejemplos de sidechains de Ethereum:

  • Polygon
  • xDAI
  • SKALE

Otras blockchains alternativas de capa 1 (L1) también pueden funcionar como sidechains de Ethereum, especialmente las blockchains compatibles con EVM. Estas L1 alternativas suelen ofrecer beneficios como comisiones de gas más bajas, mejor finalidad de las transacciones y, en algunos casos, funcionalidades más amplias.

Ejemplos de L1 compatibles con EVM:

  • Avalanche
  • Fantom
  • Binance Smart Chain

3. State channels

Los state channels son soluciones de escalabilidad off-chain que permiten que dos partes transaccionen sin que la cadena principal tenga que validar cada transacción. Un state channel es esencialmente un smart contract multifirma que se ejecuta únicamente con la aprobación de las partes requeridas.

Cómo funcionan los state channels

  1. Alice quiere abrir un state channel con Bob, quien le vende café todas las mañanas. Supongamos que ella deposita 0.4 ETH en el channel y esta transacción se publica en Mainnet.

  2. Después de esta transacción de apertura, Alice y Bob pueden ejecutar transacciones off-chain durante el tiempo que quieran. La única salvedad es que ambos deben firmar las transacciones, lo que significa que Alice y Bob deben aprobar cada pago del café.

  3. Si Alice agota su depósito, puede publicar una transacción de salida en la cadena principal. Esta transacción reflejará el último estado conocido del channel, el cual queda registrado para su finalidad. Alice y Bob pueden haber transaccionado en una docena de ocasiones, pero la red de Ethereum solo registra dos transacciones: la de entrada y la de salida.

Un state channel permite a las partes realizar transacciones off-chain seguras sin tener que enfrentar largos tiempos de espera ni altas comisiones de transacción. También mejora la escalabilidad porque los mineros tienen menos transacciones que procesar y pueden trabajar más rápido.

Soluciones de escalabilidad de Ethereum que usan state channels:

  • Raiden Network
  • Connext Network
  • Celer Network

4. Plasma chains

El whitepaper de Plasma introduce el concepto de "child chains", que se originan a partir de la blockchain principal o "root chain". Si bien las Plasma chains pueden validar transacciones, dependen de la seguridad de la root chain. Para demostrar la validez de las transacciones, las child chains envían pruebas criptográficas a la root chain.

Las Plasma chains son similares a las sidechains, ya que se conectan con la blockchain de Ethereum mediante smart contracts. Usar una Plasma chain requiere bloquear ETH en un smart contract en la root chain antes de obtener tokens en la child chain.

Plasma se considera una solución de escalabilidad de L2 porque obtiene su seguridad directamente de la capa base de Ethereum. Esto es lo que las hace más seguras que, por ejemplo, las sidechains.

Plasma publica Merkle roots para cada bloque en la cadena principal de Ethereum. Los block roots son pequeños fragmentos de información que podemos usar para verificar datos sobre las transacciones. Si ocurre un ataque en una Plasma chain, los usuarios pueden salir de forma segura hacia la cadena principal y retirar sus fondos usando las pruebas correspondientes.

Soluciones de escalabilidad de Ethereum que usan plasma

  • OMG Plasma
  • Gluon Network

5. Validium

Los Validium son similares a los ZK-rollups, ya que realizan el cálculo fuera de la capa principal de Ethereum, pero la diferencia principal es que los Validium usan "disponibilidad de datos off-chain" en lugar de publicar datos comprimidos en la cadena principal como lo hacen los ZK-rollups.

Los Validium almacenan datos off-chain con un proveedor de datos, lo que los hace custodiales hasta cierto punto. Sin embargo, algunas soluciones como StarkWare usan Data Availability Committees (DACs) para garantizar que los proveedores de datos actúen de forma honesta.

Los Validium tienen comisiones muy bajas y transacciones veloces (hasta 100.000 tps). Sin embargo, tienen más supuestos de confianza que otras soluciones de escalabilidad, como los ZK-rollups.

Soluciones de escalabilidad de ETH que usan validium:

  • DiversiFi
  • Immutable X

¿Cuáles son algunas desventajas de las soluciones de escalabilidad?

Dos desventajas de las soluciones de escalabilidad de Ethereum son que su implementación es compleja y que potencialmente tienen garantías de seguridad más bajas.

1. Complejidad

Muchas soluciones de escalabilidad son complejas de implementar, lo que puede afectar su funcionalidad. Por ejemplo, el equipo de desarrollo de Ethereum ha postergado consistentemente la fecha de lanzamiento del sharding debido a la cantidad de trabajo que requiere la actualización.

2. Garantías de seguridad más bajas

Si bien muchas soluciones de escalabilidad de L1 y L2 dependen de Ethereum para su seguridad, no pueden ser tan seguras como esta última. Cada solución de escalabilidad sacrifica algunos elementos (como la descentralización y la seguridad) a cambio de velocidad. Los usuarios deben conocer bien estos riesgos antes de usar estas plataformas.

Conclusión

Es probable que los proyectos de escalabilidad tratados en esta guía tengan un papel importante en el avance de Ethereum hacia la escalabilidad. Sin embargo, queda por ver si esto será suficiente para garantizar una escala a largo plazo.

¿Planeas escalar tu próxima dApp en una L2?

Regístrate para obtener una cuenta gratis con Alchemy, la plataforma de desarrollo blockchain más grande del mundo, que es compatible con las L2 más populares, incluyendo Arbitrum, Optimism, Polygon y StarkNet.

Background gradient

Construye magia blockchain

Alchemy combina los productos y herramientas de desarrollo Web3 más potentes con recursos, comunidad y un soporte legendario.