Entendiendo el funcionamiento técnico de Stellar

La blockchain de Stellar es mucho más que una simple red descentralizada para transferencias de activos digitales. Su arquitectura innovadora y su protocolo de consenso eficiente la convierten en una opción atractiva tanto para usuarios individuales como para empresas.
CriptoConexion, funcionamiento-tecnico, Stellar

Con características como la tokenización de activos y su propio protocolo de consenso, Stellar se posiciona como una de las principales cadenas de bloques para el desarrollo de aplicaciones financieras y de pagos en el panorama de la tecnología blockchain.



¿Cómo funciona Stellar?

  • La arquitectura de Stellar se basa en sus nodos, libro mayor, anchors, lumens y protocolo de consenso SCP.
  • Las transacciones en la blockchain de Stellar son la forma en que los usuarios interactúan con la red para realizar pagos, intercambiar activos y realizar otras operaciones financieras
  • El protocolo de Stellar (SCP) está basado en el Acuerdo Bizantino Federado.
  • Stellar es una red de pagos global que se destaca por su capacidad para facilitar pagos transfronterizos de manera eficiente y económica en cualquier parte del mundo


La blockchain de Stellar es mucho más que una simple red descentralizada para transferencias de activos digitales. Su arquitectura innovadora y su protocolo de consenso eficiente la convierten en una opción atractiva tanto para usuarios individuales como para empresas. Desde el punto de vista técnico, Stellar se destaca por su velocidad de procesamiento de transacciones, con tiempos de confirmación de sólo segundos, y su capacidad para manejar grandes volúmenes de transacciones sin comprometer la eficiencia. Además, su enfoque en la inclusión financiera global se refleja en su capacidad para ofrecer soluciones económicas y accesibles para pagos transfronterizos, remesas y micropagos. En este segundo tutorial profundizaremos en todos estos aspectos para que no te pierdas nada.

Arquitectura de la red Stellar

La blockchain de Stellar se basa en una arquitectura de red descentralizada y abierta, diseñada para facilitar transferencias de valor rápidas, seguras y eficientes.

A continuación detallaremos cuáles son los componentes clave de la arquitectura de Stellar.

Nodos: 

La red está compuesta por una serie de nodos distribuidos, cada uno ejecutando el software de Stellar Core para participar en la validación y el consenso de las transacciones. Estos nodos se conectan entre sí formando una red peer-to-peer (P2P), lo que elimina la necesidad de intermediarios y permite una mayor eficiencia en las operaciones.

Los nodos ejecutan el programa de Stellar Core, que se encarga de mantener un libro mayor distribuido común a todos y contribuye al proceso de consenso para verificar y completar transacciones. Habitualmente, los nodos llegan a un acuerdo, ejecutan un conjunto de transacciones y actualizan el registro cada 5-7 segundos.

Todos los nodos realizan las mismas funciones básicas que consisten en:

  • Ejecutar Stellar Core.
  • Conectarse a otros nodos.
  • Enviar transacciones. 
  • Almacenar el estado del libro mayor en una base de datos SQL. 
  • Mantener una copia duplicada del libro mayor en archivos XDR planos llamados ‘buckets’.

Además de estas funciones básicas y comunes a todos, un nodo puede:

  • Participar en el consenso para validar las transacciones.
  • Publicar un archivo que otros nodos puedan consultar para encontrar la historia completa de la red.

Tipos de nodos:

En función de lo anterior podemos clasificar a los nodos en tres grupos:

  • Validador básico (basic validator): lleva un registro del libro mayor y envía transacciones para su posible inclusión, pero no está configurado para publicar archivos de historial.
  • Validador completo (full validator): es lo mismo que un validador básico, pero además puede publicar archivos de historial que contienen instantáneas del libro mayor, incluyendo todas las transacciones y sus resultados.
  • Archivador (archiver): al igual que un validador completo, publica la actividad de la red en almacenamiento a largo plazo pero, a diferencia de un validador completo, no participa en el consenso.

Libro mayor: 

El concepto de libro mayor en Stellar es equivalente a lo que otras cadenas de bloques denominan como bloque.

