Interoperabilidad de Blockchain, uno de los objetivos de Lisk
La solución de interoperabilidad Lisk tiene como objetivo establecer un ecosistema sin permisos de aplicaciones de cadena de bloques interoperables y descentralizadas . Ahora veremos un esquema de las diferentes técnicas de interoperabilidad para luego enmarcar el enfoque de Lisk y sus funcionalidades esperadas en futuros artivulos
Hace diez meses que se completó toda la investigación hasta la interoperabilidad de blockchain. Como se explicó en ese entonces, el enfoque principal del equipo de investigación ha estado en la última fase de la hoja de ruta del protocolo desde principios de 2020. El objetivo es ofrecer una solución de interoperabilidad blockchain escalable y descentralizada para el ecosistema Lisk.
En los próximos meses, divulgaremos todos los detalles de esta investigación y la solución de interoperabilidad Lisk. Sin embargo, antes de eso, veamos primero qué es la interoperabilidad blockchain y por qué es un concepto crítico en nuestra industria. Para explicar esto, daremos una introducción técnica al tema, los casos de uso, las propiedades requeridas y las principales técnicas para lograr la interoperabilidad blockchain.
¿Qué es la interoperabilidad de Blockchain?
La interoperabilidad de blockchain se está convirtiendo en el santo grial para desbloquear la amplia adopción de la tecnología blockchain y las finanzas descentralizadas (DeFi). En los últimos años, este término ha aparecido en muchos portales de noticias especializados, artículos de investigación y la hoja de ruta de muchos proyectos de blockchain. En términos generales, la interoperabilidad de blockchain se define como la capacidad de dos blockchains para transmitir información de uno a otro.
Más precisamente, decimos que dos blockchains son interoperables si una transacción o transición de estado de una cadena puede depender de una transacción o transición de estado de la otra cadena. Este escenario general se muestra en la siguiente figura: La transacción, t 1 o la transición de estado, s 1 en la cadena 1 pueden causar una transacción t 2en la cadena 2. La misma idea se aplica en la otra dirección para t ' 2 y s' 2 en la cadena 2 y t ' 1 en la cadena 1.
Un ejemplo común de este escenario es una transferencia de token básica entre cadenas. Digamos que estamos en el ecosistema Lisk donde la cadena 1 es la cadena principal Lisk y la cadena 2 es una cadena lateral existente. En este caso, un usuario envía t 1 para transferir 100 tokens LSK de la cadena principal a la cadena lateral, y t 2 acredita 100 tokens LSK en la cuenta de usuario correspondiente en la cadena lateral.
Sin embargo, la interoperabilidad de blockchain se extiende más allá de este ejemplo y se puede lograr de varias maneras con diferentes compensaciones y para diferentes casos de uso.
¿Por qué la interoperabilidad Blockchain?
Las cadenas de bloques fueron concebidas para ser libros de contabilidad descentralizados autosuficientes, donde la validez de cualquier transición de estado, es decir, transacciones y bloques, solo depende del historial de la cadena de bloques en sí. Esto significa que las cadenas de bloques son independientes y autónomas, lo que implica ciertas limitaciones:
- Casos de uso limitados y aislados : la mayoría de las aplicaciones blockchain existentes sirven para casos de uso específicos, desde redes de pago hasta sistemas de almacenamiento descentralizados. Sin embargo, estas aplicaciones de blockchain solo prosperarán en el contexto de un marco general, es decir, un ecosistema, donde los usuarios tienen acceso a todas las diferentes funcionalidades sin fricciones.
- Un buen ejemplo es el ecosistema DeFi, que solo puede lograr una adopción masiva si los usuarios pueden acceder al conjunto de herramientas financieras tan fácilmente como en los sistemas financieros heredados. Se puede decir que una sola cadena de bloques general también puede servir para muchos casos de uso, pero luego puede enfrentar un segundo problema: la escalabilidad.
- Escalabilidad limitada : una cadena de bloques independiente tiene una capacidad limitada en la cantidad de transacciones que puede procesar en un tiempo determinado. Las soluciones de escalado en cadena, como aumentar el tamaño del bloque, son un primer enfoque válido, pero eventualmente terminarán enfrentando el problema original.
Esto se puede mejorar enormemente con la interoperabilidad, ya que la aplicación puede escalar con la cantidad de cadenas de bloques interconectadas. Por ejemplo, si una cadena de bloques tiene una capacidad de 15 transacciones por segundo, n cadenas de bloques interconectadas de la misma naturaleza permitirán hasta n × 15 transacciones por segundo.
Una solución sólida para interconectar blockchains puede ayudar a mejorar, o incluso resolver por completo, estas limitaciones. Las diferentes aplicaciones de blockchain podrán interoperar y fusionar su funcionalidad para los usuarios finales, mientras que las blockchains bien establecidas pero sobrecargadas podrán usar otras cadenas como soluciones de capa 2.
Entonces, ¿qué necesitamos para que una solución de interoperabilidad blockchain sea sólida? Podemos resumir las principales propiedades necesarias para la interoperabilidad blockchain en los siguientes puntos:
- Atomicidad : cuando ocurre una interacción entre cadenas, sus efectos se aplican en ambas cadenas de bloques o en ning
En el diagrama de arriba podemos ver cómo Alice (A) realiza un intercambio atómico con Bob (B):
- Primero, Alice envía una transacción HTLC en la cadena 1 con Bob como destinatario y un hash.
- Bob realiza una transacción similar en la cadena 2 con Alice como destinataria y el mismo hash.
- Alice reclama los tokens en la cadena 2 al revelar la preimagen hash a tiempo.
- Bob reclama los tokens en la cadena 1 usando la misma preimagen hash.
Los intercambios atómicos basados en HTLC son simples de implementar y de naturaleza confiable. Se han utilizado en varios proyectos, como Litecoin y Monero, como medio para intercambiarlos por Bitcoin. También se implementan en intercambios descentralizados como atomex.me y atomicdex.io . Sin embargo, no son muy prácticos, ya que suelen ser lentos y requieren una sincronización adecuada entre cadenas.
Transferencia de tokens entre cadenas
En las transferencias de tokens entre cadenas, no necesitamos otra parte con quien intercambiar los tokens. Un usuario puede simplemente transferir sus tokens de una cadena a otra como vimos en el ejemplo al comienzo de esta publicación de blog. Una vez que se completa la transferencia, deberían poder usar los tokens en la cadena de recepción sin encontrar ningún problema. Los dos enfoques más representativos de este marco se pueden ver a continuación.
Conección de 2 vías federadas
En los esquemas de vinculación bidireccional federados, las transferencias de tokens son facilitadas por una federación. Una federación es un grupo de intermediarios de confianza que opera una cuenta de firma múltiple en ambas cadenas y mantiene la vinculación del token transferido.
Estos esquemas generalmente tienen una estructura de cadena principal-cadena lateral, y la federación está a cargo de acuñar y quemar tokens en la cadena lateral, de acuerdo con las transferencias de tokens en la cadena principal. La Red de Liquid es el mejor ejemplo conocido de un 2-way federados PEG. Es una cadena lateral de Bitcoin que está destinada a ayudar con su escalabilidad al ofrecer tarifas más bajas con el token L-BTC vinculado a BTC.
Las conección de dos vías federadas son fáciles de implementar y pueden mostrar un buen rendimiento, pero requieren un cierto nivel de confianza en la federación. Si la mayoría de los miembros de la federación son malintencionados, los usuarios pueden perder los tokens transferidos a la cadena lateral.
Marco de plasma
Este esquema de transferencia de tokens se propuso originalmente como una solución de capa 2 para escalar Ethereum. Una cadena lateral de Plasma está conectada a la cadena principal de Ethereum, donde publica regularmente información sobre su estado. Muchas transacciones pueden ocurrir en la cadena Plasma, y luego Ethereum solo se usa como capa de liquidación para transferencias dentro y fuera de la cadena Plasma.
A diferencia de las cconecciónes federadas, los usuarios no necesitan confiar en los operadores de la cadena Plasma, ya que cualquier actividad maliciosa en la cadena Plasma puede ser cuestionada en la cadena principal. Si el desafío tiene éxito, el usuario recuperará sus fondos originales. Esto viene con el mayor inconveniente de las transferencias lentas de regreso a la cadena Ethereum. Cada solicitud de retiro en Plasma se retrasa 7 días para permitir que los usuarios la impugnen. Esta solución también requiere que los usuarios monitoreen activamente sus tokens en la cadena Plasma.
Hay varias implementaciones de Plasma que funcionan con muchos detalles y compensaciones diferentes. Aquí acabamos de proporcionar el marco general y las características. Si desea saber más, le recomendamos explorar los enfoques adoptados por proyectos como OmiseGO con la implementación de Plasma MVP o Loom con Plasma Cash.
Mensaje general de cadena cruzada
En este caso, la solución de interoperabilidad permite la transferencia de cualquier tipo de datos o mensajes entre las cadenas conectadas. Nuestra solución técnica para el ecosistema Lisk irá en esta dirección y, potencialmente, cualquier mensaje o transacción personalizada se transferirá entre cadenas laterales. Veamos qué significa esto con un ejemplo: considere un ecosistema donde, entre muchas otras aplicaciones de cadena de bloques, hay una cadena lateral Lisk Oracle que autentica cualquier dato fuera de la cadena. Supongamos ahora que implementamos una solución general de interoperabilidad entre cadenas en este ecosistema.
Esto significa que podemos tener transferencias de tokens entre cadenas laterales, por ejemplo, los usuarios que transfieren tokens de la cadena lateral Lisk Gold a la cadena lateral Lisk Bet para participar en una apuesta deportiva. Pero lo que es más interesante, Lisk Oracle también puede enviar mensajes entre cadenas a Lisk Bet con los resultados deportivos y a Lisk Gold con el precio actual de una onza de oro.
Podemos ver que una solución de interoperabilidad blockchain que permita este tipo de mensajes generales es la clave para lograr una sinergia de casos de uso y características proporcionadas por aplicaciones descentralizadas independientes. Por supuesto, este marco general implica un protocolo de interoperabilidad más complejo y requiere una definición sólida del sistema de mensajería estándar entre cadenas. Examinemos algunos enfoques potenciales en este marco.
Certificación de cadena cruzada
Este esquema define una estructura de datos específica, el certificado, que es entendido por las cadenas interoperables y sirve como una especie de paquete para entregar los mensajes entre cadenas. Este certificado también contiene información sobre su validez, por ejemplo, firmas de aprobación de los validadores de la cadena de envío. En principio, los certificados pueden funcionar de la misma forma en ambas direcciones. En el ejemplo que se muestra en la figura siguiente, la cadena 2 es la cadena de envío y la cadena 1 es la cadena de recepción.
En términos concretos, un certificado puede contener lo siguiente:
- Los mensajes de cadena cruzada t 1 , t 2 y t 3 que se enviaron en la cadena 2 que apuntan a la cadena 1 desde el último certificado.
- Cierta información que autentica que los mensajes anteriores entre cadenas se incluyeron y finalizaron en la cadena 2 . Por ejemplo, esto lo pueden hacer los validadores de la cadena 2 acreditando con sus firmas que todos los datos incluidos hasta un determinado bloque son definitivos.
Este esquema también requiere un retransmisor, un participante de la red a cargo de recopilar y publicar los certificados de una cadena a la otra cadena. Esto lo puede hacer cualquier usuario o los propios validadores de cadena.
Los certificados cross-chain son una solución escalable y eficiente que permite el paso de cualquier tipo de información entre cadenas. Sin embargo, implica ciertas restricciones y requisitos para las cadenas conectadas: deben poder generar certificados, validarlos y la información que contienen. Parece ser el enfoque apropiado para un ecosistema con diferentes aplicaciones de blockchain creadas a partir de una pila de tecnología común. Un ejemplo de esto son los estándares IBC de Cosmos que van en una dirección similar a la expuesta aquí. Sin embargo, probablemente el ejemplo más cercano de interoperabilidad basada en certificados es el propuesto en este documento por IOHK
Fragmentación heterogénea de blockchain
El término 'fragmento' proviene del contexto de una base de datos y significa una partición horizontal de una base de datos o sistema. En esquemas de fragmentación de blockchain heterogéneos, un fragmento central conecta una gran cantidad de máquinas de transición de estado diferentes. En general, estas máquinas de estado no necesitan ser blockchains per se, solo necesitan cumplir ciertos requisitos para estar conectadas y aseguradas por el fragmento central.
El mejor ejemplo de tal enfoque es el ecosistema de Polkadot.. En Polkadot, cada una de estas máquinas de estado, conocidas como paracaídas, se basa en el fragmento central para su protocolo de cadena cruzada y su seguridad. Mientras el fragmento central sea seguro, las paracaídas operarán (inter) de forma segura en el ecosistema. Este esquema generalmente se conoce como "seguridad agrupada". En pocas palabras, cada parachain prepara un 'blob de información' en un formato específico, y ciertos validadores en el fragmento central se aseguran de que sea correcto contra una función de transición de estado. Si ese es el caso, entonces el fragmento central acepta el 'blob de información' y avanza el parachain.
Este 'blob de información' puede contener mensajes dirigidos a otras paracaídas. El fragmento central no procesa los mensajes, pero los ordena, los pone en cola y los enruta siguiendo un protocolo estándar.
El concepto de 'seguridad agrupada' junto con un protocolo de paso de mensajes debería permitir que los ecosistemas similares a Polkadot tengan interacciones sin confianza entre fragmentos. Estas interacciones pueden ser de cualquier tipo, no solo tokens, y se enrutarán de forma segura a través del fragmento central. Sin embargo, estas capacidades no vienen sin costo. El protocolo Polkadot es ciertamente complejo, tanto a nivel de implementación como en términos de incentivos para los participantes de la red. Esto también tiene un impacto en la escalabilidad ya que solo un número limitado de paracaídas podrá ser parte del ecosistema.
Como nota al margen, la comunidad Ethereum está trabajando actualmente para ofrecer una solución de fragmentación de blockchain homogénea para Eth2.0
En el caso homogéneo, las instancias de la misma base de datos se dividen en la red en diferentes fragmentos. También existe un mecanismo para enviar transacciones entre fragmentos, sin embargo, todas son parte de la misma plataforma blockchain.
Rollups
Los rollups se proponen como otra solución de capa 2 para escalar Ethereum, más flexible que el marco Plasma pero con mayor complejidad. La idea aquí es agrupar o "acumular" transacciones de cadena lateral en una sola transacción y generar una prueba criptográfica de ello. Esta prueba, que es compacta y / o se genera muy raramente, se envía luego a la cadena principal. Se requiere que la cadena principal verifique la validez de la prueba, que en Ethereum se realiza mediante un contrato inteligente específico.
Hay dos tipos de soluciones acumuladas según la naturaleza de la prueba:
- Acumulaciones optimistas : en este esquema, los bloques de la cadena lateral simplemente se publican en la cadena principal, sin ningún procesamiento, y después de un tiempo se aceptan. Por eso se le llama optimista. Solo si se desafía el bloque de la cadena lateral, la cadena principal evaluará la (in) validez del bloque. Esto se realiza mediante pruebas de fraude. Durante el período de desafío de un bloqueo, cualquier usuario puede enviar una prueba que demuestre que hubo algún problema con el bloqueo. Los retransmisores, es decir, los usuarios que publican el bloque de la cadena lateral en la cadena principal, deben apostar algunos tokens en la cadena principal junto con el nuevo bloque. Si la prueba de fraude tiene éxito, entonces el bloque de la cadena lateral se rechaza y el retransmisor pierde su depósito.
- Paquetes acumulados de conocimiento cero (ZK-Rollups) : todas las transacciones en la cadena lateral se agrupan y se genera una prueba de conocimiento cero de su validez mediante el uso de ZK-STARK . Esta prueba se publica y valida periódicamente en la cadena principal. Esta solución es más segura que la contraparte optimista y no necesita períodos de desafío. Sin embargo, una solución general de ZK-Rollup todavía es un trabajo en progreso y las implementaciones propuestas actualmente están más cerca de un esquema de transferencia de token entre cadenas que de una solución de interoperabilidad general. Además, los ZK-STARK son computacionalmente muy costosos de generar y complejos de implementar.
Conclusiones
En esta publicación de blog, hemos visto diferentes enfoques para lograr la interoperabilidad entre blockchains con sus principales características y usos. Definitivamente creemos que un enfoque de interoperabilidad sólido es un hito crítico para la adopción masiva de esta tecnología. En particular, una solución que permita pasar cualquier tipo de mensaje de cadena en cadena puede abordar las principales limitaciones de la tecnología blockchain. El equipo de investigación de Lisk tiene como objetivo ofrecer una solución en esta dirección para el ecosistema Lisk. Este será el tema de la próxima publicación del blog, donde presentaremos la solución de interoperabilidad Lisk y cubriremos sus características principales.
Lisk tiene la misión de permitirle crear aplicaciones blockchain descentralizadas, eficientes y transparentes.
Recursos:
- Lisk Chat
- Página del SDK de Lisk
- Página de investigación
- Foro de Lisk Research
- Fuente: blog de Lisk