🌌
Wormhole Docs Brasil
  • Bem-vindo!
  • Materiais
    • Build
      • Começer a Buildar
        • Redes Suportadas
        • Testnet Faucets
        • Demos
      • Construindo Aplicações Frontend
        • Wormhole SDK
          • Wormhole TypeScript SDK
          • Data Layouts
          • Construção de Protocolos e Payloads
        • Queries
          • Overview
          • Usando Queries
          • F.A.Q.
        • Conexão
          • Overview
          • Routes
          • Features
          • Configuração
          • v1 Migration
          • F.A.Q.
      • Construindo Integrações de contratos
        • Wormhole Relayer
        • Core Contracts
        • CCTP
        • Transferências de Tokens Nativos
          • Processos de Deployment
        • Comandos NTT CLI
        • Configuração de NTT
          • Limitação de Taxas
          • Controle de Acesso
        • Managers e Transceivers
        • F.A.Q. Wormhole NTT
      • MultiGov
        • Deployment
        • Upgrades Contracts
        • F.A.Q. Tecnicas
      • Ambiente de Desenvolvimento
      • F.A.Q sobre Integrações de Contratos
      • Toolkit
        • Wormholescan
        • Wormhole CLI
        • Wormhole SDK
          • TypeScript SDK
          • Data Layouts
          • Construindo Protocolos e Payloads
        • Solidity SDK
        • Tilt
        • Toolkit F.A.Q.
      • Referências
    • Infraestrutura
      • Run a Relayer
      • Run a Spy
    • Tutoriais
      • Tutorial de Conexão
      • Tutorial de Contratos Cross-Chain
        • Criação de Contratos de Mensagens Cross-Chain
        • Criação de contratos de transferência de tokens Cross-Chain
      • Tutoriais de Transferências de Tokens Nativos (NTT - Native Token Transfers)
        • Crie Tokens Multichain
      • Tutorial MultiGov
        • Proposta Cross-Chain treasury management
      • Tutoriais do Wormhole SDK
        • Transferir USDC via CCTP
        • Transferir Tokens via a Token Bridge
    • Learn
      • Fundamentos
        • Introdução
        • Segurança
        • Overview de Arquitetura
        • Glossário
      • Componentes de Infraestrutura
        • Core Contracts
        • VAAs (Verified Action Approvals)
        • Guardians
        • Spy
        • Relayers
      • Messaging
        • Token Bridge
        • Circle's CCTP Bridge
        • Transferencias de Token Nativos
          • Overview
          • Arquitetura
          • Modelos de Deploy
          • Security
      • Multigov
        • MultiGov: Governança Cross-Chain com Wormhole
        • MultiGov Architecture
        • FAQs
    • Links úteis
Powered by GitBook
On this page
  1. Materiais
  2. Learn
  3. Multigov

MultiGov Architecture

MultiGov employs a hub-and-spoke model to enable cross-chain governance, utilizing Wormhole's interoperability infrastructure for secure cross-chain communication. This architecture allows coordinated decision-making across multiple blockchain networks while maintaining a central coordination point.

Contratos da Chain Hub

A chain hub é o ponto central para gerenciar propostas, contar votos, executar decisões e coordenar a governança entre as chains conectadas.

  • HubGovernor - Contrato central de governança que gerencia propostas e contagem de votos.

  • HubVotePool - Recebe os votos agregados das chains spoke e os envia para o HubGovernor.

  • HubMessageDispatcher - Encaminha as execuções de propostas aprovadas para as chains spoke.

  • HubProposalExtende - Permite que atores confiáveis estendam os períodos de votação, se necessário.

  • HubProposalMetadata - Contrato auxiliar que retorna o proposalId e o início da votação para as propostas do HubGovernor.

  • HubEvmSpokeAggregateProposer - Agrega o peso da votação cross-chain para um endereço e propõe via HubGovernor, se for elegível.

Contratos das Chains Spoke

As chains spoke lidam com a votação local, encaminham votos para a hub e executam as propostas aprovadas pela hub para uma governança descentralizada.

  • SpokeVoteAggregator - Coleta votos na chain spoke e os envia para a hub.

  • SpokeMessageExecutor - Recebe e executa as propostas aprovadas pela hub.

  • SpokeMetadataCollector - Recupera os metadados das propostas da hub para os votantes das chains spoke.

  • SpokeAirlock - Atua como "administrador" da governança na chain spoke, com permissões e seu tesouro.

Fluxo de Trabalho do Sistema

O fluxo de trabalho do sistema MultiGov detalha o processo passo a passo para criar, votar e executar propostas de governança entre as chains conectadas, desde a criação da proposta até a execução final cross-chain.

  1. Criação de proposta:

    • Um usuário cria uma proposta através do HubEvmSpokeAggregateProposer, que verifica a elegibilidade entre as chains, ou diretamente no HubGovernor via o método de proposta.

    • A proposta é enviada ao HubGovernor se o usuário atender ao limite de propostas.

  2. Distribuição de metadados da proposta:

    • HubProposalMetadata cria um método de visualização personalizada para ser consultado no SpokeMetadataCollector.

    • SpokeMetadataCollector em cada chain spoke consulta o HubProposalMetadata para detalhes da proposta.

  3. Processo de votação:

    • Usuários nas chains spoke votam através de seus respectivos SpokeVoteAggregators.

    • SpokeVoteAggregators enviam os votos agregados para o HubVotePool via Wormhole.

    • HubVotePool envia os votos agregados para o HubGovernor.

  4. Contagem de votos e execução de propostas:

    • HubGovernor conta os votos de todas as chains.

    • Se o quórum for atingido e houver mais votos a favor do que contra, a proposta é aprovada e colocada na fila para execução.

    • Após o período de timelock, a proposta pode ser executada na chain hub.

    • Para ações cross-chain, uma proposta deve chamar o método dispatch no HubMessageDispatcher, que envia mensagens de execução para as chains spoke relevantes.

    • SpokeMessageExecutors em cada chain spoke recebem e executam as ações aprovadas através de seus respectivos SpokeAirlocks.

Comunicação Cross-Chain

O MultiGov depende da infraestrutura do Wormhole para toda a comunicação cross-chain, garantindo uma comunicação segura e confiável entre as chains. O sistema de leitura de estado cross-chain do Wormhole, conhecido como Queries, é utilizado para agregação de votos e metadados das propostas. Além disso, as mensagens de execução de propostas cross-chain são transmitidas através do sistema de retransmissão personalizado do Wormhole, permitindo uma coordenação sem interrupções entre várias redes blockchain.

Medidas de Segurança

  • Janela de peso de voto - Implementa uma janela móvel para os pontos de verificação do peso do voto, a fim de mitigar a votação dupla entre chains.

  • Extensão de proposta - HubProposalExtender permite estender os períodos de votação por um ator confiável em caso de problemas de rede ou decisões de alto risco.

  • Timelock - Um período de timelock entre a aprovação da proposta e a execução permite verificações adicionais de segurança e revisão pela comunidade.

  • Verificação do Wormhole - Todas as mensagens cross-chain são verificadas usando o protocolo seguro de mensagens do Wormhole.

Diagrama de Arquitetura Detalhado

Esta arquitetura garante que o MultiGov possa operar de forma segura e eficiente entre múltiplas chains, permitindo uma governança verdadeiramente descentralizada e cross-chain, enquanto mantém um processo de tomada de decisão unificado.

PreviousMultiGov: Governança Cross-Chain com WormholeNextFAQs

Last updated 5 months ago