El algoritmo PlumTree en el protocolo Gossip de Solana

Descubre cómo el algoritmo Plumtree optimiza la propagación de mensajes en la red Solana, mejorando la eficiencia y reduciendo la latencia en comparación con el protocolo GossipSub de Ethereum.

9 mar 2025 • 5 min de lectura • Equipo Q2BSTUDIO

Empresa-Software-Apps

Glosario

INV (Inventario): Un mensaje enviado a los nodos en la red para indicar la disponibilidad de datos que cada nodo requiere.

GETDATA: Mensaje enviado a un nodo que consulta los datos especificados en el mensaje INV.

Árbol Abarcador: Un árbol abarcador de un grafo es un subconjunto del grafo que conecta todos sus vértices con el mínimo número de aristas sin formar ciclos.

Introducción

La tecnología blockchain está ganando gran relevancia como soporte para criptomonedas debido al crecimiento de los memecoins y el lanzamiento de nuevas criptodivisas. Sin embargo, un reto clave en las redes blockchain es la eficiente propagación de mensajes entre nodos, lo que conlleva un consumo de recursos de comunicación. En el protocolo de difusión tradicional, la latencia es un gran problema, ya que el nodo debe esperar al siguiente ciclo para transmitir un mensaje.

El algoritmo Plumtree fue diseñado para reducir la latencia y la redundancia en la transmisión de mensajes, especialmente en redes peer-to-peer y sistemas distribuidos donde es crucial la difusión rápida y confiable de mensajes. Lo logra identificando la ruta más corta para enviar el mensaje al siguiente nodo en el árbol abarcador. Esto permite que cada nodo participe en la retransmisión de mensajes sin depender de una fuente centralizada.

En este artículo exploramos la implementación del algoritmo Plumtree en la red Solana y su papel en aumentar la velocidad de propagación de mensajes. Además, comparamos Plumtree con GossipSub, un algoritmo de difusión epidémica basado en mensajes gossip utilizado en Ethereum.

Difusión en Solana

En Solana, la propagación de bloques se realiza mediante un método de difusión basada en gossip. Cuando un nodo recibe un nuevo bloque, envía un mensaje BROADCAST a otros nodos en la red, incluyendo información como el encabezado del bloque, datos de transacciones, cambios de estado y metadatos adicionales. Al recibir el mensaje BROADCAST, el nodo receptor verifica si ya tiene ese bloque en su historial. Si no lo tiene, envía una solicitud QUERY al nodo emisor para pedir los datos del bloque.

Cuando el nodo recibe los datos del bloque solicitado, los verifica y los añade a la red, evitando retransmitir datos de forma redundante a otros nodos.

Cómo funciona Plumtree

Plumtree es un método de difusión que combina enfoques basados en árboles y en gossip para reducir la redundancia y mantener una alta confiabilidad en la transmisión de mensajes. En un broadcast basado en árboles, se construye un árbol que conecta a todos los nodos participantes y los mensajes se transmiten únicamente a través de este árbol, reduciendo la redundancia.

Si el número de nodos aumenta o disminuye o si se produce una falla en la red, el árbol puede volverse incompleto y algunos nodos pueden no recibir el mensaje. Sin embargo, Plumtree combina este sistema con enlaces basados en gossip para gestionar fallos y mejorar la eficiencia en la difusión.

En un sistema basado en gossip, cuando un nodo intenta difundir un mensaje, selecciona aleatoriamente otros nodos para enviarlo. Los nodos receptores repiten este proceso, lo que aumenta la escalabilidad y la resistencia a fallos en la red.

Existen tres enfoques principales en la difusión basada en gossip:

  • Difusión Eager Push: Una vez recibido un mensaje, este se envía inmediatamente a los nodos vecinos.
  • Difusión Lazy Push: Un nodo recibe un mensaje y solo envía su identificador a nodos vecinos. Si un nodo aún no ha recibido el mensaje, envía una solicitud para obtenerlo.
  • Pull: Un nodo que no ha recibido un mensaje consulta a sus nodos vecinos para obtenerlo.

Plumtree utiliza una combinación de Eager Push para enviar un pequeño conjunto de mensajes y Lazy Push para optimizar la transmisión.

Plumtree en la red Solana

Solana emplea un enfoque de comunicación peer-to-peer junto con un algoritmo basado en árboles inspirado en Plumtree, lo que permite una difusión eficiente de datos en la red sin depender de una fuente centralizada. Este método permite que los mensajes se propaguen en una estructura jerárquica, con nodos que interactúan directamente y transmiten información eficientemente.

Usando un árbol abarcador construido con el algoritmo Plumtree, Solana optimiza la forma en que se transmiten datos a lo largo de la red. En términos básicos, cada nodo comparte mensajes con sus vecinos directos, quienes a su vez propagan la información a través del árbol.

Diferencias entre Plumtree y GossipSub en Ethereum

El algoritmo Plumtree en Solana y GossipSub en Ethereum tienen diferencias clave en la forma en que manejan la propagación de datos:

  • Solana utiliza un enfoque de difusión basado en árboles, donde los nodos están organizados jerárquicamente y el nodo padre se conecta con el nodo hijo. GossipSub, en cambio, utiliza superposiciones P2P basadas en temas, en las que los nodos se suscriben a temas específicos relacionados con las funciones de validación y comunicación dentro de la red Ethereum.
  • Solana emplea una difusión epidémica que gestiona la redundancia al degradar nodos con rutas subóptimas de mensajes, mientras que GossipSub usa una difusión epidémica basada en conexiones aleatorias.

Conclusión

En este artículo examinamos el algoritmo Plumtree en el protocolo Gossip de Solana, resaltando su enfoque híbrido basado en árboles y gossip para la difusión eficiente de mensajes. Además, comparamos este método con GossipSub de Ethereum, destacando sus diferencias en la propagación de la información.

En Q2BSTUDIO, empresa especializada en desarrollo y servicios tecnológicos, nos mantenemos a la vanguardia en la exploración de soluciones innovadoras en blockchain. Nuestro equipo tiene experiencia en la implementación de algoritmos eficientes como Plumtree, optimizando así la infraestructura de redes distribuidas para mejorar el rendimiento y la escalabilidad de aplicaciones descentralizadas.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.