Tópicos em alta
#
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.
Como a Monad dimensiona o EVM enquanto preserva a descentralização?
MonadBFT é o algoritmo de consenso usado no Monad, é a primeira implementação resistente ao tailfork do Hotstuff (o que isso significa?)
Veja como o MonadBFT pode ser dimensionado para 1000 validadores enquanto tem desempenho 🧵
1/7 Mecanismos de consenso
O mecanismo que as blockchains usam para garantir que novos blocos sejam acordados pela maioria dos validadores.
Os algoritmos de consenso até agora não são capazes de escalar além de algumas centenas de validadores, pois a complexidade aumenta com base no quadrado do número de validadores (na maioria dos casos)
Como cada validador se comunica com todos os outros validadores para concordar com os blocos: n validadores x n mensagens = mensagens n-quadradas.
Portanto, a complexidade aumenta significativamente com o número de validadores.
2/7 Hotstuff é um algoritmo de consenso que pode ser dimensionado linearmente (diretamente proporcional ao número de validadores), evitando a mensagem de todos para todos e permitindo que um único "líder" se comunique com todos os validadores para consenso.
Assim, o Hotstuff pode escalar com mais eficiência do que o consenso PBFT tradicional, mas é vulnerável a ataques de tailforking.
MonadBFT é a primeira implementação resistente a tailfork do Hotstuff.
3/7 O que é tailforking?
O tailforking acontece quando o próximo líder (validador propondo o próximo bloco), intencionalmente ou acidentalmente, falha em incluir o QC do bloco válido do líder anterior em sua proposta para o novo bloco. (QC significa certificado de quorum, que é uma prova de que todos os validadores concordaram com o bloco anterior)
Como resultado, o bloco anterior, apesar de ser válido e ter o apoio da maioria, não é comprometido e, eventualmente, órfão ou substituído por um bloco diferente na mesma altura.
Isso interrompe o mecanismo de incentivo: proponentes honestos podem não receber recompensas ou taxas de bloqueio se seu bloqueio for ignorado, incentivando comportamento injusto e enfraquecendo a segurança da rede.

4/7 Como funciona o MonadBFT?
→ Um líder (Alice) transmite uma proposta de bloco assinada para todos os outros nós (fan out), que reconhecem sua validade enviando um atestado assinado para o próximo líder Bob (fan in).
→ Bob agrega os atestados em um "Certificado de Quorum" (QC)
→ Bob transmite o QC para todos os nós, que atestam recebê-lo enviando uma mensagem para o 3º líder (Charlie) que agrega esses atestados. Como os atestados são sobre um QC, chamamos esse novo QC de QC-on-QC.
→ Charlie envia o QC-on-QC para todos. Ao receber o QC-on-QC, todos sabem que o bloqueio de Alice foi finalizado.

5/7 Canalização
Na história acima, Bob e Charlie estão apenas enviando QCs ou QCs-on-QCs, mas na realidade as propostas são canalizadas: a mensagem de Bob contém o QC do bloco de Alice e também o conteúdo de um novo bloco.
A mensagem de Charlie contém o QC do bloco de Bob (que é um QC-on-QC para o bloco de Alice) e também contém as transações de um novo bloco.
Quando os validadores enviam um atestado para a mensagem de Bob, eles estão atestando a validade do bloco de Bob e a validade do QC.
Esse pipelining aumenta a taxa de transferência da rede, pois a cada slot um novo bloco é produzido.

6/7 Raptorcast: Protocolo de propagação em bloco da Monad
O MonadBFT exige que o líder envie propostas de bloco para cada validador.
No entanto, os blocos podem ser muito grandes: 10.000 transações/s * 200 bytes/tx = 2 MB/s. Enviar diretamente para 200 validadores exigiria 400 MB/s.
Idealmente, os validadores não devem ter uma largura de banda de upload tão alta. É aqui que entra o Raptorcast.
→ Os blocos são codificados para eliminação pelo líder (codificação de eliminação significa que a mensagem é dividida em um conjunto de partes e pode ser decodificada a partir de um subconjunto grande o suficiente dessas partes)
→ O líder distribui um conjunto diferente de blocos para todos os validadores da rede (validadores de apostas mais altas recebem proporcionalmente mais)
→ Cada validador retransmite seus pedaços para todos os outros validadores na rede
Dessa forma, toda a largura de banda da rede é usada para propagar propostas de blocos.

30,65K
Melhores
Classificação
Favoritos