El libro mayor de Stellar es un registro público e inmutable, accesible por los nodos centrales de la red, que almacena todas las transacciones, contiene la lista de cuentas y saldos, órdenes en el exchange distribuido, información de contratos inteligentes y cualquier otro dato persistente. Funciona como una base de datos distribuida que todos los nodos de la red Stellar mantienen y verifican.

En cada ronda del protocolo de consenso de Stellar, la red alcanza consenso sobre qué conjunto de transacciones aplicar al último libro mayor cerrado, y cuando se aplica el nuevo conjunto, se define un nuevo ‘último libro mayor cerrado’. Cada libro mayor está vinculado criptográficamente al libro mayor anterior único, creando una cadena histórica que se remonta al libro mayor de origen.

Anchors

En la actualidad, cada región cuenta con su propio sistema de pago. Estos sistemas están diseñados para atender una serie de necesidades concretas que deben cumplir además con la legislación de cada zona. Como consecuencia, las operaciones internacionales experimentan demoras y tarifas demasiado elevadas y además no están disponibles en toda la geografía. Lo ideal sería poder contar con un solo sistema de pago que  todo el mundo pudiera utilizar sin importar el lugar donde se encuentre y con unas tarifas asequibles para todos.

Los anchors son instituciones financieras que sirven para solucionar esta problemática, actuando como puentes entre la red Stellar y los sistemas de pago tradicionales con sus monedas fiduciarias. Permiten a los usuarios depositar y retirar dinero fiduciario, convirtiéndolo en lumens (XLM) o viceversa.

Cuando un usuario deposita fondos en un anchor, dicha entidad acreditará su cuenta de Stellar con la cantidad equivalente de tokens digitales. El usuario puede luego mantener, transferir o intercambiar esos tokens como cualquier otro activo de Stellar. Cuando un usuario retira esos tokens, el anchor los canjea por efectivo en mano o dinero en el banco.

Cuando un cliente descarga una aplicación de cartera que está conectada a un servicio de anchor, su cuenta de Stellar puede ser creada tanto por la aplicación de cartera como por el servicio de anchor

En función de los servicios que presten podemos clasificar a los anchors de la siguiente forma:

  • On y off-ramps: son aquellos que proporcionan servicios de compra/venta y depósito/retiro entre activos fiat y digitales.
  • Emisores: son los encargados de tokenizar todo elemento de valor en el mundo real.
  • Exchanges: dando soporte a todos los activos emitidos en la blockchain de Stellar, como USDC y XLM.
  • Anchors interoperables: conectando sus servicios a través de la red de Stellar.

Si deseas profundizar en el mundo de los anchors y quieres buscar uno que se acomode con tus necesidades puedes acceder a este directorio.

Lumens (XLM):

El Lumen (XLM) es la moneda nativa de la red Stellar. A diferencia de otros tokens en la red, el Lumen no requiere un emisor o una línea de confianza para ser utilizado. Su función principal es facilitar las transacciones en la red, ya que se utiliza para pagar todas las tarifas de transacción, así como el alquiler de espacio en el libro mayor y para cubrir los requisitos de saldo mínimo en las cuentas de la red.

Las tarifas de transacción en la red Stellar son necesarias para prevenir el spam del libro mayor y para dar prioridad a las transacciones durante periodos de alta demanda. Estas tarifas se pagan en lumens y son relativamente bajas en comparación con las que están establecidas en otras cadenas de bloques. Se basan en la complejidad de la transacción y en la carga de trabajo de la red en ese momento.

Además de las tarifas de transacción, los lumens se utilizan también para cumplir con el requisito de saldo mínimo que Stellar impone en las cuentas de la red. Este saldo mínimo se calcula utilizando una unidad de medida llamada reserva base, que actualmente es de 0,5 XLM. Cada cuenta debe mantener al menos dos veces la reserva base como saldo mínimo, y este saldo mínimo aumenta con cada subentrada adicional en la cuenta, como líneas de confianza, ofertas y saldos reclamables. Esto garantiza que las cuentas tengan suficiente saldo para participar plenamente en la red y realizar transacciones.

