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.

Last updated