¡Arbitrum Orbit estamos listos! Obtené más información sobre ser parte acá.

Arbitrum: conceptos previos

19 de enero de 2024

Preparando el terreno

Si estás aquí es porque quieres entender qué es Arbitrum, qué ofrece y cómo funciona. ¿Vamos a responder todo esto? Sí: pero antes de meternos en tema, quizás sea importante tener en claro algunos conceptos sin los cuales la naturaleza y el objetivo de Arbitrum no pueden ser entendidos: nos referimos, principalmente, a la blockchain y a sus potencialidades y desventajas. Por supuesto, si estas son noticias viejas, es posible volar directo al asunto, tratado [más abajo].

Blockchain e internet

Para comprender de qué se trata Arbitrum, debemos conocer el medioambiente en el cual Arbitrum nace y opera: la blockchain. A su vez, la blockchain necesita de internet para existir. ¿Y cómo podríamos definir de manera sencilla ambas cosas?

Podemos entender a internet, antes que nada —y remitiéndonos a su nombre— como una red: usuarios interconectados entre sí de manera global.

Esta red, que llamamos internet, sirve para intercambiar información de distinto tipo: imágenes, videos, transacciones, textos, certificaciones, y casi todo lo que se te pueda ocurrir.

Una característica típica del internet es su centralización y su mutabilidad. Esto significa que la información suele acumularse en nodos centrales (pensemos, por ejemplo, en las oficinas de Google) cuyo acceso nos esta en gran medida vedado; además, la disponibilidad y la seguridad de la información dependerá de la seguridad que posean dichos nodos centrales.

Por otra parte, la información, que jamás es 100% privada, puede ser alterada, falsificada o borrada: es plausible de alteraciones.

La blockchain, por su lado, también puede definirse como una red en la cual los usuarios pueden intercambiar información; como una base de datos distribuida entre todos los usuarios. Si bien esta información, en la actualidad, esta principalmente representada por las transacciones financieras, día a día se van desarrollando nuevas posibilidades de uso: desde aquellas relacionadas con su aplicabilidad en sistemas de salud y transporte hasta las referidas a las identidades digitales seguras, los sistemas educativos o la propiedad intelectual.

La gran diferencia entre la blockchain y internet es que la primera opera de manera descentralizada, pública, auditable, transparente e inmutable: la información no esta alojada en nodos centrales; todos los movimientos de información quedan registrados en un gran "libro" y pueden ser vistos por todos en cualquier momento y, a su vez, es prácticamente imposible, dada la estructura misma de la blockchain, que la información y su trayectoria pueda ser alterada, falsificada o borrada.

Por último, debemos señalar que existen diversos proyectos y plataformas dentro del ecosistema blockchain, siendo uno de las más importantes Ethereum: probablemente la plataforma más comprometida con la construcción de una red democrática, creativa y ambiciosa a la hora de proponer nuevas formas de gestión, creación y almacenamiento de datos en el futuro. Para que te des una idea de su importancia, 3000 de las 4000 aplicaciones descentralizadas existentes se construyen sobre Ethereum, más del 80% de todos los proyectos de finanzas descentralizadas son nativos de esta red, es una de las blockchains que cuenta con más desarrolladores trabajando activamente y su criptomoneda —el Ether o ETH— es la segunda más importante del ecosistema.

No todas son ventajas

Hasta aquí, todo parece un jardín de rosas en la blockchain. Sin embargo, existen algunos problemas, siendo uno de los más urgentes el de la escalabilidad. Pero vayamos por partes.

Hemos hablado hasta aquí de intercambio de información. Dicho en los términos más básicos: la información X, para ser intercambiada, viajará desde el punto A hasta el B. Y en términos menos abstractos: es posible enviar 1 ETH desde la billetera del usuario A hacia la billetera del usuario B. Esto, por supuesto, ocurrirá en alguna fracción de tiempo: los intercambios llevan su tiempo. Además, no solo tenemos que considerar el tiempo que lleva realizar una transacción, sino cuantas transacciones pueden llevarse a cabo de manera simultánea.

Y es aquí donde la blockchain encuentra uno de sus grandes desafíos, ya que, por ejemplo, mientras la red de Visa (llamada VisaNet) puede soportar hasta 65000 transacciones por segundo (TPS), Ethereum, por su lado, tiene un máximo de 60 TPS. Esto, desde ya, limita la posibilidad de escalar; de ampliar los horizontes de uso y aumentar lo que se conoce como rendimiento.

Probablemente, la escalabilidad podría aumentarse. Sin embargo, un aumento descontrolado requeriría bajar los niveles de otros dos elementos claves: la seguridad y la descentralización. Estos tres conceptos (los que te acabamos de marcar en negritas) son los que conforman el llamado trilema de la blockchain. Y, en la práctica, lo que sucede es que únicamente pueden asegurarse dos de estos tres elementos: si se quieren potenciar aquellos, deberá sacrificarse el tercero que queda por fuera. Es decir: podríamos aumentar la escalabilidad y la descentralización, pero tendríamos que sacrificar en el camino a la seguridad total del sistema. Y así, en la combinación que se te ocurra.