Por otro lado, los datos manejados en contratos inteligentes en la red Stellar no requieren reservas base para ser almacenados en el libro mayor; en estos casos se debe pagar una especie de alquiler que dependerá del tamaño y del tiempo que permanezcan en la red. Este alquiler se basa en diferentes tipos de almacenamiento (persistente, temporal e instantáneo) y está diseñado para incentivar la eficiencia en el uso de recursos de la red.

Protocolo de consenso Stellar (SCP): 

El corazón de la arquitectura de esta cadena de bloques es el Stellar Consensus Protocol (SCP), que es un protocolo de consenso federado diseñado para alcanzar acuerdos entre los nodos validadores de manera rápida y eficiente. En lugar de depender de la minería, como en algunas otras blockchains, Stellar utiliza un enfoque de consenso federado donde un subconjunto de nodos validadores es responsable de verificar las transacciones y mantener la integridad de la red. Este diseño reduce significativamente el consumo de energía y mejora la escalabilidad de la red. Más adelante nos adentraremos en el protocolo de consenso de Stellar,  ya que es uno de los pilares fundamentales de su arquitectura.

Transacciones en Stellar

Las transacciones en la blockchain de Stellar son la forma en que los usuarios interactúan con la red para realizar pagos, intercambiar activos y realizar otras operaciones financieras. Las transacciones están compuestas de una serie de operaciones que, agrupadas, se envían a la red en forma de transacción. Una operación es un objeto que representa un cambio deseado en el libro mayor. La red Stellar codifica las transacciones utilizando un protocolo estandarizado llamado External Data Representation (XDR, por sus siglas en inglés). 

Cada cuenta en Stellar sólo puede realizar una transacción a la vez. Las transacciones comprenden un conjunto de entre 1 y 100 operaciones (excepto las transacciones de contratos inteligentes, que únicamente pueden tener una operación por transacción) y son firmadas y enviadas al libro mayor por las cuentas. Las transacciones siempre necesitan ser autorizadas por la clave pública de la cuenta de origen para ser válidas; aunque también hay casos en los que una transacción puede necesitar más de una firma. La creación y la firma de la transacción se realiza utilizando un SDK de Stellar y, generalmente, ese SDK utiliza Horizon, la API de Stellar, para enviarla.

Suponiendo que una transacción sea válida, el nodo de Stellar Core que la recibe la comparte con otros nodos de Stellar Core, quienes trabajan para crear un conjunto combinado de transacciones válidas. Los nodos que están preparados para validar luego ratifican ese conjunto de transacciones a través de un proceso de votación en varias etapas y lo aplican para cambiar el estado del libro mayor. Esto lo explicaremos más adelante.

Las transacciones son atómicas. Esto significa que si una operación en una transacción falla, todas las operaciones fallan y la transacción completa no se aplica al libro mayor.

Tarifas por transacción: 

Stellar requiere una tarifa para todas las transacciones que llegan al libro mayor. Esto ayuda a prevenir el spam y prioriza las transacciones durante los picos de tráfico. Todas las tarifas se pagan utilizando el token nativo de Stellar, el Lumen (XLM).

Hay dos tipos de tarifas en Stellar:

  • Tarifa de recurso: se aplica únicamente a las transacciones de contratos inteligentes. Es la cantidad que el remitente debe pagar para que su transacción se ejecute. El monto se basa en el consumo de recursos de una transacción y el estado del almacenamiento de la red.
  • Tarifa de inclusión: es la cantidad máxima que el remitente está dispuesto a pagar para que la transacción se incluya en el libro mayor.

Al competir por espacio en el libro mayor, las transacciones de contratos inteligentes sólo compiten con otras transacciones de contratos inteligentes, a su vez las transacciones que no ejecutan un contrato inteligente se enfrentan a otras del mismo tipo.

Los lumens recolectados de las tarifas de transacción van a una cuenta bloqueada y no son entregados ni utilizados por nadie.

Protocolo de consenso Stellar (SCP) 

