Урок 3

Arquitetura Técnica do Monad

Este módulo fornece uma análise técnica detalhada da arquitetura da Monad, abordando como o protocolo alcança alta capacidade de processamento e baixa latência. Os tópicos incluem o mecanismo de execução paralela, modelo de execução assíncrona, consenso MonadBFT e a camada de armazenamento personalizada MonadDB, todos projetados para suportar aplicativos complexos e escaláveis on-chain.

Execução Paralela Otimista

Uma das inovações mais definidoras do blockchain Monad é o seu modelo otimista de execução paralela. Esta abordagem repensa como as transações são processadas no nível do protocolo, abordando uma limitação chave dos blockchains tradicionais: execução sequencial. Em plataformas como o Ethereum, as transações são executadas uma por uma, o que garante a consistência do estado, mas restringe severamente a capacidade e o desempenho geral.

A máquina virtual do Monad introduz o paralelismo assumindo que a maioria das transações dentro de um bloco são independentes e não interagem com as mesmas partes do estado da blockchain. Com base nessa suposição, as transações são agrupadas e agendadas para serem executadas simultaneamente em várias threads de processamento. Isso aumenta significativamente o throughput de execução, especialmente sob alta carga de rede, aproveitando processadores modernos de vários núcleos de forma mais eficaz do que os modelos sequenciais.

No entanto, a concorrência introduz riscos potenciais de conflito de dados, como duas transações que tentam modificar a mesma conta ou contrato. Monad aborda isso incorporando um sistema de detecção e resolução de conflitos. Após as transações serem executadas em paralelo, o sistema verifica inconsistências. Se conflitos forem detectados, apenas as transações afetadas são reexecutadas ou reordenadas com segurança. Isso garante que o blockchain mantenha a correção e transições de estado determinísticas, ao mesmo tempo em que se beneficia da eficiência do processamento concorrente.

Este modelo se assemelha ao controle de concorrência otimista em sistemas de banco de dados modernos, onde a maioria das operações é assumida como não conflitante e tratada simultaneamente. Apenas em casos extremos o sistema intervém. O resultado é uma camada de execução escalável e adaptável adequada para aplicativos com alto volume de transações e cargas de trabalho variadas.

A execução paralela otimista é particularmente vantajosa para casos de uso como DeFi, jogos e mercados de NFT - onde muitos usuários interagem simultaneamente, mas raramente com os mesmos dados. O Monad pode lidar com essas operações em paralelo, reduzindo a congestão e aprimorando a responsividade de aplicativos descentralizados sem a necessidade de camadas de dimensionamento fora da cadeia.

Outra vantagem chave é a simplicidade para os desenvolvedores. O ambiente compatível com EVM da Monad permite que os contratos inteligentes escritos em Solidity sejam executados normalmente, sem exigir que os desenvolvedores gerenciem manualmente a concorrência. O protocolo lida com a lógica de execução nos bastidores, preservando a experiência do desenvolvedor enquanto melhora o desempenho da rede.

Execução Assíncrona

Complementando seu modelo de execução paralela, Monad implementa a execução assíncrona, uma característica arquitetônica que separa a execução de transações do processo de consenso. Nas blockchains tradicionais, consenso e execução estão intimamente ligados - os validadores devem executar todas as transações antes de concordar e finalizar um bloco. Esse acoplamento introduz latência e limita a rapidez com que novos blocos podem ser produzidos.

Monad decouples essas funções ao finalizar a ordem das transações primeiro, por meio de consenso, e então executá-las posteriormente. Esse design permite que a camada de consenso opere de forma independente e contínua, enquanto a execução ocorre em paralelo em segundo plano. Isso aumenta a eficiência do validador e reduz o tempo de bloco, já que os validadores não estão mais limitados pelo tempo necessário para calcular os resultados de cada transação.

O sistema mantém o determinismo e a segurança garantindo que todos os nós executem as mesmas transações exatas, na mesma ordem acordada, mesmo que a execução em si aconteça em momentos diferentes. Isso garante consistência em toda a rede e evita a divergência no estado da blockchain.

A execução assíncrona também complementa o paralelismo otimista do Monad. Enquanto o consenso progride e novos blocos são finalizados rapidamente, a execução ocorre simultaneamente em várias threads, resolvendo conflitos apenas quando necessário. Essa combinação paralela-assíncrona maximiza a concorrência do sistema e o uso de recursos sem comprometer a correção.

Do ponto de vista do usuário e do desenvolvedor, esta arquitetura resulta em uma inclusão de transação mais rápida, aplicações mais responsivas e escalabilidade aprimorada. Os validadores também se beneficiam de gargalos reduzidos, levando a uma rede mais eficiente e descentralizada.

