IBC🤝Ethereum.

Ignacio Moreno | M.D.V
3 min readOct 6, 2022

--

Si creéis como yo que la interoperabilidad va a ser una de las tendencias más fuertes a corto-medio y largo plazo, hoy vamos a ver como es posible conectar el protocolo de interoperabilidad más solido y utilizado de la industria (IBC) con una de las cadenas que más futuro tiene y donde la innovación está a la orden del día (Ethereum).

Este artículo está enfocado a explorar los detalles técnicos sobre la posibilidad de conectar Ethereum con IBC mediante pruebas criptográficas de cero conocimiento (ZK-snarks)

Para hacerlo digerible y fácil de entender vamos a dividirlo en 3 partes:

• Contexto.

• Puntos Clave.

• Soluciones.

Contexto:

Para que IBC funcione es necesario que los clientes ligeros de las cadenas de origen y destino se implementen en forma de contrato inteligente para poder verificar las transacciones cruzadas.

Sabiendo eso, para conectar IBC a Ethereum se necesitaría correr el cliente ligero de Tendermint en Ethereum a través de un contrato inteligente de Solidity.

Sin embargo, esto se puede volver tremendamente ineficiente ya que se requiere la verificación de cientos de firmas ed25519 en Solidity costando cada una de ellas unos 500k gas, lo que supone que verificar la cabecera de un cliente ligero entero costaría alrededor 50M gas, teniendo en cuenta que hay 100 validadores en las cadenas del ecosistema de Cosmos.

De ahi que se necesite una alternativa barata en Ethereum para verificar las firmas.

Si no sabes o quieres conocer más a fondo que es esto de Tendermint @alejandrogago00 te tiene cubierto con:

https://twitter.com/alejandrogago00/status/1574407729946296321

Empezareis leyendo uno y acabareis con la serie de Cosmos entera.👇

Puntos clave:

1️⃣ Conexión IBC 🤝Ethereum mediante clientes ligeros. ✅

2️⃣ Conexión IBC🤝Ethereum ineficiente en cuanto a gas. 🛑

Soluciones:

La inspiración viene de los Zk-rollups.

En vez de verificar las firmas en Ethereum se implementa una prueba criptográfica ZK que permita validar las firmas y verificar su prueba en-cadena.

Para ello se genera una prueba “zk-snark” que agrupa las firmas ed25519 en lotes que hagan que se logre esa eficiencia económica que antes faltaba.

* Ed25519 es un sistema de firmas de llaves públicas seguro, rápido y compatible con lotes entre otros. *

Para entender el rendimiento del sistema, tan solo tenemos que fijarnos en 3 parámetros:

  1. Tiempo de generación de pruebas por firma ~9,6s
  2. Número de firmas por lote/prueba = ≤ 100
  3. Tiempo de generación de la prueba ZK para el lote = 16 mins para el lote de 100 firmas

Esto se puede interpretar de la siguiente forma:

A mayor cantidad de firmas por cada prueba, mayor será el tiempo de generación de la prueba.

Esto sigue siendo un tanto ineficiente en cuanto a tiempo y recursos.

image

Para reducir la latencia a segundos y los costes de gas por debajo de los centavos/transacción entra en escena “recursive”.

Una tecnología de pruebas que nos va a permitir generar múltiples pruebas juntas en paralelo para luego combinarlas en una sola prueba de forma recursiva.

A nivel gráfico quedaría de la siguiente forma:

3 apuntes del nuevo diseño:

• IBC sigue igual. Esto hace que la adopción sea fácil, ya que no se necesita reinventar la rueda. Las bases de código existentes también se utilizarán tal cual.

• No es necesario actualizar la gobernanza por el lado de las app-chains.

• Se requieren dos cambios en IBC por el lado de Ethereum:

  1. El repetidor (relayer), en lugar de presentar la cabecera completa del cliente ligero, ahora sólo presentará la prueba de validez de la misma.
  2. Los módulos de los clientes ligeros en-cadena en el lado de Ethereum incluirán un verificador de pruebas ZK en lugar de un verificador de firmas ed25619.

Uno de los proyecto que están trabajando en implementar todo esto es @labs_electron

Viendo el potencial que tienen tanto el protocolo de interoperabilidad IBC como la tecnología de pruebas criptográficas ZK me parece, que de implementarse bien, podemos estar ante un avanze más que significativo para el ecosistema de Ethereum y el de Cosmos.

Si te ha gustado compártelo y sígueme en Twitter donde subo contenido de interés prácticamente todos los días! @MorenoDV_

--

--

Ignacio Moreno | M.D.V

I ghostwrite about DeFi, Web3 and Blockchain | Spreading Crypto education and knowledge | For investors and technology enthusiasts| Web3 Analyst 🔎📊