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 corta a largura de banda em 50% e reduz a latência do percentil 90 em 40% em simulações.
O Gossipsub do 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 reenquadra-o 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 móvel = encaminhamento de uma mensagem • criação de massa = duplicação de uma mensagem • destruir massa = largar 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 pares de baixa latência (D₍robust₎ ≈ 3) • Para outros, encaminhar apenas se RTT_out < RTT_in Esta heurística "descendente" não requer coordenação global. Apenas tempos de ida e volta (RTTs) locais, já em libp2p.
Em D_robust = 3, WFR-Gossip consegue: • ~98% de cobertura de rede • 50% menos largura de banda • 40% menor latência do percentil 90 O fallback IHAVE/IWANT lida com os 2% restantes de nós perdidos.
WFR-Gossip não é apenas encaminhar para o par mais rápido. 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 entre pares • Joga bem com CHOKE, IDONTWANT, etc. • Utiliza 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 githup repo para código de simulação: Obrigado a Leo Monsaingeon, @casparschwa, @_julianma, @weboftrees, @raulvk, @yannvon, @cskiraly e @open_sourcery por comentários e avaliações!
11,92K