Mecanismo de Consenso MonadBFT

O consenso em Monad é alcançado através do MonadBFT, uma adaptação personalizada do protocolo HotStuff Byzantine Fault Tolerant (BFT). Esse mecanismo de consenso é otimizado tanto para desempenho quanto para segurança, apoiando os objetivos do Monad de finalidade de baixa latência e alta throughput, mantendo-se acessível para validadores descentralizados.

O HotStuff foi originalmente desenvolvido para reduzir o número de rodadas de comunicação necessárias para finalizar um bloco. O MonadBFT constrói sobre isso ao permitir a finalização de um único slot, onde os blocos são finalizados em uma única rodada de consenso sem esperar por múltiplas confirmações. Isso fornece finalidade imediata das transações, melhorando a previsibilidade para aplicações e reduzindo o risco de reorganização da cadeia.

MonadBFT usa um modelo baseado em líder. Em cada rodada, um validador propõe um bloco enquanto os outros validam e votam nele. Se dois terços do total da participação do validador confirmarem o bloco, ele é finalizado. Esse processo simplificado minimiza a sobrecarga e acelera a produção de blocos, especialmente sob condições de operação normais.

Para garantir a vivacidade, o MonadBFT inclui rotação de líder e estratégias de tempo limite. Se um líder falhar em propor um bloco, o próximo validador na fila assume automaticamente. Essa resiliência garante que a cadeia continue progredindo mesmo que alguns validadores estejam offline ou não responsivos.

Do ponto de vista da segurança, o MonadBFT adere ao limiar típico do BFT, tolerando até um terço dos validadores se comportando maliciosamente sem comprometer a segurança. Uma vez que um bloco é finalizado, ele é selado criptograficamente e não pode ser revertido sem uma colusão de atores desonestos que controlam a maioria do poder do validador.

O protocolo é integrado de forma coesa com o modelo de execução assíncrona do Monad. Como os blocos são finalizados antes da execução, o sistema pode continuar progredindo sem atrasos, enquanto a camada de execução processa transações de forma independente. Essa arquitetura reduz a carga de trabalho do validador e permite que o sistema mantenha um alto desempenho sem depender de serviços de sequenciamento centralizados ou intermediários confiáveis.

MonadDB

A execução eficiente e o consenso dependem de um sistema de gerenciamento de estado de alto desempenho. No Monad, esse papel é desempenhado pelo MonadDB, a camada de armazenamento de estado personalizada do blockchain. O MonadDB é responsável por armazenar todos os dados on-chain, incluindo saldos de contas, armazenamento de contratos e outras variáveis de estado persistentes. Ele é projetado para ser rápido, concorrente e totalmente compatível com o mecanismo de execução paralela do Monad.

O MonadDB utiliza um armazenamento de chave-valor persistente e versionado, permitindo manter várias instantâneos do estado ao mesmo tempo. Isso é essencial para dar suporte à execução especulativa, onde várias transações são processadas em paralelo e podem ser revertidas ou ajustadas dependendo de conflitos. Ao armazenar diferentes versões do estado, o MonadDB permite que o mecanismo de execução isole e resolva conflitos de dados de forma eficiente.

No seu núcleo, o MonadDB emprega uma estrutura de dados de árvore de Merkle Patricia Trie - uma árvore criptograficamente segura que permite uma verificação rápida do estado da blockchain. Esta estrutura de trie garante que qualquer alteração no estado resulta em um novo hash de raiz, que pode ser validado por todos os nós. Ele suporta sincronização sem confiança, clientes leves e verificação de estado baseada em prova, que são fundamentais para o design seguro e escalável da blockchain.

Para lidar com o volume esperado de transações, o MonadDB é projetado para leituras e gravações de baixa latência. Ele incorpora cache, controles de acesso seguros para concorrência e armazenamento de disco de alta velocidade para garantir a recuperação e modificação rápidas das entradas de estado. Essas otimizações permitem que a camada de execução opere com alto throughput sem ser retardada por atrasos de acesso a dados.

Do ponto de vista do desenvolvedor, o MonadDB é totalmente abstraído. Os desenvolvedores de contratos inteligentes interagem com o blockchain por meio de construções familiares do Solidity, sem a necessidade de gerenciar a mecânica do estado subjacente. O MonadDB garante que o estado seja atualizado e armazenado com precisão, mesmo sob carga alta ou durante a execução de contratos complexos.

Відмова від відповідальності
* Криптоінвестиції пов'язані зі значними ризиками. Дійте обережно. Курс не є інвестиційною консультацією.
* Курс створений автором, який приєднався до Gate Learn. Будь-яка думка, висловлена автором, не є позицією Gate Learn.
Каталог
Урок 3

