Autor: Inicia

Compilado por: Deep Wave TechFlow

El ecosistema de las criptomonedas ha tenido que adaptarse a las nuevas realidades de desarrollo, y es en este entorno donde nació Initia.

Nuestra industria debe reconocer que una sola máquina estatal no puede cumplir los ambiciosos objetivos de las criptomonedas. Si bien se aumenta el rendimiento de las transacciones, también es necesario mantener costos bajos para los usuarios y operadores y mantener un nivel razonable de descentralización, lo cual es casi imposible de lograr mediante un enfoque único.

De hecho, la idea de que una sola cadena puede tener éxito ya no es común. A principios de este año, la discusión sobre modularidad versus unicidad se convirtió en un tema candente. Pero aquí está la cuestión: no es una elección entre uno u otro. La dirección futura es una combinación de los dos: una cadena de bloques de nivel 1 (L1) rápida y programable, junto con una serie de paquetes acumulativos específicos de aplicaciones que pueden escalar las capacidades de ejecución junto con L1.

Cuando miramos a Solana, podemos ver claramente los beneficios de un enfoque híbrido (lo llamamos entrelazado). Durante el último medio año, muchos equipos comenzaron a desarrollar sus propias "extensiones de red" personalizadas en Solana. Sin embargo, ¿no es Solana conocida por sus propias capacidades de escalamiento? ¿No es este el núcleo de su marca?

De hecho, la consolidación significa mucho más que ampliar las capacidades de ejecución. También implican soberanía, lo que brinda a los desarrolladores un control total sobre su entorno de ejecución. Por ejemplo, un TPS más alto, tarifas de gas más bajas o nulas, control sobre el orden y el procesamiento de las transacciones y propiedad total de su modelo económico de negocios.

Claramente, los rollups se han convertido en una parte integral y seguirán siéndolo.

Initia existe basándose en la idea de que está diseñado específicamente para respaldar un próspero ecosistema acumulativo entrelazado llamado Minitias.

El futuro está entrelazado

Initia está diseñado para albergar miles de Minitias que trabajan juntas para ofrecer aplicaciones diversas, potentes y únicas a través de una experiencia de diseño orgánico. Actualmente, existen dos tipos de ecosistemas. Uno está diseñado para el mundo de las cadenas interconectadas (como Cosmos) y el otro es una apuesta de última etapa en el rollup (como Ethereum y ahora Solano). Cada enfoque ha tenido cierto éxito, pero también ha tenido deficiencias, y estas lecciones han sido invaluables al construir nuevos modelos L1.

Initia cierra la brecha entre estos dos extremos, siendo un diseño L1 que admite una red L2 interconectada, lo que garantiza que los desarrolladores de Minitia tengan todo lo que necesitan para tener éxito. Desde el principio, Initia ha evitado la confusión en el medio con un enfoque de diseño claro y formuló una pregunta simple: ¿Qué necesita realmente L2 de un hub?

En Initia, la acumulación es algo natural. Con Initia VIP, existe una alineación económica completa entre L1 y L2, el conjunto de productos es limpio y simple, y la tecnología está diseñada específicamente para garantizar que Minitias tenga oráculos, puentes, liquidez, interoperabilidad y monedas estables nativas desde el principio y otras funciones. . La pila entrelazada facilita a los equipos la implementación de Minitia utilizando cualquier máquina virtual (VM) que elijan, ya sea EVM, MoveVM o CosmWasm.

Entonces, ¿cuáles son los componentes clave que hacen posible la consolidación de Initia? La respuesta es Interweld Stack, un marco Optimistic Rollup creado desde cero específicamente para Cosmos SDK. ¿Quieres conocer los secretos de este framework? Profundicemos un poco más.

Pila entre soldaduras

El marco Optimistic Rollup de Initia consta de tres componentes estrechamente acoplados: OPHost, OPChild y OPinit Bots.

Estos tres encajan como las tres piezas de un rompecabezas, formando un todo que brinda un poderoso apoyo a cada Minita.

OPHost y OPChild son módulos del SDK de Cosmos que forman la parte central de la pila entrelazada y se ejecutan en cadena. Debido a que la pila OPinit se implementa a nivel de cadena, en lugar de a nivel de contrato inteligente que depende de una máquina virtual (VM) específica, esto nos permite admitir una variedad de VM, brindando a los desarrolladores de Minitia más libertad de elección.

En Initia, los rollups son tratados como ciudadanos de primera clase en la cadena. Esto nos brinda la flexibilidad de ajustar los detalles de implementación, lo que resulta en una mejor experiencia de usuario.