El protocolo de consenso es fundamental en cualquier cadena de bloques. Se utiliza para coordinar de forma descentralizada diferentes decisiones que deben tomarse en la red. La gestión descentralizada del sistema de pagos hace que los nodos involucrados en la red se encarguen de monitorear y aprobar las diferentes transacciones en lugar de delegar estas labores a una entidad centralizada. El consenso es esencial para la seguridad de la blockchain.

La blockchain de Stellar alcanza el consenso utilizando el protocolo de consenso de Stellar (SCP), que está basado en el Acuerdo Bizantino Federado (FBA, por sus siglas en inglés). El FBA difiere de otros mecanismos de consenso como la Proof of work (PoW) que se basa en el poder computacional de un nodo, y la Proof of stake (PoS), basada en el poder de apuesta de un nodo, al confiar en el acuerdo de nodos de confianza. En concreto se trata de un sistema de consenso basado en la prueba de conformidad o Proof of agreement (PoA).

En SCP, cada nodo, llamado nodo Stellar Core, participante (también llamado validador o nodo validador) decide en qué conjunto de otros nodos quieren confiar. Cualquier nodo puede convertirse en un nodo Stellar Core pero no reciben ninguna recompensa por ello, simplemente son los responsables de la seguridad de la cadena de bloques y de todas las transacciones que circulan por ella.

Todos los protocolos de consenso tienen como propiedades fundamentales:

  • Tolerancia a fallos: el sistema continúa funcionando a pesar del fallo o mal funcionamiento de los nodos.
  • Seguridad: los pares de nodos se ponen de acuerdo para generar el mismo bloque, no hay discrepancias.
  • Capacidad de respuesta: si algún nodo se comporta mal, el resto de los nodos son capaces de funcionar de forma independiente.

Hay que destacar que SCP prioriza la tolerancia a fallos y la seguridad, lo que puede provocar que algunas veces los bloques se queden bloqueados en espera de la aprobación.

¿Cómo funciona el protocolo de consenso de Stellar?

Para entender el funcionamiento de SCP hay que conocer cada uno de los actores y procedimientos que forman parte del mismo:

Nodos y quórums: en la red Stellar, los nodos son los participantes que mantienen una copia del libro mayor distribuido. Estos nodos forman quórums, que son grupos de nodos que están de acuerdo en el estado actual del libro mayor. Los quórums son esenciales para el proceso de consenso.

Ronda de consenso: el proceso de consenso en Stellar se lleva a cabo en rondas. En cada una, los nodos intercambian mensajes para proponer y validar transacciones. Cada ronda tiene un conjunto de quórums que deben estar de acuerdo en la validez de las transacciones para alcanzar el consenso.

Preparación y confirmación: en la primera etapa de cada ronda los nodos proponen transacciones y las envían a los quórums. En la etapa de preparación, los quórums recopilan las transacciones propuestas y las validan. Una vez que un quórum ha reunido suficientes transacciones validadas, pasa a la etapa de confirmación.

Aceptación y validación: en la etapa de confirmación, los quórums intercambian mensajes para aceptar las transacciones y validarlas. Una vez que un quórum ha recibido suficientes confirmaciones de otros quórums, puede aceptar las transacciones como válidas y proceder a actualizar el estado del libro mayor.

Consolidación del consenso: cuando la mayoría de los quórums aceptan las transacciones, se alcanza un consenso global sobre el estado del libro mayor y las transacciones son confirmadas de manera irreversible.

Como en todos los sistemas de Acuerdo Bizantino Federado, el protocolo de consenso de Stellar depende de que los validadores elijan buenos conjuntos de quórum para funcionar correctamente. En 2019 se produjo una actualización en el SCP que permitió que la elección de los conjuntos de quórum fuera más sencillo, ya que anteriormente  los validadores configuraban sus conjuntos de quórum manualmente y no había una forma fácil de que verificaran esas configuraciones y determinar si creaban la intersección de quórum necesaria.

Implementación del protocolo de consenso de Stellar

