El protocolo Optimism es un protocolo Layer2 que tiene como finalidad ayudar a los usuarios de Ethereum a acelerar y pagar menos comisiones por las transacciones que se realizan en la red Ethereum. Para lograr esto, Optimism funciona en base a una tecnología conocida como “Optimistic Rollups”. 

Esta es una tecnología de escalabilidad del tipo “rollups”, la cual encapsula un gran número de operaciones de Ethereum y las sintetiza en una sola operación que luego se almacena en la blockchain. De esta manera, el protocolo Optimism puede tomar cientos de operaciones y reducirlas a una sola, logrando aumentar la escalabilidad de la red a la vez que se mantiene la seguridad.

Optimism se presentó en junio de 2019 y para octubre del mismo año ya habrían lanzado su testnet. Aún así, no fue hasta enero de 2021 cuando se lanzó una mainnet alfa y finalmente en diciembre de 2021 cuando Optimism fue lanzado de forma global con soporte completo a Ethereum y su EVM.

¿Qué son y cómo funcionan las Optimistic Rollups?

Los Optimistic Rollups (ORs) son un tipo muy especial de operación sobre blockchain. Esta permite usar criptografía avanzada para agrupar decenas o cientos de operaciones en una sola. De esta manera, podemos aumentar la capacidad de procesamiento de la blockchain, y al mismo tiempo, mantener la capacidad de verificación de las operaciones realizadas con solo verificar la operación sintetizadora.

Las ORs no solo permiten este tipo de acciones sobre transacciones sencillas, sino que también se pueden aplicar sobre operaciones más complejas que incluyan smart contracts. De allí que Optimmistic Rollups sea considerada una de las tecnologías de escalabilidad más grandes y prometedoras de Ethereum.

Para lograr este funcionamiento Optismism ha creado una red de nodos especiales sobre la cual ejecuta la Optimism Virtual Machine (OVM), un derivado de la máquina virtual de Ethereum (EVM). El conjunto de redes de nodos OVM permite establecer una red descentralizada de nodos que pueden interactuar como Layer2 de Ethereum. Allí, los desarrolladores pueden replicar DApps de Ethereum y lanzarlas dentro de la red Optimism para su uso. Dado que Optimism y Ethereum son compatibles a nivel de código y criptografía, dicha migración es casi transparente, lo que alivia el trabajo de los desarrolladores y al mismo tiempo facilita el acceso a los usuarios. De hecho, puedes usar Optimism con monederos Ethereum como MetaMask, todo ello con un par de clics para lograrlo.

Optimistic Rollups, la clave tecnológica de Optimism

Ahora bien, el nombre de Optimistic Rollups tiene su origen en dos puntos:

En primer lugar, se utilizan los “Rollups”, que no son más que conjuntos de transacciones agrupadas que se sintetizan en una sola operación y quedan almacenadas en la cadena principal. Cuando los usuarios de Optimism realizan operaciones, estas operaciones son manejadas por los nodos de la red Optimism. 

Dicha red funciona en base un esquema Proof of Stake (PoS), con sus propias reglas de consenso y velocidad de operación. Todas esas operaciones son tomadas por los nodos Optimism y al validar un conjunto de las mismas generan una prueba criptográfica única que les permite establecer relación directa entre las operaciones de la red Optimism y la operación que se envía a la red Ethereum, donde puede verificarse y computarse como cualquier otra operación Ethereum.

En segundo lugar, se le llama “Optimistic” por el hecho de que la solución busca siempre el equilibrio óptimo entre seguridad y velocidad. Esto es posible porque los nodos de Optimism sólo publican la información mínima necesaria sin pruebas, asumiendo que estos funcionan sin cometer fraudes y sólo proporcionando pruebas en caso de fraude.

Por otro lado, al igual que la mayoría de las soluciones Layer2 de Ethereum, los fondos transaccionados en Optimism se almacenan en un contrato inteligente en Ethereum, donde los usuarios depositan fondos, los nodos Optimism se inscriben y se comprometen las pruebas de fraude. El proceso habitual con el que se puede interactuar con este tipo de soluciones es el siguiente:

  1. Un usuario envía una transacción de despliegue de un smart contract off-chain a un nodo Optimism.
  2. El nodo despliega localmente la transacción que crea el nuevo smart contract.
  3. Se computa la nueva raíz de estado (también conocida como raíz merkle).
  4. El nodo Optimism crea una transacción de Ethereum que contiene la nueva raíz de estado, con lo que se toma como completada la operación.

Ventajas y desventajas de Optimism

Las principales ventajas de esta tecnología son que:

  1. Ofrece una enorme flexibilidad en la computación generalizada (Turing-completo / compatible con EVM).
  2. Permite aumentar dramáticamente la escalabilidad sin necesidad de realizar hard forks sobre Ethereum. (Optimism puede procesar en teoría unas 2000 transacciones por segundo).
  3. Todos los datos están disponibles en la cadena (no es necesario confiar en los proveedores de datos fuera de la cadena).
  4. Optimism es resistente a las reorganizaciones y los ataques que puedan ocasionar la misma. Por ejemplo, una reorganización de Ethereum tendría que ser superior a los 50 bloques para que la red comience a ser afectada y debe reorganizarse. Esto garantiza que la red Optimism mantendrá niveles de seguridad parecidos a los de Ethereum en todo momento.

