Argomenti di tendenza
#
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.
Come scala Monad l'EVM preservando la decentralizzazione?
MonadBFT è l'algoritmo di consenso utilizzato in Monad, è la prima implementazione resistente ai tailfork di Hotstuff (cosa significa?)
Ecco come MonadBFT può scalare fino a 1000 validatori mantenendo elevate prestazioni 🧵
1/7 Meccanismi di Consenso
Il meccanismo che le blockchain utilizzano per garantire che i nuovi blocchi siano concordati dalla maggioranza dei validatori.
Gli algoritmi di consenso finora non sono in grado di scalare oltre un paio di centinaia di validatori poiché la complessità aumenta in base al quadrato del numero di validatori (nella maggior parte dei casi).
Poiché ogni validatore comunica con tutti gli altri validatori per concordare i blocchi: n validatori x n messaggi = messaggi al quadrato.
Pertanto, la complessità aumenta significativamente con il numero di validatori.
2/7 Hotstuff è un algoritmo di consenso che può scalare linearmente (proporzionale direttamente al numero di validatori) evitando la messaggistica all-to-all e permettendo a un singolo "leader" di comunicare con tutti i validatori per il consenso.
Pertanto, Hotstuff può scalare in modo più efficiente rispetto al consenso PBFT tradizionale, ma è vulnerabile agli attacchi di tailforking.
MonadBFT è la prima implementazione resistente al tailfork di Hotstuff.
3/7 Cos'è il tailforking?
Il tailforking si verifica quando il prossimo leader (validator che propone il prossimo blocco), intenzionalmente o accidentalmente, non include il QC del blocco valido del leader precedente nella sua proposta per il nuovo blocco. (QC sta per quorum certificate, che è una prova che tutti i validator hanno concordato sul blocco precedente)
Di conseguenza, il blocco precedente, nonostante sia valido e abbia il supporto della maggioranza, rimane non impegnato e alla fine viene orfano o sostituito da un blocco diverso alla stessa altezza.
Questo interrompe il meccanismo di incentivazione: i proponenti onesti potrebbero non ricevere ricompense per il blocco o commissioni se il loro blocco viene saltato, incoraggiando comportamenti sleali e indebolendo la sicurezza della rete.

4/7 Come funziona MonadBFT?
→ Un leader (Alice) trasmette una proposta di blocco firmata a tutti gli altri nodi (fan out), che ne riconoscono la validità inviando un'attestazione firmata al prossimo leader Bob (fan in).
→ Bob aggrega le attestazioni in un "Quorum Certificate" (QC)
→ Bob trasmette il QC a tutti i nodi, che attestano di averlo ricevuto inviando un messaggio al 3° leader (Charlie) che aggrega quelle attestazioni. Poiché le attestazioni riguardano un QC, chiamiamo questo nuovo QC un QC-on-QC.
→ Charlie invia il QC-on-QC a tutti. Una volta ricevuto il QC-on-QC, tutti sanno che il blocco di Alice è stato finalizzato.

5/7 Pipelining
Nella storia sopra, Bob e Charlie stanno solo inviando QCs o QCs-su-QCs, ma in realtà le proposte sono in pipeline: il messaggio di Bob contiene sia il QC per il blocco di Alice che anche i contenuti di un nuovo blocco.
Il messaggio di Charlie contiene il QC per il blocco di Bob (che è un QC-su-QC per il blocco di Alice) e contiene anche le transazioni per un nuovo blocco.
Quando i validatori inviano un'attestazione per il messaggio di Bob, stanno attestando sia la validità del blocco di Bob che la validità del QC.
Questa pipeline aumenta la capacità della rete poiché ogni slot produce un nuovo blocco.

6/7 Raptorcast: Il protocollo di propagazione dei blocchi di Monad
MonadBFT richiede che il leader invii proposte di blocco a ogni validatore.
Tuttavia, i blocchi possono essere piuttosto grandi: 10.000 transazioni/s * 200 byte/tx = 2 MB/s. Inviare direttamente a 200 validatori richiederebbe 400 MB/s.
Idealmente, i validatori non dovrebbero avere una larghezza di banda di upload così alta. È qui che entra in gioco Raptorcast.
→ I blocchi sono codificati per cancellazione dal leader (La codifica per cancellazione significa che il messaggio è suddiviso in un insieme di pezzi, e può essere decodificato da un sottoinsieme sufficientemente grande di questi pezzi)
→ Il leader distribuisce un insieme diverso di pezzi a tutti i validatori nella rete (i validatori con stake più alto ricevono proporzionalmente di più)
→ Ogni validatore ritrasmette i propri pezzi a tutti gli altri validatori nella rete
In questo modo, l'intera larghezza di banda della rete viene utilizzata per propagare le proposte di blocco.

5,72K
Principali
Ranking
Preferiti