El módulo OPHost está ubicado en Initia (es decir, L1) y es responsable de servir como base para todos los Minitias que se ejecutan en Initia. Las principales tareas de OPHost incluyen:

  • Gestionar puentes optimistas (que conectan L1 y L2) y los activos involucrados.

  • Responsable de validar las propuestas de resultados de Minitias.

  • Actuar como árbitro entre impugnadores y proponentes para resolver disputas.

OPChild existe en cada Minitia, como el latido de cada paquete acumulativo. Sus responsabilidades incluyen:

  • Operadores que gestionan rollups

  • Ejecutar mensajes desde L1

  • Actualizar datos de precios de Oracle

  • Gestionar retiros de tokens L1

OPHost y OPChild juntos forman el puente optimista para cada Minitia. Un OPHost en Initia sirve como punto final de L1, conectando múltiples módulos OPChild en Minitia.

Es importante tener en cuenta que, para el resumen, el puente local no es solo para mensajería, sino que en realidad es la sede del resumen en L1. Dado que dos sistemas de consenso diferentes no pueden entender las máquinas de estado del otro, el puente de acumulaciones se convierte en la verdadera base para que las acumulaciones en L1 garanticen su corrección mediante el envío de raíces de estado o resultados verificables similares. Es por eso que a L1 a menudo se le llama capa de asentamiento.

Quizás se pregunte: "¿Qué conecta a OPHost y OPChild? ¿Es un repetidor?" No, ¡para eso están exactamente los OPinit Bots! Como extensión del punto anterior, dos sistemas de consenso diferentes no pueden comunicarse directamente sin la ayuda de un proceso fuera de la cadena, ya que el proceso fuera de la cadena actúa como una conexión física entre sus máquinas de estados separadas.

Los OPinit Bots son procesos fuera de la cadena responsables de manejar operaciones clave entre Initia y Minitias. Se dividen en dos tipos: Ejecutor y Retador. En definitiva, estos dos bots se encargan conjuntamente de las siguientes tareas:

  • Realizar transferencia de token

  • Enviar propuesta de resultado a Iniciativa L1

  • Envíe lotes de transacciones a Celestia para garantizar la disponibilidad de datos (DA)

  • Entregar actualizaciones de precios de Oracle a Minitias.

En el resto de este artículo, profundizaremos en cómo se implementan características específicas en The Interwoven Stack, lo que le ayudará a obtener una comprensión más clara de cómo funcionan juntas las piezas.

Transferencia de tokens en puente optimista

Una de las características más críticas de la tecnología Rollup es su capacidad de heredar la seguridad de su ubicación de liquidación en L1.

¿Sabías? Un puente local entre L1 y el rollup suele ser la forma más segura de transferir activos. Esto se debe a que el uso de un puente local no introduce suposiciones de confianza adicionales: simplemente confíe en ambas cadenas.

Antes de discutir el mecanismo de transferencia, primero abordemos una pregunta obvia:

¿Por qué no utilizar la comunicación entre cadenas de bloques (IBC)?

Si bien todas las cadenas de The Interwoven Stack se basan en el SDK de Cosmos, los puentes nativos no sirven simplemente como canales IBC. Esto se debe a que la naturaleza instantánea de las transferencias IBC es inconsistente con los supuestos de confianza de nuestro protocolo. Supongamos que un día, un operador malicioso de Minitia decide insertar una transacción maliciosa, alterar el saldo de INIT en L2 y retirar todos los INIT de su Minitia a L1. No podemos aceptar esta situación porque tal error sería catastrófico.

Hay un retraso de 7 días para los retiros a Initia a través del puente optimista. Durante este período, Challenger puede cuestionar y cancelar retiros sospechosos en caso de que se detecte un comportamiento malicioso.

En Initia, queremos brindar una experiencia de usuario fluida durante el movimiento de activos entre Mintia e Initia L1. Con este fin, desarrollamos una solución personalizada segura llamada Miniswap para permitir una migración rápida desde L2. Puede obtener más información aquí: Miniswap: los retiros de L2 a L1 se realizan en segundos, no en días.

Depósito de tokens (L1 → L2)

Los depósitos de tokens de Initia a Minitia son casi instantáneos. El proceso es el siguiente:

1. El usuario envía una transacción de depósito en Initia, que bloquea su Token en L1 y activa un evento de depósito desde el módulo OPHost.

2. El ejecutor OPinit Bot continúa escuchando nuevos eventos en Initia cuando se detecta el evento enable_token_deposit:

2.a: El Ejecutor construirá un mensaje FinalizeTokenDeposit y lo enviará a Minitia.

3. Después de que Minitia reciba el mensaje, acuñará el Token correspondiente en L2 y lo enviará al usuario.

¡Este proceso es simple y seguro, lo que garantiza un trabajo sin problemas!

Luego viene el retiro de tokens (L2 → L1).