Mientras que entre sus principales desventajas podemos mencionar:

  1. Rendimiento limitado en comparación con algunas otras soluciones de Layer2 (Plasma, ZK Rollups, etc.).
  2. Se plantean algunos problemas de seguridad adicionales (que se comentan a continuación).
  3. Dentro de la red Optimism es bastante sencillo aplicar algún tipo de censura, que, si bien es detectable, no deja de ser un punto en contra de la implementación.

Pasando tokens entre Ethereum y Optimism

Optimism está diseñado para que los usuarios puedan enviar mensajes arbitrarios entre los smarts contracts de Optimism y Ethereum. Esto hace posible la transferencia de activos, incluyendo tokens ERC-20, ERC-721 y ERC-1155, entre las dos redes, sin complicaciones. El mecanismo exacto por el que se produce esta comunicación difiere dependiendo de la dirección en la que se envían los mensajes.

Optimism utiliza esta funcionalidad en el puente estándar para permitir a los usuarios depositar activos desde Ethereum a Optimism y también permitir la retirada de los mismos desde Optimism de vuelta a Ethereum. Consulte la documentación para desarrolladores y los ejemplos sobre los detalles del funcionamiento interno del puente estándar.

Para enviar mensajes desde Ethereum a Optimism, los usuarios simplemente necesitan activar el contrato en Ethereum para crear un nuevo bloque en Optimism. Los bloques creados por el usuario pueden incluir transacciones que parecen originarse en la dirección que generó el bloque. Por su parte, no es posible que los contratos en Optimism generen fácilmente transacciones en Ethereum de la misma manera que los contratos de Ethereum pueden generar transacciones en Optimism. 

Como resultado, el proceso de envío de datos desde Optimism a Ethereum es algo más complicado. En lugar de generar automáticamente transacciones autenticadas, debemos ser capaces de hacer declaraciones demostrables sobre el estado de Optimism a los contratos que se encuentran en Ethereum.

Hacer declaraciones demostrables sobre el estado de la red requiere un compromiso criptográfico. El estado de Optimism se actualiza después de cada bloque, por lo que este compromiso también cambiará después de cada bloque. Los compromisos se publican regularmente (dos veces por hora) en un contrato inteligente dentro de la red Ethereum.

Los usuarios pueden utilizar estos compromisos para generar pruebas de árbol de Merkle sobre el estado de Optimism. Estas pruebas pueden ser verificadas por contratos inteligentes en Ethereum. Optimism mantiene un conveniente contrato de comunicación entre cadenas que permite verificar estas pruebas en nombre de otros contratos. De esta manera se mantiene la comunicación entre ambas redes.

Optimism, un campo abierto para DeFi

La capacidad de Optimism para ejecutar cualquier smart contract diseñado en Ethereum sobre su propia red le permite ser un espacio de desarrollo para Web3 y DeFi sin igual. De hecho, Optimism cuenta con uno de los mayores ecosistemas DeFi desplegados.

Stellar Network

Desde aplicaciones DeFi como Synthetix, Lyra, Perpetual, Uniswap, 1inch, AAVE, Curve Finance, DeFi Saver, Instadapp, Matcha, Tornado Cash, pasando por ecosistemas NFTs y bridges cross-chains. La razón de esta expansión es su velocidad de operación, el muy bajo coste de las operaciones y la sencillez de implementar las DApps sobre esta red.

Usando Optimism

Usar Optimism es bastante sencillo. Si ya tienes instalado un monedero como MetaMask, agregar soporte para usar Optimism es bastante sencillo. Solo basta con agregar estos parámetros al monedero:

  1. Nombre de la red: Optimism
  2. Dirección URL de la red: https://mainnet.optimism.io
  3. Identificador de cadena: 10
  4. Símbolo de moneda: ETH
  5. Dirección URL del explorador de bloques: https://optimistic.etherscan.io

Y si quieres hacerlo de forma más sencilla, puedes usar Chainlist para agregar la red a tu MetaMask con un par de clics:

Stellar Network

En cualquiera de los casos, una vez agregada la red, solo deberás ir a cualquier DApp que use Optimism y podrás usarlo sin mayores problemas. Por ejemplo, en la siguiente captura puedes ver como usamos Uniswap dentro de la red Optimism.

Stellar Network

En todo caso, recuerda que para usar Optimism debes agregar saldo a tu favor dentro de la red Optimism, algo que puedes hacer desde su bridge. El proceso es bastante sencillo, solo deberás tener saldo a favor en tu monedero (usando la red Ethereum) y agregar el saldo en token que deseas para que lo puedas usar en la red.

Stellar Network