Entendiendo Ethereum Parte 2: Escalabilidad

Si no sabes qué es Ethereum, te invito a leer la primer parte de esta serie para un mejor entendimiento de este artículo.

Actualmente Ethereum es ineficiente para ser utilizada de forma masiva debido a los tiempos de espera largos y comisiones por transacción altos. A lo largo de los últimos años hemos visto cómo la red se vuelve prácticamente inutilizable cuando la actividad aumenta considerablemente (cryptokitties, DeFi, BAYC, etc).

Cuando hablamos de escalabilidad en una blockchain nos referimos a que la capacidad para ejecutar transacciones aumente (TPS Transactions Per Second) y al mismo tiempo se reduzcan los costos que estas conllevan.

Block Space
Existe un concepto llamado Block Space, el cual hace referencia a la cantidad de transacciones que se pueden incluir en un bloque. Este número está limitado por el Gas Limit, el cual a partir del hard fork London se ha establecido en 30 millones. Gracias a @MauZubi por compartirme la página txstreet en donde de forma muy interactiva podrás entender mucho mejor cómo funciona este concepto.

Una de las formas de aumentar las TPS es aumentando el tamaño de bloque pero esto no sería ideal ya que los nodos necesitarían mayor capacidad computacional para poder procesar las transacciones y con el tiempo correr un nodo sería más costoso, lo que nos llevaría a un nivel de descentralización cada vez menor generando así el trilema de la blockchain.

El Trilema de la Blockchain
El infame trilema de la cadena de bloques dicta que solo se pueden optimizar dos de las tres propiedades de una cadena de bloques. Uno debe ser sacrificado debido a las limitaciones técnicas. Estas tres propiedades de una blockchain son:

• Escalabilidad: ¿Cuál es el rendimiento de datos del sistema? ¿Cuántas TPS?
• Descentralización: ¿Cuántos nodos existen? ¿ Dónde están los centros de poder?
• Seguridad: ¿Qué tan difícil es atacar la red?

Cuando estas tres características se tratan de implementar en la misma blockchain se dice que esta es de tipo monolítico. En cambio, cuando consigues separar los componentes que forman una blockchain (haciendo que la blockchain sea de tipo modular) las limitaciones del trilema de la blockchain.

Estos componentes o partes de una blockchain modular son la capa de consenso, ejecución y disponibilidad de datos.

• Ejecución: La capacidad computacional requerida para hacer el cambio de estado de la blockchain. (Toma el estado anterior, agrega transacciones y transiciona al nuevo estado).
• Consenso: Provee seguridad y define la verdad canónica acerca de la información almacenada en la blockchain. (¿En qué bloque estamos? ¿Cuál es el contenido del bloque “N”?).
• Disponibilidad de datos: La información que la capa 1 garantiza que está disponible para ser referenciada. (Todos los datos que componen “N”)

¿Cómo escalar?
Al día de hoy se han propuesto 2 formas de escalar Ethereum sin tener que recurrir a un aumento del espacio en bloque.

1.- Actualizaciones de la blockchain misma
2.- Soluciones de capa 2

Actualizaciones de Ethereum

The Beacon Chain
Es una blockchain que corre en paralelo a la Mainnet de Ethereum y se activó en diciembre de 2020. Esta introduce el protocolo de consenso conocido como Proof-of-Stake (PoS) en donde se le solicita a los validadores una cierta cantidad de ETH para poder participar en la validación de transacciones. Con ayuda de la actualización Altair se estimula que los validadores estén activos y sean honestos para evitar penalizaciones sobre sus activos depositados.

The Merge
Será el evento en donde la mainnet de Ethereum se fusionará (Merge) con la beacon chain haciendo que se deje de lado el sistema de PoW y se cambie por completo a PoS.

Uno de los mayores riesgos de este evento es la posibilidad de que los mineros decidan continuar con el sistema de PoW generando así un fork similar al que ocurrió con Ethereum Classic. Para evitar esto se ha implementado una bomba de dificultad la cual básicamente consiste en hacer más difícil la extracción de nuevos bloques en la cadena de PoW.