Arquitetura Técnica do Monad

Este módulo fornece uma análise técnica detalhada da arquitetura da Monad, abordando como o protocolo alcança alta capacidade de processamento e baixa latência. Os tópicos incluem o mecanismo de execução paralela, modelo de execução assíncrona, consenso MonadBFT e a camada de armazenamento personalizada MonadDB, todos projetados para suportar aplicativos complexos e escaláveis on-chain.

Execução Paralela Otimista

Uma das inovações mais definidoras do blockchain Monad é o seu modelo otimista de execução paralela. Esta abordagem repensa como as transações são processadas no nível do protocolo, abordando uma limitação chave dos blockchains tradicionais: execução sequencial. Em plataformas como o Ethereum, as transações são executadas uma por uma, o que garante a consistência do estado, mas restringe severamente a capacidade e o desempenho geral.

A máquina virtual do Monad introduz o paralelismo assumindo que a maioria das transações dentro de um bloco são independentes e não interagem com as mesmas partes do estado da blockchain. Com base nessa suposição, as transações são agrupadas e agendadas para serem executadas simultaneamente em várias threads de processamento. Isso aumenta significativamente o throughput de execução, especialmente sob alta carga de rede, aproveitando processadores modernos de vários núcleos de forma mais eficaz do que os modelos sequenciais.

No entanto, a concorrência introduz riscos potenciais de conflito de dados, como duas transações que tentam modificar a mesma conta ou contrato. Monad aborda isso incorporando um sistema de detecção e resolução de conflitos. Após as transações serem executadas em paralelo, o sistema verifica inconsistências. Se conflitos forem detectados, apenas as transações afetadas são reexecutadas ou reordenadas com segurança. Isso garante que o blockchain mantenha a correção e transições de estado determinísticas, ao mesmo tempo em que se beneficia da eficiência do processamento concorrente.

Este modelo se assemelha ao controle de concorrência otimista em sistemas de banco de dados modernos, onde a maioria das operações é assumida como não conflitante e tratada simultaneamente. Apenas em casos extremos o sistema intervém. O resultado é uma camada de execução escalável e adaptável adequada para aplicativos com alto volume de transações e cargas de trabalho variadas.

A execução paralela otimista é particularmente vantajosa para casos de uso como DeFi, jogos e mercados de NFT - onde muitos usuários interagem simultaneamente, mas raramente com os mesmos dados. O Monad pode lidar com essas operações em paralelo, reduzindo a congestão e aprimorando a responsividade de aplicativos descentralizados sem a necessidade de camadas de dimensionamento fora da cadeia.

Outra vantagem chave é a simplicidade para os desenvolvedores. O ambiente compatível com EVM da Monad permite que os contratos inteligentes escritos em Solidity sejam executados normalmente, sem exigir que os desenvolvedores gerenciem manualmente a concorrência. O protocolo lida com a lógica de execução nos bastidores, preservando a experiência do desenvolvedor enquanto melhora o desempenho da rede.

Execução Assíncrona

Complementando seu modelo de execução paralela, Monad implementa a execução assíncrona, uma característica arquitetônica que separa a execução de transações do processo de consenso. Nas blockchains tradicionais, consenso e execução estão intimamente ligados - os validadores devem executar todas as transações antes de concordar e finalizar um bloco. Esse acoplamento introduz latência e limita a rapidez com que novos blocos podem ser produzidos.

Monad decouples essas funções ao finalizar a ordem das transações primeiro, por meio de consenso, e então executá-las posteriormente. Esse design permite que a camada de consenso opere de forma independente e contínua, enquanto a execução ocorre em paralelo em segundo plano. Isso aumenta a eficiência do validador e reduz o tempo de bloco, já que os validadores não estão mais limitados pelo tempo necessário para calcular os resultados de cada transação.

O sistema mantém o determinismo e a segurança garantindo que todos os nós executem as mesmas transações exatas, na mesma ordem acordada, mesmo que a execução em si aconteça em momentos diferentes. Isso garante consistência em toda a rede e evita a divergência no estado da blockchain.

A execução assíncrona também complementa o paralelismo otimista do Monad. Enquanto o consenso progride e novos blocos são finalizados rapidamente, a execução ocorre simultaneamente em várias threads, resolvendo conflitos apenas quando necessário. Essa combinação paralela-assíncrona maximiza a concorrência do sistema e o uso de recursos sem comprometer a correção.

Do ponto de vista do usuário e do desenvolvedor, esta arquitetura resulta em uma inclusão de transação mais rápida, aplicações mais responsivas e escalabilidade aprimorada. Os validadores também se beneficiam de gargalos reduzidos, levando a uma rede mais eficiente e descentralizada.

