Popularne tematy
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Jak Monad skaluje EVM, zachowując decentralizację?
MonadBFT to algorytm konsensusu używany w Monad, jest to pierwsza implementacja Hotstuff odporna na tailfork (co to właściwie oznacza?)
Oto jak MonadBFT może skalować się do 1000 validatorów, zachowując wydajność 🧵
1/7 Mechanizmy konsensusu
Mechanizm, który blockchainy wykorzystują, aby upewnić się, że nowe bloki są zatwierdzane przez większość walidatorów.
Algorytmy konsensusu jak dotąd nie są w stanie skalować się ponad kilka setek walidatorów, ponieważ złożoność rośnie w zależności od kwadratu liczby walidatorów (w większości przypadków).
Ponieważ każdy walidator rozmawia ze wszystkimi innymi walidatorami, aby uzgodnić bloki: n walidatorów x n wiadomości = n-kwadrat wiadomości.
W związku z tym złożoność znacznie wzrasta wraz z liczbą walidatorów.
2/7 Hotstuff to algorytm konsensusu, który może skalować się liniowo (proporcjonalnie do liczby walidatorów) poprzez unikanie komunikacji typu all-to-all i pozwalając jednemu "liderowi" komunikować się ze wszystkimi walidatorami w celu osiągnięcia konsensusu.
W ten sposób Hotstuff może skalować się bardziej efektywnie niż tradycyjny konsensus PBFT, ale jest podatny na ataki tailforking.
MonadBFT to pierwsza implementacja Hotstuff odporna na tailfork.
3/7 Co to jest tailforking?
Tailforking ma miejsce, gdy następny lider (walidator proponujący następny blok) celowo lub przypadkowo nie uwzględnia QC ważnego bloku poprzedniego lidera w swojej propozycji nowego bloku. (QC oznacza certyfikat kworum, który jest dowodem, że wszyscy walidatorzy zgodzili się na poprzedni blok)
W rezultacie poprzedni blok, mimo że jest ważny i ma większość poparcia, pozostaje niezatwierdzony i ostatecznie zostaje osierocony lub zastąpiony innym blokiem na tej samej wysokości.
To zakłóca mechanizm zachęt: uczciwi proponenci mogą nie otrzymać nagród za blok lub opłat, jeśli ich blok zostanie pominięty, co sprzyja nieuczciwemu zachowaniu i osłabia bezpieczeństwo sieci.

4/7 Jak działa MonadBFT?
→ Lider (Alice) przesyła podpisaną propozycję bloku do wszystkich innych węzłów (fan out), które potwierdzają jej ważność, wysyłając podpisaną attestację do następnego lidera Boba (fan in).
→ Bob agreguje attestacje w „Certyfikat Kwarum” (QC)
→ Bob przesyła QC do wszystkich węzłów, które potwierdzają jego otrzymanie, wysyłając wiadomość do 3. lidera (Charlie), który agreguje te attestacje. Ponieważ attestacje dotyczą QC, nazywamy ten nowy QC QC-na-QC.
→ Charlie wysyła QC-na-QC do wszystkich. Po otrzymaniu QC-na-QC, wszyscy wiedzą, że blok Alice został sfinalizowany.

5/7 Pipelining
W powyższej historii Bob i Charlie wysyłają tylko QC lub QC-na-QC, ale w rzeczywistości propozycje są pipelined: wiadomość Boba zawiera zarówno QC dla bloku Alice, jak i zawartość nowego bloku.
Wiadomość Charliego zawiera QC dla bloku Boba (które jest QC-na-QC dla bloku Alice) i również zawiera transakcje dla nowego bloku.
Gdy walidatorzy wysyłają zaświadczenie dla wiadomości Boba, potwierdzają zarówno ważność bloku Boba, jak i ważność QC.
To pipelining zwiększa przepustowość sieci, ponieważ w każdym slocie produkowany jest nowy blok.

6/7 Raptorcast: Protokół propagacji bloków Monad
MonadBFT wymaga, aby lider wysyłał propozycje bloków do każdego walidatora.
Jednak bloki mogą być dość duże: 10 000 transakcji/s * 200 bajtów/tx = 2 MB/s. Wysyłanie bezpośrednio do 200 walidatorów wymagałoby 400 MB/s.
Idealnie, walidatorzy nie powinni mieć tak wysokiej przepustowości wysyłania. Tutaj wkracza Raptorcast.
→ Bloki są kodowane erasure przez lidera (Kodowanie erasure oznacza, że wiadomość jest dzielona na zestaw kawałków, a można ją zdekodować z wystarczająco dużego podzbioru tych kawałków)
→ Lider rozdziela różne zestawy kawałków do wszystkich walidatorów w sieci (walidatorzy z wyższym stawką otrzymują proporcjonalnie więcej)
→ Każdy walidator ponownie nadaje swoje kawałki do wszystkich innych walidatorów w sieci
W ten sposób cała przepustowość sieci jest wykorzystywana do propagacji propozycji bloków.

30,61K
Najlepsze
Ranking
Ulubione