En la siguiente y última parte de esta serie explicaré más a fondo en qué consiste The Merge.

Data Sharding
¿Qué es el sharding?
Es el proceso de dividir horizontalmente la base de datos para distribuir la carga. En el contexto de Ethereum, el sharding reducirá la congestión en la red e incrementará las TPS al crear nuevas cadenas conocidas como “shards”.

Características de los shards
Incentiva la descentralización al reducir drásticamente los requisitos de hardware.
Favorece a la seguridad de la red ya que cuanto más descentralizada sea la red, menor será la superficie de ataque.

Se espera que los Data Shards se lancen a principios de 2023 con un total de 64 Shards al momento del lanzamiento y se teoriza que al llegar a 1M de validadores en la Beacon Chain se podrán correr 1024 shards. Al día de hoy hay 390k validadores, de los cuales 372k están activos.

Soluciones de capa 2
La segunda forma de escalar la red es a través de soluciones de capa 2 lo cual es básicamente reducir la carga de trabajo en la capa 1 haciendo que las transacciones ocurran “off chain”. Aunque la red principal no está necesariamente enterada de lo que ocurre en la segunda capa, esta forza la honestidad de las L2, resolver problemas, preservar datos, evitar robos, garantizar la validez de las transacciones, entre otras cosas (al menos conceptualmente).

Existen distintos tipos de soluciones de capa 2, vamos a tratar de explicar brevemente cada una de ellas.

Sidechains
Comenzaré mencionando las sidechains debido a que estas no son consideradas soluciones de capa 2 ya que estas se ejecutan en paralelo a Ethereum Mainnet, funciona de forma independiente debido a que tienen su propio algoritmo de consenso. Estas sidechains suelen funcionar igual que la Mainnet de Ethereum ya que se basan en la EVM por lo que cualquier dapp puede implementar su código en esta sidechain.

Ejemplo: Polygon Matic

State-Channels
Permite que los participantes realicen transacciones x cantidad de veces de forma “off-chain-” mientras envían solo dos transacciones en la cadena a la red Ethereum.

Ejemplos: Connext, Perun, Raiden.

Plasma
Una plasma chain es una blockchain separada que está anclada a la cadena principal de Ethereum, es decir, crea cada cierto tiempo checkpoints sobre los bloques que se han generado, y utiliza pruebas de fraude para resolver disputas en caso de que los validadores mientan. La idea ha sido olvidada ya que si los validadores mintieran de forma masiva y todos quisieran salir habría que enviar estos checkpoints a la Mainnet lo que haría que se congestionara la red.

Rollups
Los rollups agrupan (o "acumulan") cientos de transacciones en una sola transacción en la capa 1. Esto distribuye las tarifas de transacción L1 entre todos en el rollup, lo que lo hace más económico para cada usuario. Por lo tanto, los Rollups combinan la eficiencia de las transacciones con la seguridad de la red permitiendo que se alcance una mejora de escalabilidad de hasta 10x-100x.

Existen distintos tipos de Rollups, siendo los más conocidos los Optimistic y ZK.

Optimistic Rollups
Tal y como su nombre lo indica, estos rollups son optimistas, lo que significa que la capa base supone que las transacciones son válidas, pero pueden cuestionarse si es necesario. Aquí se introduce el concepto de “Secuenciador” quien es la parte encargada de publicar los datos de transacciones en la red principal y la red asume que son válidos.

A menos que alguien exija una aclaración la red interpretará que estos datos son válidos, en caso de que se sospeche de una transacción inválida, un ente conocido como “Verificador” ejecutará una prueba de fraude (Fraud Proof FP) para ver si esto ha ocurrido.

Al mismo tiempo, el sistema penalizará a las partes si presentan pruebas de fraude incorrectas. Por lo tanto, la red incentiva el buen comportamiento en la red entre las partes.

