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.
Key Components#
Hub Chain Contracts#
The hub chain is the central point for managing proposals, tallying votes, executing decisions, and coordinating governance across connected chains.
HubGovernor- central governance contract managing proposals and vote tallyingHubVotePool- receives aggregated votes from spokes and submits them toHubGovernorHubMessageDispatcher- relays approved proposal executions to spoke chainsHubProposalExtender- allows trusted actors to extend voting periods if neededHubProposalMetadata- helper contract returningproposalIdand vote start forHubGovernorproposalsHubEvmSpokeAggregateProposer- aggregates cross-chain voting weight for an address and proposes via theHubGovernorif eligible
Spoke Chains Contracts#
Spoke chains handle local voting, forward votes to the hub, and execute approved proposals from the hub for decentralized governance.
SpokeVoteAggregator- collects votes on the spoke chain and forwards them to the hubSpokeMessageExecutor- receives and executes approved proposals from the hubSpokeMetadataCollector- fetches proposal metadata from the hub for spoke chain votersSpokeAirlock- acts as governance's "admin" on the spoke, has permissions and its treasury
System Workflow#
The MultiGov system workflow details the step-by-step process for creating, voting on and executing governance proposals across connected chains, from proposal creation to final cross-chain execution.
- Proposal creation:
- A user creates a proposal through the
HubEvmSpokeAggregateProposer, which checks eligibility across chains, or directly on theHubGovernorvia theproposemethod - The proposal is submitted to the
HubGovernorif the user meets the proposal threshold
- A user creates a proposal through the
- Proposal metadata distribution:
HubProposalMetadatacreates a custom view method to be queried for use in theSpokeMetadataCollectorSpokeMetadataCollectoron each spoke chain queriesHubProposalMetadatafor proposal details
- Voting process:
- Users on spoke chains vote through their respective
SpokeVoteAggregators SpokeVoteAggregatorssend aggregated votes to theHubVotePoolvia WormholeHubVotePoolsubmits the aggregated votes to theHubGovernor
- Users on spoke chains vote through their respective
- Vote tallying and proposal execution:
HubGovernortallies votes from all chains- If a quorum is reached and there are more for votes than against votes, the vote passes and is queued for execution
- After the timelock delay, the proposal can be executed on the hub chain
- For cross-chain actions, a proposal should call the
dispatchmethod in theHubMessageDispatcher, which sends execution messages to the relevant spoke chains SpokeMessageExecutorson each spoke chain receive and execute the approved actions through their respectiveSpokeAirlocks
Cross-Chain Communication#
MultiGov relies on Wormhole's infrastructure for all cross-chain messaging, ensuring secure and reliable communication between chains. Wormhole's cross-chain state read system, known as Queries, is used for vote aggregation and proposal metadata. Additionally, cross-chain proposal execution messages are transmitted through Wormhole's custom relaying system, enabling seamless coordination across multiple blockchain networks.
Security Measures#
- Vote weight window - implements a moving window for vote weight checkpoints to mitigate cross-chain double voting
- Proposal extension -
HubProposalExtenderallows for extending voting periods by a trusted actor in the case of network issues or high-stakes decisions
- Proposal extension -
- Timelock - a timelock period between proposal approval and execution allows for additional security checks and community review
- Wormhole verification - all cross-chain messages are verified using Wormhole's secure messaging protocol
Detailed Architecture Diagram#
This architecture ensures that MultiGov can operate securely and efficiently across multiple chains, allowing for truly decentralized and cross-chain governance while maintaining a unified decision-making process.
