Introducción a la Interoperabilidad entre Blockchains. Parte 1.

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

--

Puntos Clave:

- Entrando en el contexto de la interoperabilidad. Donde estamos, y hacía donde vamos.
- Entendiendo qué hay detrás de la interoperabilidad de alto nivel.
- Protocolos de los que hay que estar atentos. (Parte 2)

Para ponernos en contexto de porque la interoperabilidad es importante vamos a recordar una serie de cosas:
Bitcoin no puede hablar el idioma de Ethereum y viceversa, por lo que no podemos gastar el Bitcoin que tenemos en la red de Ethereum ni podemos hacer uso de los contratos inteligentes de Ethereum en la red de Bitcoin, por lo que vamos a dividir la interoperabilidad en dos categorías:

  1. Intercambios de activos digitales: Transferencia de valor. (Conseguir gastar BTC en Ethereum)
  2. Intercambio arbitrario de datos: Comunicación completa entre blockchains. (Pagar a un proveedor en la red de Ethereum basado en la localización GPS de un activo con seguimiento en la cadena de Vechain)

Nota:
Hay que destacar la naturaleza “trustless” de las blockchains; para procesar cualquier mensaje, una cadena de bloques necesita una forma de verificar su autenticidad.
A todo esto hay que sumarle que cada cadena tiene su propio conjunto de reglas en lo que respecta al diseño del protocolo, la moneda, el lenguaje de programación, la estructura de gobierno, la cultura y otros elementos, lo que dificulta la comunicación entre cadenas.

Por lo que puedes ver lo complicado que se hace conectar dos blockchains heterogéneas. De hecho es imposible hacerlo sin la colaboración de un tercero en el que necesites confiar, o verificando directamente el historial de la red externa

Es aquí donde entran las diferentes soluciones que intentan unir a las diferentes cadenas y solucionar el problema de conexión que hay entre ellas.

Por desgracia, a día de hoy, la mayoría de las soluciones de interoperabilidad son tan complejas a nivel de protocolo que hacen aguas a nivel de seguridad.

Y no las culpo. Intentar conectar cadenas con diferentes mecanismos de consenso y diferentes maquinas virtuales sin un intermediario centralizado en el que haya que confiar no debe ser tarea sencilla, surgiendo problemas a nivel de minimización de confianza y compatibilidad entre cadenas.

Pero algo hay que tener en cuenta, si esta industria se hace cada vez mas grande con un mayor numero de blockchains, la interoperabilidad se volverá una necesidad, ya que logrará hacerlas más productivas, eficientes, escalables e incluso brindar una mejor experiencia de usuario.

Nota:
Uno de los beneficios de la interoperabilidad de alto nivel es o puede ser el descargar ciertas tareas de una blockchain a otras que sean capaces de hacer mejor ese trabajo.
Dejando a cada una de las cadenas trabajar en sus competencias clave y que mejor desempeñen.

Hay 3 formas de enfocar la interoperabilidad.
- Autentificación cruzada
- Oráculos
- APIs

Me voy a centrar exclusivamente en los Tipos de Autentificación cruzada.
Para los otros métodos he hecho un hilo en Twitter explicando brevemente en qué consisten, ejemplos, pros y contras: https://twitter.com/MorenoDV_/status/1584596359029481473

Tipos de Interoperabilidad. (Autentificación cruzada)

Segun Vitalik, existen 3 tipos de enfoques técnicos para lograr la interoperabilidad.
- Esquemas Notariales: Se basa en el intercambio de datos arbitrarios.
- Relay: Se basa en el intercambio de datos arbitrarios.
- Hashed timelocks: Se basa en el intercambio de activos digitales únicamente.

Esquemas Notariales (Notary Schemes)

Este tipo de interoperabilidad se basa en una “federación de notarios” quienes verifican a la cadena A que ha ocurrido un evento en la cadena B mediante la presencia de un notario.

Estos notarios llegan a una conclusion mediante algoritmos de consenso y una vez que se logra llegar a una conclusion emiten la firma necesaria para finalizar un proceso en la cadena A.

La manera en la que se aplica este tipo de esquema es mediante carteras “multisig” en las diferentes cadenas que se quieren conectar, donde la “federación” tiene el control de una cartera multisig en la cadena A, de tal modo que se puede emitir un activo sintético en la cadena B con los fondos que hay en la cartera de la cadena A, pudiendo ser utilizados en una maquina con un estado diferente.

Como se puede ver es un tipo de interoperabilidad sencillo en el que tienes que confiar en la federación de notarios, lo que viene con sus diferentes riesgos asociados.

Relays.