El proceso es el siguiente: después de una transacción, se envía un nuevo estado a la red principal en lotes. El secuenciador debe proporcionar un depósito, generalmente en ETH. Si un verificador nota una transacción fraudulenta, el Rollup ejecutará una prueba de fraude en la red principal y ejecutará el cálculo de la transacción, utilizando los datos de estado disponibles. La sanción suele ser una multa al ETH depositado por e la parte malintencionada. El verificador que ejecuta la prueba de fraude también podría ver reducido su ETH depositado si su reclamo es incorrecto.

La define que estas disputas pueden tardar alrededor de 7 días en llevarse a cabo, lo que evita que los fondos sean retirados de la OR protegiendo a la red ante robos.

Ejemplos: Arbitrum, Optimism, Metis Andromeda, Boba Network

Zero Knowledge Rollups
Implementa pruebas de conocimiento cero en cada lote. Esto significa que la red puede verificar inmediatamente los lotes válidos y rechazar los no válidos. Por lo tanto, los ZK-Rollups no se enfrentan a largos periodos de retiro, como en el caso de los Optimistic Rollups. Los retiros están disponibles poco después del lote y la prueba de validez se publica en la red principal. Esto también implica que no hay demoras al mover fondos entre capas.

Básicamente, aquí las transacciones se calculan fuera de la cadena y luego se suministran datos comprimidos a Ethereum Mainnet como prueba de su validez (Validity Proof VP).

Ejemplos: ZkSync, Loopring, dYdX, Starknet.

Rollups menos conocidas

Sovereing Rollups
No depende de la capa base para validar sus transacciones. Puede hacer actualizaciones y bifurcaciones sin permiso.

Settlement rollup
Un tipo de Sovereing Rollup creado para que otras capas de ejecución se implementen encima.

Rollups híbridas

Validium
Un tipo de ZK-Rollup que publica sus datos de transacciones en un entorno separado de las pruebas ZK (conocido como disponibilidad de datos fuera de la cadena).

Optimistic Validium
Un tipo de Optimistic Rollup que utiliza el modelo de Validium.

Volition
Un híbrido que brinda a los usuarios la opción de publicar datos en la cadena (Modo Rollup) o fuera de la cadena (Modo Valididium).

Celestium
Un tipo de Validium que utiliza la modalidad de pruebas de fraude como los Optimistic. Los datos están garantizados por la red Celestia que se compromete a proporcionar la info requerida para su verificación.

Enshrined Rollup
Este tipo de rollups aún no se implementan pero se ha hablado que estarán unidos a los clientes de Ethereum, eliminando los riesgos de smart contracs y bugs que se tengan a nivel de bridges.

Anytrust
Un tipo de Optimistic Validium que actúa como una sidechain (donde la seguridad está garantizada por los operadores), el Validium vuelve a un Optimistic Rollup si a partir de cierto estado no hay cooperación entre los operadores.

El mañana
Como podrán darse cuenta. La cantidad de soluciones de capa 2 es inmensa y muy compleja para explicarse en un artículo “introductorio”. Lo resaltable aquí es la perspectiva a largo plazo que se presenta, por ejemplo, Epolynya espera que para el 2030 Ethereum sea capaz de correr 50 millones de TPS una vez que alcancemos los 1024 shards y los rollups estén lo suficientemente desarrollados, probados e incentivados.

Si quisieras aprender más sobre la escalabilidad y el estado actual de Ethereum te recomiendo seguir estas cuentas:

@0xJoxes
@epolynya
@TimBeiko
@likebeckett
@christine_dkim
@BenGiove

Aquí termina la segunda parte, hablar de escalabilidad de Ethereum es un tema muy complicado que lleva tiempo asimilar debido a que seguimos en constante desarrollo. Toma este artículo como una guía para iniciarte en el tema y si te gusta las cuentas mencionadas arriba serán clave para tu aprendizaje.

Si te gusto te invito a darle like y rt a la publicación en Twitter para que esta información pueda llegar a más personas.

Subscribe to Ariiellus
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.