Las operaciones de retiro son un poco más complicadas. Si bien el proceso de depósito de L1 a L2 es relativamente simple, la confianza de L1 en Minitias, a su vez, no se puede establecer fácilmente.

La razón es la siguiente: Initia está asegurada por un grupo descentralizado de validadores con participación financiera, mientras que Minitias generalmente son administradas por un único operador o un pequeño número de operadores sin participación financiera. Por lo tanto, cuando Minitia inicia una solicitud de retiro a L1, debe demostrar que no actuó de manera maliciosa.

El proceso de retiro específico es el siguiente:

1. Los usuarios envían una transacción de retiro en Minitia, lo que hace que el módulo OPChild destruya su Token y active el evento inicia_token_withdrawal. Al mismo tiempo, el Ejecutor escuchará todos los bloques en L2. Cuando se detecta el evento, almacena la solicitud de retiro pero no la entrega inmediatamente, sino que espera a que se envíe el punto de control.

3. Cuando se alcanza el punto de control de confirmación, el Ejecutor realiza las siguientes operaciones:

3.a: recopile todas las solicitudes de retiro durante este período de tiempo.

3.b: Genere un Merkle Tree ordenado para organizar estas solicitudes de retiro.

3.c: cree una salida L2 que contenga la raíz del árbol Merkle.

3.d: envíe este resultado a OPHost en L1.

4. Posteriormente, el retiro entra en un período de revisión. Durante este tiempo, si el Challenger OPinit Bot detecta algo sospechoso, puede cuestionar el retiro y cancelar la operación.

5. Si no se produce ningún desafío durante el período de revisión, los usuarios pueden llamar a la función finalize_withdrawal en Initia para desbloquear su Token.

5.a — Esta función recibe una solicitud de retiro y su correspondiente comprobante.

5.b — Verificar que la prueba presentada sea válida.

5.c: si se supera la verificación, ¡el token se enviará al usuario!

Si bien el proceso de retiro lleva algún tiempo, este es un precio necesario a pagar por la seguridad. Sin embargo, para mejorar la experiencia de los usuarios de Interwoven, Initia desarrolló Miniswap. Al aprovechar IBC y OPinit Bridge, Miniswap puede permitir retiros instantáneos y al mismo tiempo proporciona un nivel de seguridad bastante alto.

Ahora que tienes una idea de cómo funcionan los retiros, la mecánica del desafío aún no está clara; profundizaremos en esto a continuación.

¿Qué pasa cuando Minitia intenta engañar?

En un apartado anterior mencionamos que Minitia puede estar haciendo trampa. Es por eso que existen períodos de retiro para evitar el robo fraudulento de tokens a través de OPinit Bridge.

Entonces, ¿quién es responsable de detener los retiros fraudulentos? Esta tarea la realiza el Challenger OPinit Bot.

1. Challenger monitorea continuamente la salida L2 enviada a L1.

2. En cada confirmación, obtiene el resultado de Initia y calcula el resultado en función del estado de Minitia.

3. Si el resultado enviado en Initia no coincide con el resultado calculado por Challenger, Challenger eliminará la propuesta de resultado enviando un mensaje DeleteOutput. Esta función solo puede ser llamada por Challenger.

Además, puede utilizar Celestia para revertir la sincronización del estado.

Sí, cuando se elimina una propuesta no válida, ¿significa que el estado actual del paquete acumulativo deja de ser válido? De hecho, es por eso que tenemos un mecanismo de reversión bien diseñado.

Después de un desafío exitoso, los nodos de Minitia pueden sincronizar el estado de los datos publicados previamente en Celestia, ya que todos los lotes de transacciones agregadas se publican en Celestia para la disponibilidad de datos (DA), lo cual es útil si se requiere una reversión.

Para garantizar la integridad del estado de Minitia y evitar que el Ejecutor realice operaciones maliciosas, los dos Bots, Ejecutor y Challenger, están diseñados como entidades independientes.

Sin embargo, ¿esto le da demasiado poder al Challenger? ¿Qué pasa si Challenger actúa maliciosamente y comienza a eliminar resultados válidos?

Para evitar esto, Initia ha establecido un sistema de controles y equilibrios a través del sistema de gobernanza de L1.

Si los Challengers y Proposers (las entidades responsables de presentar resultados) se comportan de manera maliciosa, pueden ser reemplazados mediante propuestas de gobernanza. Para Challenger, el comportamiento malicioso significa eliminar resultados válidos; para Proposer, significa enviar resultados no válidos.

Cuando se crean propuestas de gobernanza, los validadores L1 de Initia votan ejecutando nodos L2 para identificar quién se ha comportado de manera inapropiada. Este sistema garantiza que ninguna entidad pueda censurar las transacciones o interferir con el proceso de retiro.

