Cesty nejmenšího odporu: Představujeme WFR-Gossip tldr: WFR-Gossip aplikuje optimální principy přenosu na vrstvu drbů Etherea. Zachovává odolnost Gossipsub a zároveň snižuje šířku pásma o 50 % a snižuje latenci 90. percentilu o 40 % v simulacích.
Gossipsub od Etherea je robustní, ale neefektivní. Uzly často obdrží stejnou zprávu mnohokrát. Dobré pro odolnost, nákladné z hlediska šířky pásma/latence. WFR-Gossip má jiný přístup: Inspirován teorií optimálního přenosu, předává zprávy rychlejšími cestami. 👇
Klasické drby zacházejí s rozmnožováním jako s náhodným procesem. WFR-Gossip to přeformulovává na hromadný transport: zpráva je jako hromada písku a latence je cenou za její přesun. To přirozeně souvisí s teorií optimálního transportu.
V síti drbů: • přesun hmoty = přeposlání zprávy • vytvoření hromady = duplikování zprávy • zničení hmoty = upuštění duplikátu Metrika Wasserstein-Fisher-Rao (WFR) to zachycuje a umožňuje nám modelovat tok zpráv pomocí fyzické intuice.
Každý uzel používá jednoduché pravidlo: • Přeposílání na několik peerů s nízkou latencí (D₍robust₎ ≈ 3) • Pro ostatní přeposílejte pouze v případě, že RTT_out < RTT_in Tato heuristika "z kopce" nevyžaduje globální koordinaci. Pouze místní Round-Trip Times (RTT), již v libp2p.
Při D_robust = 3 dosahuje WFR-Gossip: • ~98% pokrytí sítě • O 50 % menší šířka pásma • O 40 % nižší latence 90. percentilu IHAVE/IWANT fallback se postará o zbývající 2 % zmeškaných uzlů.
WFR-Gossip není jen přeposílání nejrychlejšímu peerovi. Kombinuje redundanci s filtrováním: robustní náhodné šíření + selektivní prořezávání pomalých cest. Tím se zabrání úzkým hrdlům a je méně náchylný k manipulaci.
Je také minimálně invazivní: • Žádné nové topologie • Kompatibilní s peer scoringem • Hraje dobře s CHOKE, IDONTWANT atd. • Používá pouze místní pravidla a data (RTT)
Co bude dál? • Implementace v simulátorech libp2p • Testování v realističtějších/nepřátelštějších podmínkách Rané práce @open_sourcery zde:
Odkaz na příspěvek: Odkaz na githup repo pro simulační kód: Děkujeme Leo Monsaingeon, @casparschwa, @_julianma, @weboftrees, @raulvk, @yannvon, @cskiraly a @open_sourcery za zpětnou vazbu a recenze!
11,75K