Ścieżki najmniejszego oporu: Wprowadzenie WFR-Gossip Podsumowanie: WFR-Gossip stosuje zasady optymalnego transportu do warstwy gossip Ethereum. Zachowuje odporność Gossipsub, jednocześnie redukując przepustowość o 50% i zmniejszając opóźnienie w 90. percentylu o 40% w symulacjach.
Gossipsub Ethereum jest solidny, ale nieefektywny. Węzły często otrzymują tę samą wiadomość wiele razy. Dobre dla odporności, kosztowne pod względem przepustowości/opóźnienia. WFR-Gossip przyjmuje inne podejście: inspirowane teorią transportu optymalnego, przekazuje wiadomości wzdłuż szybszych ścieżek. 👇
Klasyczny plotkarski model traktuje propagację jako proces losowy. WFR-Gossip przekształca to w transport masowy: wiadomość jest jak stos piasku, a opóźnienie to koszt jej przeniesienia. To naturalnie łączy się z teorią transportu optymalnego.
W sieci plotkarskiej: • ruchoma masa = przesyłanie wiadomości • tworzenie masy = duplikowanie wiadomości • niszczenie masy = porzucanie duplikatu Metryka Wassersteina-Fishera-Rao (WFR) to uchwyci, pozwalając nam modelować przepływ wiadomości z fizyczną intuicją.
Każdy węzeł korzysta z prostej reguły: • Przekazywanie do kilku węzłów równorzędnych o niskich opóźnieniach (D₍robust₎ ≈ 3) • W przypadku innych przekaż tylko wtedy, gdy RTT_out < RTT_in Ta heurystyka "w dół" nie wymaga globalnej koordynacji. Tylko lokalne czasy podróży w obie strony (RTT), już w libp2p.
Przy D_robust = 3, WFR-Gossip osiąga: • ~98% pokrycia sieci • 50% mniejsza przepustowość • 40% niższa latencja w 90. percentylu Fallback IHAVE/IWANT obsługuje pozostałe 2% pominiętych węzłów.
WFR-Gossip nie tylko przekazuje dane do najszybszego węzła. Łączy redundancję z filtrowaniem: solidna losowa propagacja + selektywne przycinanie wolnych ścieżek. To unika wąskich gardeł i jest mniej podatne na manipulacje.
Jest również minimalnie inwazyjny: • Brak nowych topologii • Kompatybilny z oceną peerów • Dobrze współpracuje z CHOKE, IDONTWANT itd. • Używa tylko lokalnych reguł i danych (RTT)
Co dalej? • Wdrożenie w symulatorach libp2p • Testowanie w bardziej realistycznych/adwersarialnych warunkach early work by @open_sourcery here:
Link do posta: Link do repozytorium githup z kodem symulacji: Dziękuję Leo Monsaingeon, @casparschwa, @_julianma, @weboftrees, @raulvk, @yannvon, @cskiraly i @open_sourcery za opinie i recenzje!
11,73K