Qué es COSMOS: El internet de las blockchains

Qué es COSMOS: El internet de las blockchains

Suscríbete a la newsletter #LaVidaCrypto para recibir contenido gratuito todas las semanas👇🏼 

Cosmos es un proyecto que tiene como objetivo permitir que varias blockchains se comuniquen y compartan datos a través de su protocolo. A diferencia de bitcoin, donde los “mineros” compiten para procesar transacciones y ganar una recompensa en un sistema llamado prueba de trabajo (proof of work), Cosmos es una blockchain de prueba de participación (proof of stake) en la que se asignan bloques a las personas según la cantidad de tokens en staking. ATOM es el token nativo de Cosmos.

¿Cómo encaja Cosmos en el ecosistema blockchain más amplio?

La historia de Bitcoin (Blockchain ​​1.0)

Bitcoin es monolítico

Para comprender cómo encaja Cosmos en el ecosistema de la cadena de bloques, debemos volver al principio de la historia de la cadena de bloques. La primera cadena de bloques fue Bitcoin, una moneda digital peer-to-peer creada en 2008 que utilizaba un mecanismo de consenso novedoso conocido como Prueba de trabajo (PoW). Fue la primera aplicación descentralizada en una cadena de bloques. Pronto, la gente comenzó a darse cuenta del potencial de las aplicaciones descentralizadas y surgió en la comunidad el deseo de crear otras nuevas.

En ese momento, había dos opciones para desarrollar aplicaciones descentralizadas: bifurcar el código base de bitcoin o construir sobre él. Sin embargo, el código base de bitcoin era muy monolítico; las tres capas (redes, consenso y aplicación) se mezclaron. Además, el lenguaje de secuencias de comandos de Bitcoin

La historia de Ethereum (Blockchain 2.0)

Ethereum tiene contratos inteligentes

En 2014, Ethereum presentó una nueva propuesta para crear aplicaciones descentralizadas. Habría una sola cadena de bloques donde las personas podrían implementar cualquier tipo de programa. Ethereum logró esto al convertir la capa de aplicación en una máquina virtual llamada Ethereum Virtual Machine (EVM). Esta máquina virtual pudo procesar programas llamados contratos inteligentes que cualquier desarrollador podría implementar en la cadena de bloques de Ethereum sin permiso. Este nuevo enfoque permitió que miles de desarrolladores comenzaran a crear aplicaciones descentralizadas (dApps). Sin embargo, las limitaciones de este enfoque pronto se hicieron evidentes y aún persisten hasta el día de hoy.

Limitación #1: Escalabilidad

La primera limitación es la escala: las aplicaciones descentralizadas creadas sobre Ethereum están inhibidas por una tasa compartida de 15 transacciones por segundo. Esto se debe al hecho de que Ethereum todavía usa Prueba de trabajo y que las dApps de Ethereum compiten por los recursos limitados de una sola cadena de bloques.

Limitación #2: Usabilidad

La segunda limitación es la flexibilidad relativamente baja otorgada a los desarrolladores. Debido a que EVM es una caja de arena que debe adaptarse a todos los casos de uso, se optimiza para el caso de uso promedio. Esto significa que los desarrolladores tienen que hacer concesiones en el diseño y la eficiencia de su aplicación (por ejemplo, exigir el uso del modelo de cuenta en una plataforma de pagos donde se puede preferir un modelo UTXO). Entre otras cosas, están limitados a unos pocos lenguajes de programación y no pueden implementar la ejecución automática de código.

Limitación #3: Soberanía

La tercera limitación es que cada aplicación tiene una soberanía limitada, porque todas comparten el mismo entorno subyacente. Esencialmente, esto crea dos capas de gobierno: la de la aplicación y la del entorno subyacente. El primero está limitado por el segundo. Si hay un error en la aplicación, no se puede hacer nada al respecto sin la aprobación del gobierno de la propia plataforma Ethereum. Si la aplicación requiere una nueva característica en el EVM, nuevamente tiene que depender completamente de la gobernanza de la plataforma Ethereum para aceptarla.

Estas limitaciones no son específicas de Ethereum sino de todas las cadenas de bloques que intentan crear una plataforma única que se ajuste a todos los casos de uso. Aquí es donde Cosmos entra en juego.

La visión de Cosmos (Blockchain ​​3.0)

