Ścieżki najmniejszego oporu: Przedstawiamy WFR-Gossip tldr: WFR-Gossip stosuje optymalne zasady transportu do warstwy plotek Ethereum. Zachowuje odporność Gossipsub, jednocześnie zmniejszając przepustowość o 50% i zmniejszając opóźnienia 90. percentyla o 40% w symulacjach.
Gossipsub Ethereum jest solidny, ale nieefektywny. Węzły często odbierają ten sam komunikat wiele razy. Dobre dla odporności, kosztowne pod względem przepustowości/opóźnień. WFR-Gossip przyjmuje inne podejście: zainspirowany teorią optymalnego transportu, przekazuje wiadomości szybszymi ścieżkami. 👇
Klasyczna plotka traktuje rozmnażanie jako proces losowy. WFR-Gossip przedstawia to jako transport masowy: wiadomość jest jak kupa piasku, a opóźnienie to koszt jej przeniesienia. Łączy się to w naturalny sposób z teorią transportu optymalnego.
W sieci plotkarskiej: • ruchoma masa = przekazanie wiadomości • tworzenie masy = duplikowanie wiadomości • Niszczenie masy = upuszczenie duplikatu Metryka Wassersteina-Fishera-Rao (WFR) ujmuje to, co pozwala nam modelować przepływ wiadomości za pomocą fizycznej intuicji.
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% zasięgu sieci • 50% mniejsza przepustowość • O 40% niższe opóźnienie w 90. percentylu Rezerwa IHAVE/IWANT obsługuje pozostałe 2% pominiętych węzłów.
WFR-Gossip to nie tylko przekazywanie do najszybszego partnera. Łączy redundancję z filtrowaniem: solidna losowa propagacja + selektywne przycinanie powolnych ścieżek. Pozwala to uniknąć wąskich gardeł i jest mniej podatne na manipulacje.
Jest również minimalnie inwazyjny: • Brak nowych topologii • Kompatybilny z punktacją rówieśniczą • Dobrze współpracuje z CHOKE, IDONTWANT itp. • Korzysta wyłącznie z lokalnych reguł i danych (RTT)
Co dalej? • Implementacja w symulatorach libp2p • Testowanie w bardziej realistycznych/nieprzyjaznych warunkach Wczesna twórczość @open_sourcery tutaj:
Link do wpisu: Link do repozytorium githup dla kodu symulacji: Podziękowania dla Leo Monsaingeon, @casparschwa, @_julianma, @weboftrees, @raulvk, @yannvon, @cskiraly i @open_sourcery za opinie i recenzje!
11,83K