A diferencia de los esquemas notariales, donde para verificar eventos de una blockchain a otra hace falta la presencia de partes confiables (notarios), los relays permiten verificar eventos a las propias blockchains.

¿Cómo?

Para ello hay que entender que es un relay: un contrato en una cadena A con las mismas funcionalidades que un cliente ligero en la cadena B, lo que permite a la cadena A tener la habilidad de entender lo que pasa en la cadena B.

Este contrato de la cadena A utiliza el proceso de verificación estándar de la cadena B para verificar la cabecera del bloque que hay en el contrato.

Los relays se pueden utilizar para crear aplicaciones entre cadenas, abriéndonos paso a conexiones entre protocolos de diferentes cadenas capaces de compartir recursos. 🤯

Ejemplo:
BTCRELAY es un contrato inteligente en la cadena de Ethereum capaz de leer la cadena de Bitcoin.
Sin embargo, el tipo de interoperabilidad que hace realidad esto es solamente de una dirección, por lo que Bitcoin no puede leer a Ethereum ya que no existe un contrato “relay” de Ethereum en la cadena de Bitcoin.

Siguiendo con el ejemplo, para solucionar el problema de una arquitectura de interoperabilidad que permita el doble-sentido entre cadenas hay proyectos que están trabajando en un hub central llamado ”relay chain”.

Las relay chains son blockchains que hacen la función de clientes ligeros para aquellas “blockchains miembro” con el objetivo de lograr intercambiar información entre otras cadenas mediante el uso de esta “cadena central” que las une y que hace seguimiento de parte del estado de todas las blockchains que estén conectadas.

Para verlo de forma práctica: Una cadena miembro puede dar poder de control a los validadores de la cadena central mediante una cartera multisig que bloquee ciertos activos, de tal modo que se pueda representar el valor de esos activos bloqueados como activos sintéticos en otra blockchains miembro, por lo que se ejecutan transacciones en la maquina de una blockchain que utiliza el libro de contabilidad de otra blockchain diferente.

Por lo que podemos ver que las Relay Chains necesitan de blockchains con características similares entre si como:
- Capacidad para incluir direcciones multisig flexibles.
- Finalidad de consenso rápido.
- SDKs sencillos para crear cadenas con estas características para lograr ese “efecto red” (Cosmos SDK y Substrate SDK)

Estos SDK (Kit de Desarrollo Software) permiten a las blockchains, que han sido construidas bajo las mismas herramientas, ser compatibles entre sí y permitir la transferencia de información entre ellas aun teniendo diferentes estados.

Ejemplo:
Cosmos y Polkadot son ambos arquitecturas Relays para sus respectivos ecosistemas.

Hashed Timelocks.

HTLC (Hashed Timelock Contract)

El caso más claro de HTLC y para entenderlo de una manera sencilla es la LN de Bitcoin, que permite mover volúmenes altos con una latencia muy baja sin la necesidad de intermediarios.

Para lograr esto LN utiliza los HTLC para crear una red de canales de pagos donde todas estas transacciones se ejecutan fuera de la cadena para lograr esas latencias bajas y mejorar la velocidad de las transacciones, y pudiendo rendir cuentas con la cadena principal en cualquier momento.

HTLC representa la forma más practica y “trust-less” de interoperar, pero queda limitada solo la transferencia de valor, no pudiendo crear versiones sintéticas de tokens para otras cadenas.

Tambien tenemos a ILP (Interledger Protocol), una red de entidades llamados “conectores” cuyo trabajo es tratar con las rutas necesarias que los activos tienen que seguir para lograr un intercambio entre A y B.
Dicho de otro modo, estos conectores actúan como traductores: les llega un mensaje en inglés el cual despedazan en todas las palabras que siguen la ruta necesaria para devolver el mensaje en Chino en la otra cadena.

El “endgame” de este tipo de interoperabilidad seria una especie de red de canales de micro pagos que permitan el intercambio en cualquier divisa.
Al ser un protocolo neutro y que no necesita de configuraciones extra en las cadenas que quieres conectar, puede abrir conexiones no solo a otras cadenas blockchains si no a otras capas de transferencia de valor como
SWIFT o Venmo.

Importante destacar que este protocolo tiene que asegurarse de que los riesgos asociados de estos procesos queden aislados en los propios conectores para proteger al usuario final.

La segunda parte tratará sobre los protocolos de interoperabilidad existentes, cómo funcionan y que nos pueden ofrecer.

Sígueme para no perderte lo próximo que se viene en la industria de las criptomonedas y en las RRSS donde subo contenido similar con diferente formato!

Twitter: https://twitter.com/MorenoDV_

LinkedIn: https://www.linkedin.com/in/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 🔎📊