Mecanismo de Consenso MonadBFT

O consenso em Monad é alcançado através do MonadBFT, uma adaptação personalizada do protocolo HotStuff Byzantine Fault Tolerant (BFT). Esse mecanismo de consenso é otimizado tanto para desempenho quanto para segurança, apoiando os objetivos do Monad de finalidade de baixa latência e alta throughput, mantendo-se acessível para validadores descentralizados.

O HotStuff foi originalmente desenvolvido para reduzir o número de rodadas de comunicação necessárias para finalizar um bloco. O MonadBFT constrói sobre isso ao permitir a finalização de um único slot, onde os blocos são finalizados em uma única rodada de consenso sem esperar por múltiplas confirmações. Isso fornece finalidade imediata das transações, melhorando a previsibilidade para aplicações e reduzindo o risco de reorganização da cadeia.

MonadBFT usa um modelo baseado em líder. Em cada rodada, um validador propõe um bloco enquanto os outros validam e votam nele. Se dois terços do total da participação do validador confirmarem o bloco, ele é finalizado. Esse processo simplificado minimiza a sobrecarga e acelera a produção de blocos, especialmente sob condições de operação normais.

Para garantir a vivacidade, o MonadBFT inclui rotação de líder e estratégias de tempo limite. Se um líder falhar em propor um bloco, o próximo validador na fila assume automaticamente. Essa resiliência garante que a cadeia continue progredindo mesmo que alguns validadores estejam offline ou não responsivos.

Do ponto de vista da segurança, o MonadBFT adere ao limiar típico do BFT, tolerando até um terço dos validadores se comportando maliciosamente sem comprometer a segurança. Uma vez que um bloco é finalizado, ele é selado criptograficamente e não pode ser revertido sem uma colusão de atores desonestos que controlam a maioria do poder do validador.

O protocolo é integrado de forma coesa com o modelo de execução assíncrona do Monad. Como os blocos são finalizados antes da execução, o sistema pode continuar progredindo sem atrasos, enquanto a camada de execução processa transações de forma independente. Essa arquitetura reduz a carga de trabalho do validador e permite que o sistema mantenha um alto desempenho sem depender de serviços de sequenciamento centralizados ou intermediários confiáveis.

MonadDB

A execução eficiente e o consenso dependem de um sistema de gerenciamento de estado de alto desempenho. No Monad, esse papel é desempenhado pelo MonadDB, a camada de armazenamento de estado personalizada do blockchain. O MonadDB é responsável por armazenar todos os dados on-chain, incluindo saldos de contas, armazenamento de contratos e outras variáveis de estado persistentes. Ele é projetado para ser rápido, concorrente e totalmente compatível com o mecanismo de execução paralela do Monad.

O MonadDB utiliza um armazenamento de chave-valor persistente e versionado, permitindo manter várias instantâneos do estado ao mesmo tempo. Isso é essencial para dar suporte à execução especulativa, onde várias transações são processadas em paralelo e podem ser revertidas ou ajustadas dependendo de conflitos. Ao armazenar diferentes versões do estado, o MonadDB permite que o mecanismo de execução isole e resolva conflitos de dados de forma eficiente.

No seu núcleo, o MonadDB emprega uma estrutura de dados de árvore de Merkle Patricia Trie - uma árvore criptograficamente segura que permite uma verificação rápida do estado da blockchain. Esta estrutura de trie garante que qualquer alteração no estado resulta em um novo hash de raiz, que pode ser validado por todos os nós. Ele suporta sincronização sem confiança, clientes leves e verificação de estado baseada em prova, que são fundamentais para o design seguro e escalável da blockchain.

Para lidar com o volume esperado de transações, o MonadDB é projetado para leituras e gravações de baixa latência. Ele incorpora cache, controles de acesso seguros para concorrência e armazenamento de disco de alta velocidade para garantir a recuperação e modificação rápidas das entradas de estado. Essas otimizações permitem que a camada de execução opere com alto throughput sem ser retardada por atrasos de acesso a dados.

Do ponto de vista do desenvolvedor, o MonadDB é totalmente abstraído. Os desenvolvedores de contratos inteligentes interagem com o blockchain por meio de construções familiares do Solidity, sem a necessidade de gerenciar a mecânica do estado subjacente. O MonadDB garante que o estado seja atualizado e armazenado com precisão, mesmo sob carga alta ou durante a execução de contratos complexos.

Відмова від відповідальності
* Криптоінвестиції пов'язані зі значними ризиками. Дійте обережно. Курс не є інвестиційною консультацією.
* Курс створений автором, який приєднався до Gate Learn. Будь-яка думка, висловлена автором, не є позицією Gate Learn.