El desafío, por lo tanto, es crear una red lo más eficiente y poderosa posible, sin sacrificar ni la seguridad, ni la escalabilidad ni la descentralización.

Una aclaración importante: las notransacciones en Ethereum tiene un costo (llamado fee), y estos costos aumentan cuando aumenta el tráfico de la red. Por lo tanto, no solo estamos ante problemas de rapidez y simultaneidad, sino también de costos que podrían reducirse, redundando todo esto en beneficio de los usuarios.

Capas

Antes de ir tras las posibles soluciones de este dilema, debemos conocer un poco más acerca de la estructuración de la blockchain. Conviene pensarla como una construcción que tendrá, en principio, cuatro capas (que llamaremos a partir de ahora por su nombre en inglés: layers) señaladas con los números 0, 1, 2 y 3. Y como hablamos de intercambios de información y de cosas que se mueven entre un punto A y un punto B, te sugerimos imaginar a la blockchain como una gran autopista, segura y amplia, construida sobre columnas y, por encima de ella, otras autopistas elevadas, más simples que la principal. Vayamos, entonces, por partes:

  • Por supuesto, la primera capa será una base estructural, sobre la cual todo se construye hacia arriba. Sin embargo, hay distintas concepciones con respecto a qué conforma esta base estructural. Algunos definirán a esta layer 0 como aquella en donde se ubican elementos básicos como el hardware, Internet y los distintos tipos de conexiones y redes sin los cuales la blockchain no existiría. Otros, sin embargo, llamarán a todo aquello hardware layer y hablarán, luego, de una layer 0 conformada únicamente por redes (networks) o plataformas que permiten la interoperabilidad de distintos tipos de proyectos o protocolos blockchains que se construyan sobre dichas redes, dejando fuera de la definición al hardware. Por último, algunos prefieren colocar bajo la denominación de layer 0 a ambas definiciones. Sea como sea: en nuestro ejemplo, podemos entender a la L0 como la tierra misma, el socavón, el hormigón, las vigas, las columnas y todos los elementos sobre los que va a construirse aquella compleja y gran autopista que es la blockchain; aquella capa conformada por todos los elementos básicos y esenciales: el hardware, Internet, networks, mecanismos de concenso, etcétera.
  • La layer 1 es aquella capa que permite que una blockchain exista con sus características propias y cumpla una función. Ethereum es una L1: tiene su propio lenguaje de programación, sus reglas y parámetros, sus tiempos, sus modos de resolver conflictos, sus tipos de procesos, y demás. De esta manera, Ethereum sería esa gran autopista que se construye sobre una base: tiene sus características propias, sus reglas, su señalización particular, sus medidas de seguridad, nos permite movernos de tal sitio a aquel otro, etcétera. Y, no olvidemos: tiene sus dificultades; entre ellas, que no permite el movimiento de más de cierta cantidad de vehículos por segundo: que, muchas veces, se crean en dicha autopista embotellamientos, lo cual enlentece el tráfico. Por supuesto, Ethereum va actualizándose y proponiendo soluciones internas en pos de mejorar su performance, pero existen también otras posibilidades a la hora de aumentar la eficacia del ecosistema.
  • ¿Y qué sucede en la layer 2? Es justamente en este nivel donde llegan las denominadas soluciones de escalabilidad de capa 2, tambien conocidas como L2s. Y es que existen redes que tienen como objetivo, justamente, mejorar la velocidad de, por ejemplo, Ethereum, y favorcer con esto la escalabilidad general de dicha blockchain. Las L2 pueden ser concebidas como autopistas construidas sobre la autopista general y conectadas con esta. Imaginemos que hay un embotellamiento en la autopista principal —Ethereum— que hace lento el proceso de llegar del punto A hacia el punto B. De pronto, hay un desvío que nos lleva a una autopista superior: tomamos ese desvío, cruzamos por encima del embotellamiento y en muy poco tiempo volvemos a descender a la autopista principal, en el sitio al que queríamos llegar. Hemos salidos de la L1, viajados por la L2, y vuelto a descender a la L1, ahorrándonos mucho tiempo.
  • Por último, las layer 3 son aplicaciones con interfaces intuitivas y amigables para los usuarios que "enmascaran" todos los procesos complejos que suceden en las layers subyacentes y permiten a los usuarios interactuar con la blockchain de manera sencilla.

Roll-ups

Si queremos entender de qué modo una L2 ofrece una solución de escalabilidad, primero debemos entender de manera general cómo funciona el sistema de procesamiento de transacciones en Ethereum.

(Por cierto: te recomendamos que, antes de continuar, le eches una mirada a éste artículo en donde podrás aprender más acerca del concepto de las cadenas de bloques)

