Minsta motståndets lag: Vi presenterar WFR-Gossip tldr: WFR-Gossip tillämpar optimala transportprinciper på Ethereums skvallerlager. Det bevarar Gossipsubs motståndskraft, samtidigt som det minskar bandbredden med 50 % och minskar 90:e percentilens latens med 40 % i simuleringar.
Ethereums Gossipsub är robust men ineffektiv. Noder får ofta samma meddelande många gånger. Bra för motståndskraften, kostsamt i bandbredd/latens. WFR-Gossip har ett annat tillvägagångssätt: Inspirerat av optimal transportteori vidarebefordrar den meddelanden längs snabbare vägar. 👇
Klassiskt skvaller behandlar förökning som en slumpmässig process. WFR-Gossip omformulerar det som masstransport: ett meddelande är som en hög med sand, och latens är kostnaden för att flytta det. Detta är en naturlig koppling till teorin om optimal transport.
I ett skvallernätverk: • Rörlig massa = vidarebefordran av ett meddelande • skapa massa = duplicera ett meddelande • förstöra massa = släppa en dubblett Wasserstein-Fisher-Rao-metriken (WFR) fångar detta, vilket gör det möjligt för oss att modellera meddelandeflödet med fysisk intuition.
Varje nod använder en enkel regel: • Vidarebefordra till några peer-datorer med låg latens (D₍robust₎ ≈ 3) • För andra, vidarebefordra endast om RTT_out < RTT_in Denna "nedförsbacke" heuristik kräver inte global samordning. Bara lokala tur-och-retur-tider (RTT), som redan finns i libp2p.
Vid D_robust = 3 uppnår WFR-Gossip: • ~98 % nätverkstäckning • 50 % mindre bandbredd • 40 % lägre latens i 90:e percentilen IHAVE/IWANT återställning hanterar de återstående 2 % av missade noder.
WFR-Gossip är inte bara att vidarebefordra till den snabbaste kamraten. Den kombinerar redundans med filtrering: robust slumpmässig förökning + selektiv rensning av långsamma vägar. På så sätt undviker man flaskhalsar och är mindre benägen att manipulera.
Det är också minimalt invasivt: • Inga nya topologier • Kompatibel med peer scoring • Spelar bra med CHOKE, IDONTWANT, etc. • Använder endast lokala regler och data (RTT)
Vad händer härnäst? • Implementering i libp2p-simulatorer • Testning under mer realistiska/kontradiktoriska förhållanden Tidiga verk av @open_sourcery här:
Länk till inlägget: Länk till githup repo för simuleringskod: Tack till Leo Monsaingeon, @casparschwa, @_julianma, @weboftrees, @raulvk, @yannvon, @cskiraly och @open_sourcery för feedback och recensioner!
11,74K