Os caminhos de menor resistência: Apresentando o WFR-Gossip tldr: WFR-Gossip aplica princípios de transporte ideais à camada de fofocas do Ethereum. Ele preserva a resiliência do Gossipsub, enquanto reduz a largura de banda em 50% e reduz a latência do percentil 90 em 40% nas simulações.
O Gossipsub da Ethereum é robusto, mas ineficiente. Os nós geralmente recebem a mesma mensagem muitas vezes. Bom para resiliência, caro em largura de banda/latência. O WFR-Gossip adota uma abordagem diferente: inspirado na teoria do transporte ideal, ele encaminha mensagens por caminhos mais rápidos. 👇
A fofoca clássica trata a propagação como um processo aleatório. WFR-Gossip o reformula como transporte de massa: uma mensagem é como uma pilha de areia e a latência é o custo para movê-la. Isso se conecta naturalmente à teoria do transporte ideal.
Em uma rede de fofocas: • massa em movimento = encaminhamento de uma mensagem • criar massa = duplicar uma mensagem • destruindo massa = soltando uma duplicata A métrica Wasserstein-Fisher-Rao (WFR) captura isso, permitindo-nos modelar o fluxo de mensagens com intuição física.
Cada nó usa uma regra simples: • Encaminhar para alguns peers de baixa latência (D₍robust₎ ≈ 3) • Para outros, encaminhe apenas se RTT_out < RTT_in Essa heurística "ladeira abaixo" não requer coordenação global. Apenas RTTs (Round-Trip Times) locais, já em libp2p.
Em D_robust = 3, o WFR-Gossip alcança: • ~98% de cobertura de rede • 50% menos largura de banda • Latência 40% menor do percentil 90 O fallback IHAVE/IWANT lida com os 2% restantes dos nós perdidos.
WFR-Gossip não está apenas encaminhando para o peer mais rápido. Ele combina redundância com filtragem: propagação aleatória robusta + poda seletiva de caminhos lentos. Isso evita gargalos e é menos propenso à manipulação.
Também é minimamente invasivo: • Sem novas topologias • Compatível com pontuação de pares • Joga bem com CHOKE, IDONTWANT, etc. • Usa apenas regras e dados locais (RTTs)
O que vem a seguir? • Implementação em simuladores libp2p • Testes em condições mais realistas/adversárias Os primeiros trabalhos de @open_sourcery aqui:
Link para o post: Link para o repositório githup para o código de simulação: Obrigado a Leo Monsaingeon, @casparschwa, @_julianma, @weboftrees, @raulvk, @yannvon, @cskiraly e @open_sourcery pelo feedback e comentários!
11,74K