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

Arbitrum AnyTrust

29 de Marzo de 2024

En [este artículo] te hemos hablado de los principales productos ofrecidos por Arbitrum: Arbitrum Nova y Arbitrum One. Dichos servicios se construyen y deben sus funcionalidades a un stack tecnológico conocido con el nombre de Arbitrum Nitro (básicamente, el conjunto de rudimentos tecnológicos que, alejados de la UX, hacen que funcionen los productos que tu vas a utilizar a través del frontend). Derivado, a su vez, de dicho stack tecnológico, tenemos una variante del mismo, conocida como AnyTrust, que apunta a una ofrecer un servicio mucho más económico a los usuarios sacrificando, en pos de esto, una porción ínfima de seguridad. Pero vayamos por partes.

De nuevo: ¿cómo funciona Arbitrum?

Como ya sabrás, a través de rollups, Arbitrum se encarga de compilar muchas transacciones, comprimirlas (como si estuviésemos hablando de un archivo .zip) y enviarlas a la red principal de Ethereum ya procesadas y pesando mucho menos.

Durante este proceso existen distintos nodos que se encargar de varias acciones (por ejemplo, los validators, que stakean dinero para asegurar que una trasnacción es válida o no). Pues bien: todos los nodos, durante todo el proceso, deben tener acceso a los datos que se están manejando. En ota palabras, los datos de cada transacción tienen que ser públicos durante todo su recorrido en la L2 (y, desde ya, en la L1). ¿Cómo asegura esta disponibilidad y auditabilidad de datos Arbitrum? Enviando toda la información, de manera comprimida, hacia la L1, en donde cualquiera puede verla. Pero aquí es donde entran los costos, porque enviar esa información desde la L2 a la L1 representa un fee; un determinado costo de gas. Y ese es uno de los costos principales de todo Arbitrum. Y es un costo que, por supuesto, se ve reflejado en el costo que Arbitrum tiene para los usuarios del servicio.

¿Pero qué pasaría si nos ahorrásemos este paso? Es decir, si no tuviésemos que enviar la información desde la L2 hacia la L1. Esto, desde ya, abarataría los costos de operación. Y es justamente esto lo que propone el protocolo AnyTrust.

AnyTrust

Por supuesto que al utilizar AnyTrust la información debe seguir estando disponible para cualquiera que quiera auditarla. Si esto no fuese así, estaríamos ante un sistema casi TradFi en el cual los datos de las operaciones se mantienen lejos de cualquier mirada, y nadie sabe en realidad que esta sucediendo tras bambalinas (por ejemplo, cualquier banco de tu ciudad). Estaríamos hablando, en definitiva, de una operación centralizada en la que un organismo tiene el acceso exclusivo a la información, lo cual desnaturalizaría el ethos de Arbitrum, esencialmente alineado con los principios y valores de Ethereum.

Entonces, ¿esta disponibel dicha información si utilizamos el protocolo AnyTrust? Sí, pero no es enviada a la L1, sino que se mantiene en el poder de un Comité de Disponibilidad de Datos, abreviado DAC según sus siglas en inglés (Data Availability Committee). Este Comité es quien se encarga de atesorar la información y de proporcionársela a cualquier parte interesada en ella, evitándose con esto el sistema la necesidad de enviar los datos a la L1 y ahorrandose, con esto, los gastos de gas.

El Comité, por supuesto, es público, y se asume que, de entre sus miembros, al menos dos son honesto. Supongamos que el comité esta formado por 5 miembros que prometen que darán la información cuando esta sea reclamada. Digamos que, llegado el caso, únicamente 4 de 5 se comprometen a dar la información. Pues bien: dentro de esos 4, como hay dos honestos, debe encontrarse, al menos, un miembro honesto que nos dará el acceso a la información.

¿Debemos confiar en terceros para que todo esto funcione? Sí. No podemos, entonces, definir a este sistema como uno trustless, pero sí, quizás, definirlo como de mild trust assumption.

Especificando un poco más sus funciones, el Comité se encarga de producir lo que se conoce como Certificado de Disponibilidad de Datos, o, en inglés, un DACert (Data Availability Certificate), en donde se encuentra el hash (es decir, un código identificatorio único) del bloque de datos, los datos de los miembros del Comité que han habilitado este certificado y, además, una fecha de expiración. Estos certificados están disponibles para los secuenciadores que, desde aquí, tienen dos opciones:

  • Pueden agarrar esta información compilada y enviarla a la L1, en donde podrá ser leída tanto por la L2 como por la L1
  • O puede enviar a la L1 este certificado que, en definitiva, no contiene la información, sino que es un, justamente, un elemento que certifica que dicha información esta disponible.

Como ya entenderás, la primera opción es más costosa: debería pagarse el gas para enviar los datos de la L2 y la L1, más allá de que el secuenciador este mandando información comprimida. Esto es, en efecto, lo que haría el secuenciador si estuviese actuando dentro del protocolo de Arbitrum One, utilizando Nitro. Pero si nos encontramos utilizando Arbitrum Nova y AnyTrust, el camino seguido será el segundo: se mandará un DACert, evitando todos los costos de la primera opción.

Para mayor claridad podemos pensarlo esquemáticamente de esta forma:

1) Si utilizas Ethereum como tu red principal para, digamos, relizar una transacción, las tres tareas principales operativas se repartirían de la siguiente manera:

  • EJECUCIÓN: ETHEREUM
    DISPONIBILIDAD DE DATOS: ETHEREUM
    CONSENSO: ETHEREUM
  • Es decir, todo quedaría en manos de Ethereum. Y esto, dada la congestión de Ethereum, tendría un costo, variable pero muchas veces elevado.

2) Si utilizas Arbitrum One para realizar dicha transacción, la repartición de tareas se vería así:

EJECUCIÓN: ARBITRUM ONE
DISPONIBILIDAD DE DATOS: ETHEREUM
CONSENSO: ETHEREUM

3) Por último, si hicieses uso de Arbitrum Nova, aparecería un nuevo actor:

EJECUCIÓN: ARBITRUM NOVA
DISPONIBILIDAD DE DATOS: ARBITRUM NOVA (DAC)
CONSENSO: ETHEREUM

Como vemos, las tres opciones tienes sus beneficios y sus contras. Si utilizas Ethereum no tendrás que cambiar de red, utilizar puentes, y mantendrás una experiencia totalmente descentralizada. Pero corres el riesgo de pagar comisiones de gas que, en ocasiones, serán muy costosas.

Si por el contrario decides utilizar Arbitrum One, mantendrás la misma seguridad que utilizando Ethereum ya que el manejo de datos y el consenso de los mismos se hallarán en Ethereum, pero a cambio tendrás la posibilidad de hacer tus operaciones pagando muchísimo menos que si utilizaras Ethereum. La experiencia sería casi igual de descentralizada.

Por último, si decidieras usar Arbitrum Nova y su protocolo AnyTrust, el costo sería ínfimo pero, a cambio, perdería un poco de descentralización al "depender", de alguna manera, del Comité y de la confianza que este te produzca.

El objetivo de protocolos que permiten operaciones muy, muy baratas, como AnyTrust, es ofrecer opciones variadas para los usuarios. Por ejemplo, si quisieras hacer una transacción de mucho dinero, probablemente quieras extremar de manera total la seguridad, y utilizarás Arbitrum One. Si por el contrario la transacción es menor o estas diseñando un videojuego que necesite costos irrisorios, tu opción será Arbitrum Nova. En definitiva, es tu elección. Lo importante sigue siendo lo siguiente: la posibilidad de operar de manera segura, barata, y alineada en todo momento con el ecosistema de Ethereum.