libp2p & GossipSub Entegrasyonu

Geliştirici Teknik Klavuzu

1. Merkeziyetsiz Ağ Katmanı

HüdHüdCell, merkezi sunucuları tamamen aradan çıkarmak amacıyla libp2p protokol ailesini entegre etmiştir. libp2p, eşler arası doğrudan bağlantıları kurmak, yönetmek ve veri alışverişi yapmak için gerekli tüm taşıma, kimlik doğrulama ve yönlendirme protokollerini tek bir çatı altında birleştirir.

2. GossipSub ile Mesaj Yayılımı

Ağ içindeki grup ve birebir sohbetler, libp2p'nin GossipSub (Gossip PubSub) spesifikasyonunu kullanır. GossipSub, veri paketlerini ağdaki komşu düğümlere yayan ve merkezi bir dağıtım sunucusu olmaksızın mesajın tüm alıcılara ulaşmasını garantileyen bir mesh protokolüdür.

  • Mesh Ağ Modeli: Her düğüm (cihaz) komşu düğümlerle dinamik bağlantılar (mesh) kurar.
  • Gossip (Dedikodu) Protokolü: Düğümler, yeni aldıkları mesajların özetlerini (metadata) periyodik olarak komşularıyla paylaşarak eksik verilerin talep edilmesini sağlar.
  • Verimli Bant Genişliği: Akıllı yönlendirme sayesinde veri tekrarları engellenerek mobil cihazların pil ve internet tüketimi optimize edilir.

3. NAT Aşımı ve DHT (Dağıtık Tablo)

Mobil ağlardaki güvenlik duvarlarını (NAT) aşmak için AutoNAT, STUN ve libp2p Circuit Relay (eşler arası yönlendirici düğümler) protokolleri entegre edilmiştir. Eşlerin IP adreslerini ve bağlantı noktalarını bulmak için ise Kademlia tabanlı bir Dağıtık Arama Tablosu (DHT) kullanılır.

1. Decentralized Networking Layer

To operate fully without centralized backend clusters, HudHudCell integrates the libp2p network protocol suite. libp2p handles connection multiplexing, peer discovery, transport encryption, and NAT traversal under a single unified architecture.

2. GossipSub PubSub Mechanism

Group chats and messaging channels rely on the GossipSub routing specification. GossipSub uses a mesh network approach, transmitting messages via peer nodes to ensure reliable packet delivery without relaying traffic through central cloud servers.

  • Mesh Topology: Each client maintains a dynamic overlay mesh of active neighboring peers.
  • Gossip Dissemination: Nodes broadcast control messages (IHAVE metadata) to notify neighbors of new packets, which can then be requested via WANT messages.
  • Bandwidth Tuning: Smart routing filters prevent redundant broadcasts, optimizing battery life and bandwidth usage on mobile connections.

3. NAT Traversal & DHT Discovery

To punch holes through cellular carrier firewalls, HudHudCell implements AutoNAT, STUN, and libp2p Circuit Relays (v2). Node network endpoints are resolved via a Kademlia-based Distributed Hash Table (DHT).

1. طبقة الشبكات اللامركزية

لإلغاء الحاجة للخوادم المركزية، قامت HudHudCell بدمج حزمة بروتوكولات libp2p. يتعامل libp2p مع تعدد إرسال الاتصالات، واكتشاف النظراء، وتشفير النقل، واجتياز جدران الحماية (NAT) تحت بنية موحدة.

2. آلية النشر عبر GossipSub

تعتمد غرف المحادثة والمجموعات على مواصفات التوجيه GossipSub. يستخدم GossipSub نهج الشبكة المتداخلة (Mesh Network)، حيث ينشر الرسائل عبر عقد النظراء لضمان وصولها بأمان دون المرور بخادم سحابي.

  • البنية المتداخلة (Mesh): يحافظ كل جهاز على اتصالات ديناميكية مع العقد المجاورة النشطة.
  • بروتوكول الإشاعات (Gossip): تبث العقد ملخصات الرسائل (Metadata) لجيرانها بشكل دوري، مما يسمح بطلب البيانات المفقودة بكفاءة.
  • تحسين النطاق الترددي: تمنع خوارزميات التوجيه الذكية التكرار، مما يحافظ على عمر البطارية واستهلاك البيانات على الهواتف المحمولة.

3. اجتياز NAT واكتشاف DHT

لاختراق جدران الحماية المعقدة لشبكات الجوال، يدعم البروتوكول AutoNAT و STUN ومرحّلات Circuit Relay الخاصة بـ libp2p. يتم حل عناوين الشبكة للعقد عبر جدول الهاش الموزع (DHT) القائم على Kademlia.

1. Couche Réseau Décentralisée

Afin de fonctionner de manière totalement indépendante de serveurs tiers, HudHudCell intègre la suite de protocoles libp2p. libp2p gère le multiplexage des connexions, la découverte des pairs, la sécurité du transport et le franchissement de pare-feu (NAT).

2. Routage via GossipSub

Les canaux de discussion s'appuient sur la spécification de routage GossipSub (Publish-Subscribe). Ce protocole propage les paquets à travers un maillage de nœuds voisins pour garantir la réception sans infrastructure cloud centrale.

  • Topologie Mesh: Chaque client maintient un ensemble dynamique de connexions actives avec ses nœuds voisins.
  • Algorithme Gossip: Les nœuds échangent périodiquement des métadonnées (messages IHAVE) pour notifier l'existence de nouveaux paquets, qui peuvent ensuite être réclamés.
  • Optimisation de la Bande Passante: Le filtrage intelligent limite la duplication des données, préservant la batterie et le forfait internet des smartphones.

3. Traversée de NAT et DHT

Le franchissement des pare-feu mobiles complexes s'effectue via AutoNAT, STUN et les relais Circuit Relay de libp2p. La localisation et la résolution des adresses IP des correspondants sont assurées par une table de hachage distribuée (DHT) Kademlia.

1. Dezentrale Netzwerkschicht

Um vollständig ohne zentralisierte Infrastruktur zu operieren, integriert HudHudCell die Protokollfamilie libp2p. libp2p übernimmt das Verbindungs-Multiplexing, die Peer-Erkennung, die Transportschicht-Verschlüsselung und das NAT-Traversal unter einer einheitlichen Architektur.

2. GossipSub-Mesh-Netzwerk

Gruppenchats und Peer-to-Peer-Mitteilungen setzen auf das Routing-Protokoll GossipSub. GossipSub nutzt ein Mesh-Netzwerk-Konzept, das Nachrichten über aktive Peers weiterleitet, um eine zuverlässige Zustellung ohne Cloud-Server zu garantieren.

  • Mesh-Topologie: Jedes Endgerät pflegt ein dynamisches Mesh-Netzwerk zu aktiven Nachbarknoten.
  • Gossip-Verfahren: Peers tauschen regelmäßig Metadaten (IHAVE-Nachrichten) aus, um Nachbarn über neue Pakete zu informieren, welche bei Bedarf gezielt angefordert werden.
  • Effiziente Bandbreitennutzung: Intelligente Filterung verhindert unnötige Mehrfachübertragungen, was die Akkulaufzeit und das Datenvolumen auf Mobilgeräten schont.

3. NAT-Punching & DHT-Auflösung

Um Firewalls in Mobilfunknetzen zu überwinden, nutzt HudHudCell AutoNAT, STUN und libp2p-Circuit-Relays. Node-Endpunkte werden dynamisch über eine Kademlia-basierte Distributed Hash Table (DHT) aufgelöst.