owned this note
owned this note
Published
Linked with GitHub
# Arbitrum One y Arbitrum Nova
---
En artículos anteriores puedes haber aprendido cómo esta estructurado Arbitrum: quiénes forman parte y participan del proyecto, como se organizan, cuál ha sido su origen y, principalmente, cuál es su misión y objetivo. También habŕas leído que Arbitrum, como todo proyecto, ofrece ciertos productos o servicios, siendo Arbitrum One y Arbitrum Nova los dos principales y con los que más vas a interactuar. Veamos, entonces, de qué se trata todo esto.
---
## Antes que nada: stacks tecnológicos
### Arbitrum Nitro
Antes de comprender en mayor profundidad qué pueden ofrecerte Arbitrum One y Nova, es importante entender el concepto de _stack tecnológico_. Es sencillo: podemos definirlo como el conjunto de elementos que hacen posible la existencia y funcionalidad de cualquier tipo de aplicación. Estos elementos son, por ejemplo, las bases de datos, el lenguaje de programación y lo que se ha creado con dicho lenguaje de programación, los marcos de desarrollo (también denominados _frameworks_), los servidores, etcétera. De alguna manera, puedes pensar en todo esto como aquello que está _detrás_ ---el denominado "backend"--- de la aplicación con la que interactúas; son, en definitiva, las bambalinas que el cliente no ve, pero que hacen que el producto que utiliza exista como tal. En un ejemplo material, podríamos pensar en un coche: tú te subes en él y disfrutas de la experiencia de manejo, pero bajo el capot, fuera de tu vista, existe todo una pila (stack) de tecnología que hace posible que tu automóvil exista como tal: cables, pistones, alternadores, bujías, inyectores, tubos, estructuras metálicas, una organización determinada de los distintos elementos, etcétera.
Ahora bien: el stack tecnológico que está detrás de los productos de Arbitrum es denominado Arbitrum Nitro. Llamamos, entonces, de esta forma, a todo aquel desarrollo que permite la existencia de los distintos productos con los cuales puedes interactuar en Arbitrum.
Arbitrum Nitro ---que es la evolución del stack originario, llamado Classic--- es el responsable de dotar a las redes de Arbitrum de las características que los colocan como la solución número 1 en el mundo de las L2. Entre otras ventajas, Arbitrun Nitro aporta una enorme compatibilidad con Ethereum, tiene una gran capacidad de compresión de datos (lo cual redunda en eficiencia y bajos costos), interoperabilidad, sistemas robustos de detección de fraudes y bugs, compartimentación de tareas (por ejemplo: ejecución de acciones por un lado y testeo de dichas acciones por otro), y demás atributos orientados hacia la rapidez, la seguridad y los bajos costos --- en definitiva: hacia la escalabilidad como fin último.
### AnyTrust
Como hemos dicho, Arbitrum Classic ---el antecesor de Nitro--- ya permitía operar en Ethereum con unos costos muchísimo menores y manteniendo la seguridad de la blockchain. Nitro representó, a su vez, una enorme mejora de desempeño en cuanto a agilidad, costos y compatibilidad. Pero es posible dar un paso más allá en relación con los costos: sacrificando una porción mínima de seguridad al cambiar el enfoque de verificación de operaciones, es posible crear una versión del stack tecnológico Nitro que sea aún más económica que la original. Esto existe y es lo que se conoce como AnyTrust: una variante de Arbitrum Nitro enfocada a dar la experiencia más económica posible a través de ciertas modificaciones relacionadas con la seguridad (que, repetimos, representan una reducción mínima en comparación con la reducción de costos que ofrecen en contrapartida). Si queremos continuar con un ejemplo automovilístico, podemos pensar en AnyTrust como un vehículo que consume mucho menos combustible ---lo cual te permite ahorrar dinero--- y que, para conseguir dicha eficiencia y ahorro, ha sacrificado una fracción de segundo de su capacidad de frenada.
#### :arrow_right: Si quieres más información al respecto, no dudes en remitirte a la [documentación oficial de Arbitrum](https://docs.arbitrum.io/inside-arbitrum-nitro/)
---
## Monolítos y módulos
Es probable que haya leído ya nuestros artículos con respecto a la blockchain (si no es así, puede hacerlo [haciendo click aquí](). En ellos te hablamos de varios aspectos de esta tecnología, pero no de aquel referido al concepto monolítico y al modular, que consideramos útiles a la hora de entender mejor cómo funcionan Arbitrum One y Arbitrum Nova. Creemos que conocer el funcionamiento de aquello que vas a utilizar te permite un uso más responsable, seguro y confiado. Así que vayamos por partes.
### Blockchain monolíticas
Podemos definir a un monolito como a un bloque (es probable que lo imaginemos de piedra, pues de allí viene la palabra) sólido, sin fisuras ni separaciones posibles, muy difícil de romper. Este término puede ser aplicado a distintas esferas. Por ejemplo, podríamos decir que un sistema político es "monolítico" cuando dicho sistema no tiene partes que actúen con independencia, sino que todos los integrantes forman una sola voz. Podríamos decir que una decisión es "monolítica" cuando la misma no presenta fisuras ni dudas. Podríamos, también, aplicar este adjetivo a una blockchain. ¿Cómo sería esto?
Hay que empezar por una cuestión básica: las blockchains existen para permitirnos realizar ciertas acciones; para brindarnos un servicio. El ejemplo más arquetípico sera el de las transacciones financieras. Entonces, para llevar a cabo una transacción en la blockchain (por ejemplo, que Jorge quiera transferirle cierta cantidad de criptomonedas a Carolina), en la blockchain se llevarán a cabo tres funciones:
1. Una capa de la blockchain **ejecutará** las acciones en sí. Haciendo uso de cómo esa blockchain está construida, la lógica sobre la cual se estructura y sus códigos, ejecutará dicha transacción de una manera determinada. Esta función sucede en lo que puede denominarse, entonces **execution layer**.
2. Pero existe algo más que la transacción en sí que ha sucedido entre Jorge y Carolina: los datos. Efectivamente, yo puedo darle unos billetes en la mano a alguien, pero dicha acción puede ser transformada en datos en un papel, en donde escribiríamos quién le ha dado el dinero a quién, qué monto se ha entregado, en qué sitios, a qué hora, etcétera. En la transacción hipotética entre Carolina y Jorge sucede lo mismo: los datos de dicha transacción deben ser públicos y estar "publicados" a la vista de todos en la blockchain (recuerda que una de las características de la blockchain es su carácter público, auditable; un gran libro de contabilidad abierto para todos). Estos datos, entonces, son creados y almacenados y distribuidos en y por la blockchain en lo que podríamos denominar **data availability layer**, o *capa de disponibilidad de datos*.
3. Por último, como ya sabemos, una blockchain debe mantener su coherencia y su lógica interna. No puede haber, por ejemplo, dinero de más o dinero de menos entre todas las transacciones que sucedan dentro de ella. Si eso sucediese, el sistema entraría en peligro. Del mismo modo que en un libro de contabilidad, no debería haber ni un centavo de más ni un centavo de menos si las cosas se hicieron de manera correcta entre todas las partes. A través de distintos mecanismos, entonces, la blockchain debe lograr un consenso entre todas las transacciones y datos que ocurrieron y que ocurren. Esto sucede en la que podemos denominar **consensus layer**.
En las principales blockchains ---Bitcoin y Ethereum--- estas acciones se realizan de manera conjunta: las tres capas interconectadas trabajan prácticamente al unísono. Estas blockchains, y en cuanto a sus funciones, trabajan de manera **monolítica**. No existen módulos o sectores independientes pero interconectados que puedan realizar tareas de manera aislada, sino que toda la blockchain realiza, en conjunto, el trabajo. Y, por supuesto, esto requiere una capacidad de procesamiento y un peso computacional de gran envergadura, lo que resulta en costos y comisiones elevadas y, además, en un accionar a veces lento. El esquema básico sería:
**_EJECUCIÓN_: ETHEREUM
_DISPONIBILIDAD DE DATOS_: ETHEREUM
_CONSENSO_: ETHEREUM**
Como ya habrás empezado a entender, sería posible "quitarle trabajo" a la blockchain agregándole algún módulo que se encargue de parte del trabajo de manera off-chain (es decir, por fuera de la chain principal, monolítica). No todas las blockchains permiten esto, pero Ethereum sí (de hecho, Ethereum parece estar apuntando de manera decidida hacia un futuro basado en la modularidad). Y quienes vienen a la ayuda de Ethereum son, desde ya, las tecnologías rollup o, en definitiva, las denominadas soluciones L2, [sobre las que puedes informarte aquí]. Arbitrum, a través de sus servicios, se encarga de aliviar parte del trabajo de la red principal (de la L1) y, con esto, dotarla de rapidez, eficiencia y costos menores; es decir: proporciona soluciones de escalabilidad a Ethereum. Y esto lo realiza, principalmente, a través de Arbitrum One y Arbitrum Nova.
---
## Arbitrum One y Arbitrum Nova
### Arbitrum One
Estamos en condiciones, entonces, de definir a Arbitrum One como una solución L2 de tipo rollup optimista ofrecida por Arbitrum que, utilizando el stack tecnológico Nitro, permite a los usuarios interactuar con distintas dApps, las cuales, si compatibles con Arbitrum y a través de sus servicios, permitirán realizar transacciones y movimientos de manera mucho más ágil y con comisiones mucho más bajas que si esas mismas transacciones se llevasen a cabo enteramente en Ethereum. Por otro lado, la experiencia va a ser casi totalmente igual que si el usuario estuviese interactuando con Ethereum, dada la compatibilidad entre Arbitrum, sus servicios, y la L1.
¿Cómo es su funcionalidad? Podrás entenderlo fácilmente: Arbitrum One funciona, de algún modo, como un "módulo" que rompe con lo monolítico de Ethereum al realizar por su cuenta todas aquellas acciones que se realizan en la capa de ejecución de Ethereum. Arbitrum One "enrolla" o "compactas" muchas transacciones, las quita de la L1, las procesa por sí misma y, de esta manera, alivia el trabajo de la L1, reduciendo costos y agilizando el sistema. Las dos acciones restantes ---la disponibilidad de datos y el consenso--- siguen siendo realizadas por la L1, lo cual dota a toda la acción total, incluida a la ejecución en Arbitrum One, de la seguridad de Ethereum. En definitiva, si usas Arbitrum One obtienes la seguridad y la transparencia de Ethereum pero a una velocidad mayor y con unas comisiones mucho más económicas.
Esto, por supuesto, permite que se puedan llevar a cabo muchas más transacciones por segundo (TPS) que en la red nativa de Ethereum. Por otro lado, el mantener la sólida seguridad proporcionada por Ethereum es un factor determinante a la hora de mover y procesar gran cantidad de datos valiosos y de dinero.
El esquema, en definitiva, se vería del siguiente modo:
**_EJECUCIÓN_: ARBITRUM ONE
_DISPONIBILIDAD DE DATOS_: ETHEREUM
_CONSENSO_: ETHEREUM**
### Arbitrum Nova
Arbitrum Nova, por su parte, utiliza el stack denominado AnyTrust, sobre el que ya has aprendido. Tal cual te lo adelantamos, Arbitrum Nova ofrece unos costos totalmente reducidos incluso si los comparamos con los ofrecidos por Arbitrum One a cambio de reducir los estándares de seguridad. Y es que Arbitrum Nova no solo cumple las mismas funciones que One en cuanto a la ejecución de las transacciones, sino que también se encarga del consenso. SI vamos a nuestro esquema, veríamos lo siguiente:
**_EJECUCIÓN_: ARBITRUM NOVA
_DISPONIBILIDAD DE DATOS_: ARBITRUM NOVA
_CONSENSO_: ETHEREUM**
Como podemos ver, con este esquema Arbitrum Nova no ofrece la seguridad nativa de Ethereum ya que se encarga de manera autónoma de una de las tres acciones ---la disponibilidad de datos--- que, en definitiva, atañen a la seguridad total del sistema.
Siendo un poco más específicos, la disponibilidad de los datos de cada transacción no se aloja en Ethereum, sino que es asegurada por un Comité de Disponibilidad de Datos Externo conformado por una cantidad de miembros. Dicho comité, por su lado, es elegido y dependiente de la Arbitrum DAO y su gobernanza. La reducción de seguridad se da por el hecho de que los datos, a través de Nova, están en manos de un grupo reducido de personas. El sistema, a su vez, funciona con un mecanismo de confianza 2 - 7; es decir: está construido de manera tal que, simplemente con que 2 miembros del Comité sean honestos, el mismo es entonces incorruptible. Supongamos, entonces, que hubiese un comité de 25 personas. Debería existir una confabulación y una intención maliciosa entre 24 de ellas para poder modificar los datos y llevar a cabo acciones fraudulentas. Si simplemente 2 de esas 25 personas se mantuviesen aparte de dicho ataque malicioso, el mismo no podría llevarse a cabo; en ese caso, los datos se compilarían en un rollup y serían enviados a la red principal de Ethereum ---a la L1--- en donde estarían ya bajo la esfera de seguridad nativa.
Por otro lado, y en cuanto a los costos, el esquema nos muestra claramente que utilizando Nova dos de las tres tareas principales se llevan a cabo por fuera de la red de Ethereum, lo que minimiza de manera increíble las comisiones. Arbitrum Nova no solo ofrece costos muchísimo menores comparados con Ethereum, sino también con Arbitrum One. Pese a todo, y para, por ejemplo, proyectos DeFI que mueven cantidades importantes ---por no decir importantísimas--- de dinero, Arbitrum One siempre será una opción más viable dada su férrea seguridad.
#### :arrow_right: Si quieres más información al respecto, no dudes en remitirte a la [documentación oficial de Arbitrum](https://docs.arbitrum.io/for-devs/concepts/public-chains#arbitrum-one)
---