El “cosmos” se compone de tres capas.

La visión de Cosmos es facilitar a los desarrolladores la creación de cadenas de bloques y romper las barreras entre las cadenas de bloques al permitirles realizar transacciones entre sí. El objetivo final es crear una Internet de Blockchains, una red de blockchains capaces de comunicarse entre sí de forma descentralizada. Con Cosmos, las cadenas de bloques pueden mantener la soberanía, procesar transacciones rápidamente y comunicarse con otras cadenas de bloques en el ecosistema, lo que las hace óptimas para una variedad de casos de uso.

Esta visión se logra a través de un conjunto de herramientas de código abierto como Tendermint, Cosmos SDK e IBC diseñadas para permitir que las personas construyan rápidamente aplicaciones de cadena de bloques personalizadas, seguras, escalables e interoperables.

¿Qué es Tendermint BFT y el ABCI?

Hasta hace poco, construir una cadena de bloques requería construir las tres capas (Redes, Consenso y Aplicación) desde cero. Ethereum simplificó el desarrollo de aplicaciones descentralizadas al proporcionar una cadena de bloques de máquina virtual en la que cualquiera podía implementar una lógica personalizada en forma de contratos inteligentes. Sin embargo, no simplificó el desarrollo de las propias cadenas de bloques. Aquí es donde entró Tendermint, creado por Jae Kwon en 2014.

Tendermint BFT es una solución que empaqueta las capas de red y consenso de una cadena de bloques en un motor genérico, lo que permite a los desarrolladores centrarse en el desarrollo de aplicaciones en lugar del complejo protocolo subyacente. Como resultado, Tendermint ahorra cientos de horas de tiempo de desarrollo. Tenga en cuenta que Tendermint también designa el nombre del algoritmo de consenso tolerante a fallas bizantinas (BFT) utilizado dentro del motor Tendermint BFT. Para obtener más información sobre la historia de los protocolos de consenso y BFT, puede consultar este interesante podcast del cofundador de Tendermint, Ethan Buchman.

El motor Tendermint BFT está conectado a la aplicación mediante un protocolo de socket llamado Application Blockchain Interface (ABCI). Este protocolo se puede envolver en cualquier lenguaje de programación, lo que permite a los desarrolladores elegir un lenguaje que se ajuste a sus necesidades.

Propiedades de Tendermint BFT

 

  1. Listo para blockchain pública o privada: Tendermint BFT solo maneja redes y consenso para una blockchain, lo que significa que ayuda a los nodos a propagar transacciones y los validadores acuerdan un conjunto de transacciones para agregar a la blockchain. Es el rol de la capa de aplicación definir cómo se constituye el conjunto de validadores. Por lo tanto, los desarrolladores pueden construir cadenas de bloques tanto públicas como privadas sobre el motor Tendermint BFT. Si la aplicación define que los validadores se eligen en función de la cantidad de tokens que tienen en juego, entonces la cadena de bloques se puede caracterizar como prueba de participación (PoS). Sin embargo, si la aplicación define que solo un conjunto restringido de entidades preautorizadas pueden ser validadores, entonces la cadena de bloques se puede caracterizar como autorizada o privada. Los desarrolladores tienen toda la libertad de personalizar las reglas que definen cómo cambia el conjunto de validadores de su cadena de bloques.
  2. Alto rendimiento: Tendermint BFT puede tener un tiempo de bloqueo del orden de 1 segundo y manejar hasta miles de transacciones por segundo.
  3. Finalidad instantánea: una propiedad del algoritmo de consenso de Tendermint es la finalidad instantánea. Esto significa que nunca se crean bifurcaciones siempre que más de un tercio de los validadores sean honestos (bizantinos). Los usuarios pueden estar seguros de que sus transacciones finalizan tan pronto como se crea un bloque (que no es el caso en las cadenas de bloques de prueba de trabajo como Bitcoin y Ethereum).
  4. Seguridad: el consenso de Tendermint no solo es tolerante a fallas, sino que también es responsable. Si la cadena de bloques se bifurca, hay una manera de determinar la responsabilidad.

Cosmos SDK y otros marcos de capa de aplicación

