Escrito por: Babywhale, Foresight News
La serie de soluciones técnicas lanzadas por el equipo de desarrollo de Cosmos siempre ha sido popular entre el equipo de desarrollo de Web3, ya sea Cosmos SDK o IBC, muchas de estas soluciones han ayudado a los desarrolladores a resolver el problema de reinventar la rueda.
Aunque Cosmos ha traído muchos productos a Web3, su token ATOM principal no se ha beneficiado de la expansión del ecosistema de Cosmos. Pero en la conferencia Cosmoverse del año pasado, la publicación del documento técnico de Cosmos 2.0 aportó valor adicional a ATOM, incluida la provisión de seguridad para la "cadena de consumo" para cobrar tarifas y capturar ingresos de MEV. En pocas palabras, si Cosmos 2.0 se implementa por completo, ATOM también se beneficiará de la expansión continua del ecosistema Cosmos, por lo que el problema restante ahora es implementar el desarrollo de Cosmos 2.0 lo antes posible y expandir aún más el ecosistema Cosmos.
El mes pasado, la Fundación Interchain, cuyo objetivo es promover el desarrollo del ecosistema Cosmos, publicó públicamente el plan de desarrollo para la pila Interchain en 2024. Esta hoja de ruta tiene como objetivo lograr cuatro objetivos estratégicos:
Incrementar la modularidad generalizando el software para adaptarlo más fácilmente a casos de uso específicos;
Mejorar la experiencia del desarrollador para que sea más fácil de construir con Interchain Stack;
Pague la deuda técnica para poder avanzar más rápido;
Impulsar la adopción por parte de los usuarios.
Hay muchos planes al respecto que pueden cambiar su opinión sobre las perspectivas de desarrollo de Cosmos y ATOM.
Cometa BFT
CometBFT es el motor de replicación de la máquina de estado Interchain para garantizar que los validadores de la red estén de acuerdo en la generación de bloques, garantizando así la seguridad y coherencia de la red blockchain.
La Fundación Interchain dice que su objetivo es hacer crecer Interchain ampliando el alcance y la aplicabilidad de CometBFT para ayudar a construir aplicaciones interoperables soberanas. Además, las pilas de bienes públicos entre cadenas, incluido CometBFT, deberán alcanzar nuevos niveles de flexibilidad y modularidad para adaptarse a la creciente diferenciación de aplicaciones en la cadena, proporcionar servicios de nivel institucional y competir de múltiples maneras.
La Fundación Interchain lanzó CometBFT v0.34 en febrero de 2023, seguido de v0.37 en marzo, que incluía la primera parte de ABCI++. La versión candidata a la versión 0.38 se lanzó a finales de marzo, que es la parte final de ABCI++ que la Fundación Interchain integrará en Cosmos SDK e IBC-go antes de que se lance la versión final.
La Interchain Foundation planea lanzar la v0.39, que está en preparación, antes de finales de 2023. Sus actualizaciones incluyen mejoras de eficiencia (reduciendo el consumo de ancho de banda y almacenamiento), la API Data Companion que eventualmente incluirá indexadores y subsistemas RPC, etc. y se espera que se lance en 2024. Lanzada a principios de año, esta versión también puede llamarse v1.
En cuanto a qué es ABCI++, comencemos con ABCI. ABCI es la interfaz entre aplicaciones y consenso. Su función principal es ejecutar bloques determinados por consenso. Con ABCI, las aplicaciones sólo interactúan con el consenso para la toma de decisiones y tienen poco control sobre qué transacciones se seleccionan del mempool. ABCI++ agrega programabilidad a cada paso del consenso, permitiendo que las aplicaciones reordenen, modifiquen, abandonen, retrasen o agreguen transacciones, así como reducir el tiempo de producción de bloques al introducir la capacidad de optimizar la producción de bloques.
Sei utiliza ABCI++ para optimizar la producción de bloques, la transmisión inteligente de bloques y la ejecución paralela de órdenes, mejorando así la eficiencia del procesamiento de las transacciones en cadena.
En resumen, CometBFT proporciona una función de construcción de bloques muy personalizada para cadenas basada en este mecanismo de consenso. Diferentes cadenas pueden desarrollar métodos de ejecución y clasificación de transacciones de acuerdo con sus propias necesidades, lo que mejora enormemente la imaginación a nivel de cadena. Además, la Fundación Interchain tiene una idea muy ambiciosa: permitir que las aplicaciones aprovechen las capacidades de IBC directamente a través de la interfaz ABCI, independientemente de la máquina virtual, el marco o la pila de módulos utilizados en su desarrollo. De esta manera, se puede lograr el objetivo de hacer de IBC un estándar de interoperabilidad entre cadenas entre aplicaciones en cadena desarrolladas en base a Cosmos SDK, OP Stack, Celestia, etc.
SDK de Cosmos
Hablando de Cosmos SDK, creo que la mayoría de la gente está familiarizada con él. Cosmos SDK es un conjunto de herramientas para desarrollar blockchain o rollup. Se utiliza como herramienta central para el desarrollo de muchas blockchains recientemente lanzadas. Además de muchas cadenas de aplicaciones en el ecosistema Cosmos, también incluye Fairblock, dYdX V4, Berachain, etc.
En el plan de desarrollo del SDK de Cosmos, la Fundación Interchain declaró que la atención se centrará en el nuevo año en la modularización y la introducción de nuevas funciones.
En primer lugar, en términos de la "deuda técnica", Cosmos continuará completando el trabajo de optimización inacabado en la capa central, incluido el almacenamiento, ABCI, y la capa que incluye módulos, participación, etc., que incluye específicamente:
Almacenamiento: rendimiento, escalabilidad.
Núcleo: Modular (use diferentes motores de consenso: Rollkit, Dymint, etc.); conmutable (cambie fácilmente los componentes: almacenamiento, diferentes cargadores de módulos (Wasm, FFI, gRPC y nativos), clientes, etc.).
Módulos: fáciles de probar en varias máquinas virtuales; reducen el número total de líneas de código; modulares (permiten a los desarrolladores de aplicaciones modificar la lógica empresarial (Auth, Bank, Stake, Distribution, Mint, Slash, etc.).
Criptografía: reescribir el manejo de claves para hacerlo más modular, permitiendo a otros usar HSM personalizados; introducir nuevas primitivas criptográficas.
El segundo es la modularidad. La Fundación Interchain cree que la palabra "modularidad" se ha usado en exceso en el campo blockchain y se centra en el nivel de modularidad del software. La Fundación Interchain declaró que hará que Cosmos SDK sea más modular a nivel central en la segunda mitad de este año y continuará funcionando hasta 2024, incluyendo:
Modularidad de consenso: Modular (use diferentes motores de consenso: Rollkit, Dymint, etc.); conmutable (cambie fácilmente los componentes: almacenamiento, diferentes cargadores de módulos (Wasm, FFI, gRPC y local), clientes, etc.).
Almacenamiento: Permite el cambio de estructuras originales; permite el uso de diferentes estructuras entre módulos paralelización de lectura y escritura.
Componibilidad del módulo: permite a los usuarios bifurcar o insertar lógica personalizada (según los comentarios de los usuarios).
No hay mucho contenido digno de atención en el tercer aspecto de mantenimiento. En términos del cuarto plan futuro, la Fundación Interchain planea lanzar las siguientes actualizaciones:
Idiomas cruzados: cargadores de módulos (WASM, FFI, GRPC); posiblemente una integración más estrecha con CosmWasm.
Actualizaciones: Separe la lógica empresarial de los módulos y VMS de las actualizaciones de núcleo/nodo; permita actualizaciones fluidas (las actualizaciones implementadas antes de la altura del bloque objetivo permiten la sincronización desde el estado de génesis).
Investigación: Circuitos ZK para módulos de prueba; pruebas de fraude y validez.
CosmJS
CosmJS es una biblioteca que ayuda a los desarrolladores a integrar clientes basados en JavaScript con la cadena de bloques Cosmos SDK.
La Fundación Interchain planea agregar nuevos codificadores a la biblioteca CosmJS para mejorar la eficiencia de la biblioteca, reducir la sobrecarga de código y brindar a los usuarios una experiencia de desarrollo más optimizada y profesional. Estas actualizaciones están diseñadas para agregar visualizaciones nativas, optimizar los tamaños de los paquetes, automatizar el proceso de codificación, permitir la adaptabilidad de múltiples redes y crear un cliente más optimizado y escalable.
Además, un aspecto clave de este trabajo es aprovechar la función codegen de Telescope para reemplazar y automatizar ciertos objetivos, como simplificar la biblioteca, eliminar métodos auxiliares codificados y permitir a los desarrolladores usar módulos y métodos auxiliares de su propia elección para personalizar su cliente. .
La mayoría de los planes de actualización de CosmJS implican aspectos técnicos de nivel inferior. Los lectores que quieran conocer los detalles específicos pueden leer el artículo original por sí mismos. En resumen, incluye principalmente codificación de información "Proto Visual", mantener CosmJS y Cosmos SDK actualizados y sincronizados, optimización de código y paquetes más optimizados, actualización del codificador Amino y adición de módulos, uso de múltiples adaptadores de red con diferentes claves y firmas, y más. Clientes Telescope y Helpers optimizados y extensibles.
cosmos
CosmWasm es un marco de contrato inteligente creado para Cosmos SDK. Por un lado, permite a los usuarios implementar aplicaciones descentralizadas sin permiso; por otro lado, los desarrolladores de blockchain pueden separar sus ciclos de desarrollo de productos del desarrollo de blockchain, reduciendo la cantidad de actualizaciones del validador y reduciendo así el costo de operación de blockchain. costos.
La Fundación Interchain afirmó que gracias al modelo de cadena de aplicaciones que utiliza CometBFT, el SDK de Cosmos y la velocidad de ejecución casi nativa del contrato Wasm, Cosmos resuelve el problema de escalabilidad y reduce las tarifas de transacción a unos pocos centavos, pero también da como resultado que L1 sea disponible El espacio del bloque es mucho más del necesario. Por lo tanto, CosmWasm debe optimizarse para que se puedan desarrollar más aplicaciones de manera más conveniente para mejorar la utilización de bloques, centrándose en la adopción de IBC y la inteligencia de cuentas.
La Fundación Interchain dice que CosmWasm 2.0 se entregará e implementará en la mayoría de las cadenas a principios de 2024. Esto sentará las bases para las incorporaciones de funciones en las versiones 2.1, 2.2 y 2.3 que se lanzarán durante 2024, que incluirán:
Verificación de prueba de conocimiento cero. Al verificar las pruebas de conocimiento cero en los contratos, se pueden lograr cálculos seguros fuera de la cadena y diversas aplicaciones de privacidad. Al agregar criptografía de curva elíptica fácil de emparejar a la interfaz de la aplicación, CosmWasm está listo para servir a estas aplicaciones:
Definir interfaces de aplicaciones y encontrar métodos de implementación adecuados;
Proporcionar una aplicación de muestra completa para mostrar cómo utilizar la API en el contrato;
Desarrollar una línea base y establecer costos de gas.
Actualice aún más la funcionalidad IBC. Han surgido casos de uso avanzados que no son posibles con IBC y serán el foco de las actualizaciones de IBC:
Soporte completo para ADR-8, lo que permite que los contratos reaccionen ante tiempos de espera y acuses de recibo de paquetes enviados;
Soporte para tarifas de IBC, permitiendo a los contratos pagar sus propios paquetes;
Crea reconocimientos retrasados opcionales, lo que permite la implementación de Packet Forward Middleware y sondeo largo ICQ en el contrato.
Otras actualizaciones que favorecen la tecnología subyacente o que son de baja importancia incluyen mantener la pila de software actual, mejorar la eficiencia del acceso al almacenamiento, mejorar la autenticación, crear aplicaciones IBC, alojar el hackathon AwesomWasm II en la primavera de 2025, documentación de CosmWasm para desarrolladores de DApp, ejecutar CosmWasm testnet para facilitar las pruebas de los desarrolladores.
Acuerdo IBC
El protocolo Inter-Blockchain Communication (IBC) es una solución de interoperabilidad de blockchain que permite la transferencia arbitraria de datos entre blockchains, así como entre blockchains, aplicaciones y contratos inteligentes de manera segura y sin permisos. Enviar y recibir datos a través de cadenas. Desde enero de 2022 hasta febrero de 2023, ibc-go facilitó 52 millones de transferencias por valor de 29 mil millones de dólares. Actualmente hay más de 100 cadenas conectadas a la red IBC.
La ecología del IBC es muy rica. Además de las aplicaciones desarrolladas por equipos financiados por ICF, otros protocolos incluyen Osmosis para transacciones entre cadenas; Stride y Neutron, que hacen un uso extensivo de middleware, ICA y consultas; DAO DAO creó Polytone y Evmos construyó un precompilador IBC para EVM Transmission; Injective estableció el módulo de flujo de datos de Oracle.
La Fundación Interchain dijo que IBC se actualizará en 2024 en torno a dos temas: escalabilidad y disponibilidad.
Escalabilidad
Actualmente, IBC enfrenta muchos desafíos. Hasta la fecha, sólo el SDK de Cosmos y la cadena CometBFT que utilizan ibc-go pueden utilizar el protocolo IBC. Además, se necesitaron casi dos años para establecer la primera conexión a una cadena que no fuera Cosmos. Si cada integración lleva tanto tiempo, será simplemente imposible lograr la visión de IBC.
Además, los gastos generales de mantenimiento asociados con la implementación de IBC y repetidores locales son significativos. Además de los costos de mantenimiento de la transmisión IBC y la implementación de aplicaciones, cada conexión a una nueva arquitectura blockchain crea un relé asociado e incurre en costos de mantenimiento y desarrollo. Actualmente, los retransmisores no tienen un flujo de caja sostenible y deben pagar tarifas de gas y tarifas de infraestructura por los servicios que brindan, incluidos acuerdos fuera de la cadena para pagar tarifas de infraestructura, licencias de fundaciones o el uso del módulo de concesión de tarifas Cosmos SDK.
En consecuencia, las actualizaciones específicas requeridas en términos de escalabilidad incluyen:
Minimizar el tiempo de desarrollo necesario para la integración de IBC;
Reducir los costos de mantenimiento para la integración de IBC;
Cree el marco de conexión IBC de Layer1 y Rollup.
Disponibilidad
ICS-20 (Token Transfer) fue el primer módulo de aplicación lanzado por IBC-go en marzo de 2021 y ha sido la aplicación más utilizada desde entonces. A medida que las aplicaciones se vuelven más complejas, queda claro que simplemente enviar tokens no es suficiente para satisfacer las necesidades de interoperabilidad. Por lo tanto, el campo de nota se agrega al paquete de datos ICS-20 para enviar otros datos mientras se envían tokens. Combinado con middleware, se pueden implementar flujos de trabajo más complejos, como transacciones entre cadenas y apuestas de liquidez con un solo clic. Sin embargo, los patrones de diseño de middleware especificados en ICS-30 se utilizan a menudo junto con campos de notas, lo que genera preocupaciones comunes sobre colisiones de claves. Además, apilar varios middlewares plantea desafíos a la hora de formatear correctamente los campos de la nota, y los middlewares deben estar en el orden correcto para el flujo de trabajo.
La denominación IBC es otra dificultad que encuentran los desarrolladores porque la interfaz de usuario necesita mostrar la denominación en un formato legible por humanos, lo que requiere un registro mantenido por cada proyecto para lograrlo. Dado que la ruta de circulación de un token determina la denominación IBC resultante, los tokens que lleguen a su destino a través de diferentes cadenas o canales no serán fungibles. Algunas aplicaciones existentes aprovechan el middleware de reenvío de paquetes para resolver este problema, pero estas soluciones dependen de la configuración fuera de la cadena para determinar la ID del canal desde el origen del token hasta el destino. Las soluciones a largo plazo deberían utilizar el registro en cadena.
ICS-27, la Cuenta Interchain (ICA), lanzada en marzo de 2022, actualmente tiene solo 8 cadenas que adoptan la función de controlador. El diseño original requería la creación de un middleware de autenticación personalizado para utilizar la función, lo que creó una barrera inmediata para una adopción más amplia de la función. La refactorización en ibc-go v6 elimina esta necesidad; sin embargo, ICA todavía sufre una serie de puntos débiles que soluciones alternativas como ics-999 y polytone intentan abordar: falta de ordenamiento entre canales, atomicidad en flujos de trabajo multicanal y No se requiere manejo de errores para la atomicidad.
En general, ninguno de los componentes de IBC es fácil de aprender y comprender completamente para los desarrolladores de aplicaciones o cadenas. Esto se manifiesta en decisiones de diseño para remitentes de paquetes confiables, que pueden generar ataques al reclamar lanzamientos aéreos a través de IBC o confiar en middleware. Además, actualizar a la última versión de ibc-go a menudo no es una prioridad, ya que alrededor del 60 % de las cadenas utilizan versiones no compatibles.
En vista de los muchos problemas existentes mencionados anteriormente, los puntos que deben mejorarse urgentemente en términos de usabilidad del IBC incluyen:
Mejorar la experiencia de desarrollo de los usuarios de IBC: la conveniencia de implementar aplicaciones en una sola cadena debería estar más cerca de implementar aplicaciones entre cadenas;
Además de ICS-20 (transferencia de tokens), en IBC se pueden utilizar aplicaciones con muchas funciones;
Las aplicaciones desarrolladas utilizando IBC deberían diferir significativamente del uso de otros protocolos.
El soporte de Strangelove para la pila Interchain
Además de la Fundación Interchain, la empresa de desarrollo de criptomonedas Strangelove, que ha desempeñado un papel importante en la promoción y adopción de IBC, también propuso un plan para respaldar la pila Interchain. Entre ellos, el plan de adopción y marketing de IBC es particularmente digno de atención, que incluye:
Una subred Avalanche admite IBC;
8 cadenas, incluidas las cadenas SDK que no son de Cosmos, admiten clientes ligeros WASM;
8 cadenas comenzaron a aplicar conexiones IBC contrato a contrato;
Además de Composable, otra paracadena de Polkadot está conectada directamente a IBC;
Agregue soporte IBC para NEAR;
Cadena cruzada IBC entre Ethereum y Cosmos a través del cometBLS/ZK;
8 cadenas de bloques admiten la aplicación IBC y el middleware;
4 cadenas admiten cadena cruzada NFT en formato ICS-721 a través de IBC.