El protocolo de consenso de Stellar está implementado en el software de nodo Stellar Core. Los operadores pueden configurar sus nodos para participar en el proceso de consenso de acuerdo a sus preferencias y requisitos de seguridad.

Stellar como una red de pagos global

No es posible entender el funcionamiento de Stellar sin mencionar su funcionalidad más importante.

Stellar es una red de pagos global que se destaca por su capacidad para facilitar pagos transfronterizos de manera eficiente y económica en cualquier parte del mundo. Su arquitectura descentralizada y su tecnología blockchain permiten que las transacciones se liquiden en cuestión de segundos, eliminando los retrasos y las fricciones asociadas con los sistemas de pago tradicionales. 

Stellar también ofrece tarifas de transacción extremadamente bajas, lo que hace que enviar pagos a través de la red sea mucho más económico en comparación con otras opciones. Esta combinación de velocidad, eficiencia y bajo costo hace que Stellar sea una opción atractiva para individuos, empresas y organizaciones que necesitan realizar pagos transfronterizos de manera regular. 

Además, la red Stellar es altamente accesible, lo que significa que cualquier persona con acceso a internet puede utilizarla para enviar y recibir pagos en todo el mundo, sin importar su ubicación geográfica o situación financiera. 

Pagos transfronterizos:

Los pagos transfronterizos implican operaciones financieras entre partes ubicadas en diferentes países. En el contexto de la mayoría de las transacciones comerciales B2B, el proveedor de bienes o servicios emite una factura que detalla los métodos de pago y los términos acordados. Es responsabilidad del proveedor de servicios determinar las modalidades de pago y la moneda de preferencia.

Para transacciones de gran volumen, la transferencia internacional a través de código SWIFT es la opción más común. En este proceso de banco a banco, el cliente trabaja en conjunto con su entidad financiera para llevar a cabo el pago, mientras que el banco corresponsal intermediario, o plataforma, se encarga de realizar el cambio de divisas, establecer la tasa de cambio y aplicar sus correspondientes tarifas.

Millones de negocios en todo el mundo realizan y reciben pagos diariamente, utilizando para ello estos métodos tradicionales que son la base de la economía centralizada. Estos pagos pueden resultar muy costosos y necesitan tiempo para su procesamiento, sobre todo en el caso de operaciones transfronterizas. Si bien este sistema tradicional de pagos se ha mejorado con la llegada de empresas como PayPal y Wire, con un sistema mucho más flexible para este tipo de transacciones, quedan por resolver aún muchos aspectos fundamentales. Con la llegada de las criptomonedas las posibilidades en el ecosistema de pagos ha cambiado notablemente. Cadenas de bloques como Stellar han llegado para solucionar los diferentes problemas que muchas personas y negocios enfrentan diariamente.

La blockchain de Stellar ofrece una alternativa accesible para cualquier persona que busque enviar pagos a nivel mundial. Al ofrecer una extensa red de puntos de acceso, el ecosistema de Stellar brinda una ventaja única a aquellos que operan en mercados emergentes y en desarrollo, donde los costos de transacción pueden ser elevados.

Beneficios de utilizar Stellar como red global de pagos:

  • Eficiencia: los pagos se liquidan en cuestión de segundos, lo que proporciona una solución rápida y eficiente para las operaciones transfronterizas.
  • Bajo costo: las tarifas de transacción son considerablemente más bajas, lo que permite realizar pagos internacionales a un costo menor en comparación con otros sistemas de pago tradicionales.
  • Accesibilidad: la red Stellar es accesible para cualquier persona en todo el mundo, lo que la convierte en una solución inclusiva para las necesidades de pagos globales.
  • Transparencia y trazabilidad: todas las transacciones en la red son públicas y transparentes, lo que permite un seguimiento y auditoría eficientes de las transacciones transfronterizas.

Sigue aprendiendo con CryptoConexión y no te pierdas nuestro próximo tutorial donde explicaremos un poco más el ecosistema de Stellar.

Comparte nuestro artículo:
LinkedIn
Facebook
Twitter
Reddit
Telegram
WhatsApp
Email
Más sobre:
Te puede interesar