Tendermint BFT reduce el tiempo de desarrollo de una cadena de bloques de años a semanas, pero crear una aplicación ABCI segura desde cero sigue siendo una tarea difícil. Por eso existe Cosmos SDK. Es un marco generalizado que simplifica el proceso de creación de aplicaciones de cadena de bloques seguras sobre Tendermint BFT. Se basa en dos principios fundamentales:

  1. Modularidad: el objetivo de Cosmos SDK es crear un ecosistema de módulos que permita a los desarrolladores activar fácilmente cadenas de bloques específicas de la aplicación sin tener que codificar cada parte de la funcionalidad de su aplicación desde cero. Cualquiera puede crear un módulo para Cosmos SDK, y usar módulos listos para usar en su cadena de bloques es tan simple como importarlos a su aplicación. Por ejemplo, el equipo de Tendermint está creando un conjunto de módulos básicos que se necesitan para Cosmos Hub. Estos módulos pueden ser utilizados por cualquier desarrollador mientras crean su propia aplicación. Además, los desarrolladores pueden crear nuevos módulos para personalizar su aplicación. A medida que se desarrolla la red Cosmos, el ecosistema de módulos SDK se expandirá, lo que hará que sea cada vez más fácil desarrollar aplicaciones complejas de blockchain.
  2. Seguridad basada en capacidades: las capacidades restringen los límites de seguridad entre los módulos, lo que permite a los desarrolladores razonar mejor sobre la composición de los módulos y limitar el alcance de las interacciones maliciosas o inesperadas.

Cosmos SDK también viene con un conjunto de herramientas de desarrollo útiles para crear interfaces de línea de comandos (CLI), servidores REST y una variedad de otras bibliotecas de utilidades de uso común.

Lo mejor de Cosmos SDK es que su modularidad permite a los desarrolladores portar prácticamente cualquier código base de cadena de bloques existente que ya esté en Golang. Por ejemplo, Ethermint es un proyecto que transfiere la máquina virtual Ethereum a un módulo SDK. Ethermint funciona exactamente como Ethereum pero también se beneficia de todas las propiedades de Tendermint BFT. Todas las herramientas existentes de Ethereum (Truffle, Metamask, etc.) son compatibles con Ethermint y puede transferir sus contratos inteligentes sin trabajo adicional.

Cosmos Hub & Spoke Arquitectura

Diseñando el “Internet de Blockchains”

IBC es un protocolo que permite que dos cadenas de bloques heterogéneas se transfieran tokens entre sí. A partir de ahí, ¿cómo se crea una red de blockchains?

Una idea es conectar cada cadena de bloques en la red entre sí a través de conexiones IBC directas. El principal problema de este enfoque es que la cantidad de conexiones en la red crece cuadráticamente con la cantidad de cadenas de bloques. Si hay 100 cadenas de bloques en la red y cada una necesita mantener una conexión IBC entre sí, son 4950 conexiones. Esto rápidamente se sale de control.

Para solucionar esto, Cosmos propone una arquitectura modular con dos clases de blockchain: Hubs y Zones. Las zonas son cadenas de bloques heterogéneas regulares y los concentradores son cadenas de bloques diseñadas específicamente para conectar zonas entre sí. Cuando una zona crea una conexión IBC con un concentrador, puede acceder automáticamente (es decir, enviar y recibir) a cualquier otra zona que esté conectada a ella. Como resultado, cada zona solo necesita establecer una cantidad limitada de conexiones con un conjunto restringido de concentradores. Los hubs también evitan el gasto doble entre zonas. Esto significa que cuando una Zona recibe un token de un Hub, solo necesita confiar en la Zona de origen de este token y el Hub.

El primer Hub lanzado en Cosmos Network es el Cosmos Hub, la cual es una cadena de bloques de prueba de participación pública cuyo token de participación nativo se llama ATOM, y donde las tarifas de transacción se pagarán en múltiples tokens. El lanzamiento del Hub también marca el lanzamiento de la red Cosmos.

Hasta ahora, la arquitectura de Cosmos muestra cómo las cadenas basadas en Tendermint pueden interoperar. Pero Cosmos no se limita a ellas. De hecho, cualquier tipo de cadena de bloques se puede conectar a Cosmos.

Existen dos casos a distinguir: cadenas de finalidad rápida y cadenas de finalidad probabilística.

Cadenas de finalidad rápida