Cada bloque de información en la red principal de Ethereum puede contener distintos tipos de información: la transacción en sí, completa —lo cual ocupa más espacio y tiempo de trabajo al procesarla— o, por otro lado, simplemente los datos de dicha transacción. Podemos imaginarlo de esta manera, con dos escenarios ficticios:

1.- Pedro quiere darle a Juan 50375 dólares con 96 centavos. Al juntarse ambos, Pedro deberá sacar de una bolsa una gran cantidad de billetes y algunas monedas, que serán colocadas en una mesa para que Juan, luego, pueda contarlas y asi cerciorarse de que el monto es correcto. Quizás se equivoque y deba hacer esto tres veces. Luego deberá guardar todo el dinero en algún sitio y marcharse.

2.- Pedro quiere darle la misma cantidad a Juan. Se juntan. Piden un té verde y un capuchino. Pedro saca un papel del bolsillo: es un cheque firmado por 50375 dólares con 96 centavos. Se lo entrega a Juan, quien se asegura de que los datos son correctos. Fin de la transacción. El té y el capuchino aún están calientes.

El procesamiento y el almacenamiento de las transacciones on-chain, es decir, en la red principal de Ethereum, es pesado y lleva tiempo.

Lo que puede hacerse es, entonces, procesar dicha transacción off-chain, por fuera de la red principal y, una vez resuelta y estipulados todos sus movimientos, montos, emisores y receptores, enviar a la red principal únicamente los datos de dicha transacción. De este modo, ocuparemos menos espacio en la red principal, y el proceso más engorroso se hará por fuera de esta. Es decir: habrá menos congestionamiento en nuestra autopista principal.

Para llevar a cabo esta tarea, se emplean los rollups ("compiladores" en inglés; la idea viene de "enrollar"). Los rollups toman varias transacciones que están ocurriendo en Ethereum, las estudian, procesan y validan de manera off-chain, es decir, fuera de la red principal, y una vez realizada esta tarea, envían todos los datos de dichas transacciones de vuelta a la red principal. "Comprimen" varias transacciones en una hoja de datos y, con esto, ayudan a mejorar el tráfico en la red principal de Ethereum, reduciendo los costos y ayudando así a aumentar la escalabilidad.

Existen, por supuesto, muchos tipos de rollups, con funcionalidades y mecanismos distintos. Al fin y al cabo, lo que deben hacer es procesar y validar transacciones; es decir: verificar que las transacciones son correctas, que los montos, los puntos de llegada y de partida y las trayectorias no son fraudulentos, y que guardan una relación coherente y lógica con todo el resto de operaciones que se realizan en Ethereum. Recuerda que en la blockchain todo esta a la vista, y que se trata de un gran libro contable abierto para todos. Pongamos, nuevamente, un ejemplo bajado a tierra:

  • En la blockchain X existen 1000 tokens repartidos entre los usuarios A, B, C y D, cada uno con 250 tokens.
  • A le envía a D 200 tokens. El sistema debe cerciorarse de que todo se realice de manera adecuada y legítima. En este caso, al finalizar la transacción, la escena será la siguiente:
    • En la red habrá 1000 tokens.
    • A tendrá 50 tokens
    • B y C tendrán 250 cada uno.
    • D tendrá 450 luego de haber recibido 200 de A.
  • Luego, otra transacción: D le envía 500 tokens a B. La transacción empieza a ser estudiada. Se descubre que es fraudulenta o que existe algún problema, ya que han aparecido 50 tokens que antes no existían, lo cual rompe la lógica matemática de la red.

Por supuesto, el funcionamiento es bastante más complejo que este ejemplo y, como hemos dicho, admite distintos abordajes y mecanismos a la hora de llevar a cabo las verificaciones.

En este caso haremos mención a un tipo de rollup, llamado optimistic rollup. Estos rollup son conocidos como "optimistas" porque, tras recolectar muchas transacciones para verificarlas de manera off-chain, las consideran a todas, en principio, como válidad y correctas: tienen una mirada "optimista" con respecto a la validez de las transacciones. Así, las transacciones son aprobadas de manera mucho más rápida y enviadas a la red principal de Ethereum, en donde, durante un periodo de espera, cualquiera puede indicar que tal o cual transacción es fraudulenta, enviando una prueba de fraude, lo cual habilitaría la revisión de dicha transacción.

Este proceso —que es bastante más complejo en sus aspectos técnicos— es, sí, mas susceptible a ataques o movimientos fraudulentos que otro tipo de rollups pero, por otro lado, es mucho más rápido y permite aumentar de manera considerable la escalabilidad de Ethereum. En la balanza general, los riesgos, si bien existentes, son ínfimos en comparación con la ganancia en efectividad, costos y tiempo.

Ahora es el momento en el que deberías preguntarte: ¿qué tiene que ver todo esto con Arbitrum? Haz click aquí para enterarte.