🇪🇸 Una mirada cercana al software que ejecuta Cardano


Traducción al español de “A close look at the software running Cardano”, escrito por Niamh Ahern, escritora técnica en IOG


Conozca el “stack” de componentes que interactúan para hacer funcionar la plataforma blockchain.

1

Cardano ha sido diseñado en módulos, cuyos componentes están vinculados entre sí y pueden utilizarse de diversas maneras. Estos componentes forman el “´stack´ o ´pila´ de la plataforma Cardano”. Funcionan juntos debajo del capó para apoyar la construcción y el uso de la blockchain de Cardano en vivo.

En estos momentos estamos en la fase inicial de la red de pruebas rumbo al hard fork de Alonzo, que aportará a Cardano toda la capacidad de los contratos inteligentes. Es un proceso muy complejo, que exige la actualización constante de los diferentes elementos que componen la plataforma Cardano, así como su cuidadosa integración y prueba. Por ello, es un buen momento para repasarlos, explicar alguna terminología y descubrir cómo interactúan dentro del “stack de la plataforma”.

Los elementos del stack de la plataforma Cardano

Figura 1. Componentes en comunicación con el nodo Cardano

Los componentes principales que componen el stack de la plataforma Cardano son los siguientes

  • Nodo Cardano (y procesos asociados)
  • Wallet [billetera] de Cardano
  • Interfaz de línea de comandos (CLI, del inglés Command Line Interface) de la wallet
  • DB Sync (sincroniza los datos de la blockchain con una base de datos relacional)
  • Base de datos PostgreSQL (que interactúa con GraphQL, REST API y Smash)
  • Servidor SMASH
  • Rosetta API (protocolo de comunicación de blockchain)

Nótese que la wallet Daedalus no forma parte del núcleo del stack, pero sí se comunica con los componentes (Figura 1).

El nodo y la capa de red

En primer lugar, veamos el nodo Cardano. Es un software instalado en su ordenador y que sirve de base a la red, permitiendo a cualquier persona participar en la blockchain descentralizada. El nodo incorpora el consenso, el libro mayor y los subcomponentes de la red, brindando capacidades de configuración de alto nivel, API, CLI, registro, gestión de memoria y monitoreo que pueden ser utilizadas por otros componentes de Cardano o por usuarios calificados. Daedalus es una wallet de nodo completo, de modo que, si usted la ejecuta en su computadora personal, está contribuyendo a la gestión de la red.

La capa de red

Seguidamente, tenemos la capa de red que vincula cada nodo de Cardano a un sistema distribuido que gestiona a la blockchain y los servicios asociados. La red está formada por un conjunto de nodos que se comunican entre sí para mantener el libro mayor distribuido [ledger], respaldar el envío de transacciones e interactuar con las wallets de los usuarios y otros servicios. El núcleo de la red se construye en torno a los nodos descentralizados -los stake pools- los cuales validan colectivamente los bloques y añaden nuevos bloques a la cadena. Cuentan con el apoyo de nodos de retransmisión dedicados que gestionan las conexiones de la red y establecen la estructura de la red en su conjunto. Los nodos de consumidores dedicados que gestionan la wallet Daedalus y otros servicios se conectan a esta red para rastrear y enviar transacciones en la cadena.

Los nodos de Cardano mantienen las conexiones con sus pares [otros nodos]. Un conjunto de miniprotocolos permite la comunicación entre los nodos. Cada miniprotocolo implementa un requisito básico de intercambio de información, como informar a sus pares sobre el último bloque, compartir bloques según sea necesario o compartir nuevas transacciones en la red Cardano. A efectos de conexión, los miniprotocolos están determinados por la versión del protocolo de la red.

Backend de la wallet Cardano

El componente backend Cardano wallet soporta la interfaz gráfica de usuario de la wallet Daedalus. Es utilizado para enviar y recibir ada. Detrás de escena, la wallet ejecuta un nodo Cardano completo. Al contrario de una wallet de cliente ligero, carga todo el libro mayor [legder] compartido y valida todas las transacciones, reforzando así la seguridad de la blockchain para todos.

Interfaz de línea de comandos (CLI) de la wallet

Permite interactuar con la blockchain propiamente dicha. Los usuarios más avanzados técnicamente pueden utilizar la CLI para operar con el conjunto de herramientas, generar claves, construir transacciones, crear certificados y realizar otras tareas. Su organización se basa en una jerarquía de subcomandos y cada nivel cuenta con su propia documentación integrada sobre la sintaxis y las opciones de los comandos.

DB Sync - [Sincronización con una base de datos]

DB Sync es un componente que se ocupa de seguir las actividades de la cadena Cardano y almacenar los bloques y las transacciones en PostgreSQL. Al ser un componente “middleware” [software intermedio], alimenta con información a cardano-graphql. DB Sync almacena los datos de la blockchain obtenidos de cardano-node en una base de datos intermedia para permitir interfaces de alto nivel para la exploración de la blockchain. Además, ofrece una serie de consultas para obtener los datos de la blockchain de Cardano desde PostgreSQL y soporta servicios como el Explorador de Cardano, una interfaz gráfica de usuario que refleja los datos de la blockchain de forma sencilla. Cardano GraphQL es una API multiplataforma para el lenguaje de consulta de datos GraphQL.

API Rosetta

La Interfaz de Programación de Aplicaciones [API] Rosetta brinda una interfaz de alto nivel cuyo objetivo es hacer que el proceso de integración sea más fácil, rápido y confiable, para que usted pueda construir una vez e integrar su blockchain en todas partes. Hemos creado una implementación única cardano-rosetta para simplificar el proceso de integración con Cardano. Esta interfaz es especialmente útil para los intercambios [exchanges], de modo que puedan interactuar con la cadena Cardano utilizando la misma interfaz que utilizan con otras blockchain.

Mirando al futuro

Con la llegada de los contratos inteligentes a Cardano en breve, Plutus, el lenguaje nativo de contratos inteligentes, y otros lenguajes de desarrollo de contratos inteligentes como Marlowe para las finanzas y Glow para las DApps, se integrarán en el stack de Cardano. Los ingenieros de IO Global facilitarán componentes nuevos y mejorados para compilar scripts de Plutus, Marlowe y Glow, enviarlos a la cadena e interactuar con ellos (Figura 2).

3

Figura 2. Plutus, Marlowe, Glow, Solidity e IELE pueden emplearse para escribir contratos inteligentes [smart contracts] de Cardano.

La actualización del protocolo Alonzo estará basada en las recientes actualizaciones de tokens y se está desplegando en la red principal a través de varias redes de prueba. Nuestros socios de Plutus y los Pioneros de Plutus nos ayudarán a probar Plutus Core y formarán parte de la fase de aceptación de los usuarios antes del despliegue en la red principal. Llegados a ese punto, añadiremos oficialmente los componentes de Plutus y Marlowe, como ambos intérpretes, a la pila de la plataforma de Cardano.

Para mantenerse al tanto del despliegue de Alonzo, por favor, consulte nuestros canales sociales y la página del blog.

2 Likes