Las cadenas de bloques que usan cualquier algoritmo de consenso de finalidad rápida pueden conectarse con Cosmos adaptando IBC. Por ejemplo, si Ethereum cambiara a Casper FFG (Friendly Finality Gadget), se podría establecer una conexión directa entre él y el Cosmos Ecosystem adaptando IBC para que funcione con Casper.

Cadenas de finalidad probabilística

Para las cadenas de bloques que no tienen una finalidad rápida, como las cadenas de prueba de trabajo, las cosas se vuelven un poco más complicadas. Para estas cadenas usamos un tipo especial de cadena proxy llamada Peg-Zone.

Una Peg-Zone es una cadena de bloques que rastrea el estado de otra cadena de bloques. Peg-Zone en sí tiene una finalidad rápida y, por lo tanto, es compatible con IBC. Su función es establecer la finalidad de la cadena de bloques que une.

¿Qué se puede hacer con los ATOM?

Cosmos opera con un mecanismo de consenso de prueba de participación. Eso significa que los titulares de ATOM pueden ganar una parte de las recompensas de bloque de la red y las tarifas de transacción a través del staking, ya sea ejecutando su propio nodo validador o delegando sus monedas ATOM a un validador.

Los validadores apuestan o bloquean sus ATOM y ejecutan software especializado, que mantiene la red Cosmos proponiendo nuevos bloques y validando transacciones.

Los titulares también pueden optar por delegar sus monedas ATOM con validadores en lugar de ejecutar el software de validación ellos mismos, lo que aún les permite recibir una parte de las recompensas por apostar.

dApps creadas en Cosmos

Como una red de blockchain interoperable y altamente escalable capaz de alojar contratos inteligentes, Cosmos se ha vuelto popular entre los desarrolladores de dApp que desean crear aplicaciones descentralizadas (dApps) eficientes entre cadenas.

Algunas de las dApps más destacadas que operan actualmente en Cosmos incluyen:

⚓ Anchor: una plataforma financiera que ofrece tasas de interés de baja volatilidad en depósitos de monedas estables.

💳 Flares: una red de pago que admite múltiples activos y sistemas de pago, incluidos juegos y DeFi.

📱 Klever: una aplicación móvil con cartera, navegador y cartera de blockchain integrados.

👛 Chainweaver: una cartera interoperable de múltiples cadenas de bloques y un entorno de desarrollo de contratos inteligentes.

Conclusiones

Cosmos es el internet de las cadenas de bloques, hace que sean potentes y fáciles de desarrollar con Tendermint BFT y de Cosmos SDK. Permite que las blockchains se transfieran valor entre sí a través de IBC y Peg-Zones, al tiempo que les permite conservar su soberanía.

Cosmos permite que las aplicaciones de blockchain se escalen a millones de usuarios a través de soluciones de escalabilidad horizontal y vertical.

Cada cambio, actualización o activación de funciones en el protocolo Cosmos depende de la aprobación de los titulares de ATOM. Debido a que la red Cosmos se lanzó hace relativamente poco tiempo y todavía se encuentra en su etapa de desarrollo, aún no se ha dado cuenta por completo de la visión establecida en su documento técnico.

Sin embargo, con el lanzamiento de la actualización de Stargate, las cadenas de bloques ahora pueden comunicarse entre sí gracias al protocolo Inter-Blockchain Communication (IBC), con el que los desarrolladores ahora pueden construir libremente. Además de esto, la actualización de Stargate trae consigo actualizaciones automáticas, clientes ligeros con todas las funciones y ganancias de eficiencia de 100 veces, lo que convierte a Cosmos en una fuerza a tener en cuenta.

 

Advertencia de riesgo: La inversión en criptoactivos no está regulada, puede no ser adecuada para inversores minoristas. Las inversiones en mercados financieros están sujetas a riesgo, incluyendo la pérdida del capital. Las rentabilidades pasadas no garantizan resultados futuros.

Roberto Sanz

Otros artículos interesantes que puedes leer:

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

👇🏼 Suscríbete a la newsletter #LaVidaCrypto para recibir contenido gratuito todas las semanas👇🏼 

Qué es COSMOS: El internet de las blockchains

Suscríbete a la newsletter #LaVidaCrypto para recibir contenido gratuito todas las semanas👇🏼 

¿Necesitas orientación?

Más Noticias >