La guinda del pastel

No se llamaría trabajo de Initia si nos contentáramos con la norma y no fuéramos más allá.

Initia hace que sea increíblemente fácil crear su propio resumen. Como muchos de ustedes sabrán, crear un paquete acumulativo es más que simplemente alojarlo. Como desarrollador, necesita crear una gran cantidad de infraestructura periférica, como indexadores, oráculos, puentes, etc.

¿Sabías? Interwoven Stack proporciona toda la funcionalidad que necesita.

Skip Connect: servicio de Oracle integrado

Skip permite a Initia proporcionar datos rápidos y actualizados sobre los precios de los activos para sí mismo y para todo Minitia construido sobre Interwoven Stack.

Connect es un servicio complementario de Oracle integrado dirigido por validadores de Initia, responsables de enviar actualizaciones de precios a la cadena. Esta implementación aprovecha dos nuevas características introducidas en la versión 0.50 de Cosmos SDK: ABCI++ y extensiones de votación. Estas características permiten a los validadores enviar datos arbitrarios y almacenarlos en cadena, evitando que partes malintencionadas bloqueen las actualizaciones de precios llenando bloques con spam.

Una vez que las actualizaciones de precios están en la cadena, los desarrolladores pueden consultarlas a través de la interfaz de línea de comandos (CLI), la interfaz de programación de aplicaciones (API) o en la capa de contrato inteligente.

Además, los precios de Connect se entregan a todos los Minitia en Interwoven Stack, lo que garantiza que tengan fácil acceso a los precios más recientes desde el primer día.

De esta manera, Minitia no tiene que soportar la carga de administrar la infraestructura necesaria, ni tiene que encontrar, celebrar acuerdos o dedicar recursos a integraciones con proveedores externos de Oracle. ¡Todo está arreglado para ellos!

Llamada de contrato entre cadenas

Para lograr una verdadera interconexión, Initia necesita un método de comunicación entre cadenas seguro y eficiente. Los desarrolladores tienen varias opciones, una de las cuales es a través de ganchos puente en el Puente Optimista. La función del gancho puente es similar a la del gancho IBC, lo que permite activar llamadas de contrato cuando se realiza la transferencia de token. El gancho de puente OPinit se utiliza para activar llamadas de contrato mientras se transfieren activos a través de OPinit Bridge.

En OPHost, el enlace del puente es responsable de actualizar los metadatos del puente; en OPChild, el enlace permite la ejecución arbitraria de transacciones durante la fase FinalizeTokenDeposit.

Diseñamos el sistema para admitir múltiples máquinas virtuales, de modo que ya sea EVM, MoveVM o CosmWasm, el enlace del puente puede realizar transacciones arbitrarias basadas en los campos de datos del mensaje.

Por ejemplo, este es el formato de datos adecuado para cadenas EVM.

Indexador incorporado

Minitia viene con un indexador incorporado que indexa y almacena automáticamente todos los datos relevantes de la cadena. A través de la API REST, se puede acceder a estos datos para consultar el historial.

Ya sea el token de la cuenta, la información NFT o los registros de transacciones, todas estas funciones ya están integradas.

La indexación es una dificultad importante al crear aplicaciones en cadena, ¡y este indexador integrado simplifica enormemente el proceso! Ejecutar su propio indexador suele ser costoso y engorroso. Con este indexador integrado, los desarrolladores pueden mostrar información como el saldo de tokens, NFT y el historial de transacciones sin crear sus propios indexadores ni depender de indexadores de terceros.

Este indexador integrado también brinda soporte listo para usar para Initia Scan, un explorador de bloques para L1 y cada L2.

en conclusión

Profundizar en The Interwoven Stack fue una experiencia muy agradable. Esta tecnología está bellamente diseñada y sustenta la visión Interwoven de Initia. Al construir The Interwoven Stack como un módulo de Cosmos SDK, Initia ha transformado con éxito el SDK en una pila de tecnología para crear agregaciones optimistas, conservando al mismo tiempo todos los beneficios de Cosmos SDK, lo cual es notable.

Hay mucho más en The Interwoven Stack en lo que no hemos podido profundizar hoy, y le recomiendo encarecidamente que consulte su código base, así como el código base de robótica asociado, para obtener una comprensión más profunda de esta tecnología.

En última instancia, una cosa que permanece constante es que Initia es donde realmente pertenece la tecnología de agregación. Initia fue diseñado desde un principio para el desarrollo de Minitias. El ecosistema Interoved ya está generando innovación, y Minitias como Blackwing, Control, MilkyWay e Inertia son colecciones novedosas de aplicaciones específicas que estarán disponibles desde el primer día. Todas estas innovaciones están impulsadas por The Interwoven Stack.