Usage & Security
Security Considerations
Key security aspects of the TTG system include:
- Trusted Parties: The model relies on the honest behavior of several actors:
- Validators are trusted for offchain data verification and intervention (cancel/freeze).
- Minters are trusted to manage offchain collateral responsibly.
- Governance Participants (
POWER/ZEROholders and delegates) are trusted to vote in the protocol's best interest.
- Governor Security & Access Control:
- Modifying the
Registraris strictly limited toStandardGovernorandEmergencyGovernor. - Proposal actions within governors are restricted to predefined internal functions targeting
self, preventing arbitrary code execution by proposals. - Epoch-based locks on
POWERtoken transfers/delegations during Voting Epochs are a key defense againstStandardGovernorvote manipulation. ZeroGovernorholds significant, concentrated power over the entire governance structure via theresetTo*and threshold/CashTokensetting functions.
- Modifying the
- Voting Thresholds:
EmergencyGovernorandZeroGovernoremploy high voting thresholds requiring substantial consensus (minimum_MIN_THRESHOLD_RATIOof 2.71% enforced, typically set much higher like 65%), protecting against capture but demanding significant coordination for action.StandardGovernoruses economic incentives (POWERinflation /ZEROrewards) rather than a fixed quorum percentage to encourage participation, relying on rational actors voting to avoid dilution/missed rewards.
- CashToken Safety: The system relies on the assumption that allowed
CashTokens (list controlled byZeroGovernor, initially set at deployment) are standard, well-behaved ERC20 tokens without malicious hooks (e.g., transfer fees, reentrancy vectors, rebasing). Using non-standard tokens could introduce vulnerabilities. WETH and M are the currently expected/intended CashTokens. - Reset Mechanism (
ZeroGovernor): The ability forZeroGovernorto redeploy core governance contracts (resetToPowerHolders,resetToZeroHolders) is the ultimate control mechanism. It enables protocol upgrades and recovery but represents a central point of authority vested inZEROholders. Execution mid-epoch effectively cancels ongoing proposals in the old governors. - Inflation/Reward Complexity: The intricate interplay between
StandardGovernortracking voter participation per epoch,Power tokencalculating and deferring inflation realization (markParticipation,_sync), andZero tokenreceiving mint calls requires precise implementation. Bugs could disrupt core incentives. - Epoch-Based Timing: The system relies heavily on the
PureEpochsmechanism for proper functioning (voting windows, transfer locks, auction timing). All participants must be aware of the current epoch status and restrictions. - Emergency Actions: The
EmergencyGovernorprovides faster execution for urgent needs but requires a higher consensus threshold, balancing responsiveness with security.
Roles in Governance
- Power token Holder: Owns
POWER. Benefits fromPOWERinflation if their voting power (direct or delegated) fully participates inStandardGovernorvoting epochs. Can vote directly or delegate. Can purchase discountedPOWERin auctions. Subject to dilution if inactive. - Power token Delegatee: An address (can be the holder themselves) to which
POWERvoting power is delegated. Casts votes inStandardGovernorandEmergencyGovernor. If they vote on allStandardGovernorproposals in an active epoch, they triggerPOWERinflation for the holder and receiveZEROtoken rewards directly to their own address. - Zero token Holder: Owns
ZERO. Can vote inZeroGovernoror delegate. Can claim accumulated assets from theDistributionVaultpro-rata to theirZEROholdings in past epochs. Benefits indirectly fromPOWERauctions (proceeds go to Vault). - Zero token Delegatee: An address (can be the holder themselves) to which
ZEROvoting power is delegated. Casts votes inZeroGovernor. Does not directly receiveZEROrewards fromStandardGovernorvoting (those go to thePOWERDelegatee). - Proposer: Any address can create proposals in any governor. Must pay a fee in
CashTokenforStandardGovernorproposals (refunded on success). No fees forEmergencyGovernororZeroGovernor. - Executor: Any address can call
execute()on a Governor for a passed proposal (Succeededstate) during its valid execution window. - Distributor (Vault): Any address can (and should periodically) call
distribute(token)on theDistributionVaultto ensure new funds are accounted for and become claimable byZEROholders for the relevant epoch.
Interacting with TTG
- Voting: Use
castVote,castVotes, or theirWithReason/BySigvariants on the appropriate Governor (StandardGovernor,EmergencyGovernor,ZeroGovernor). Check the proposalstate()and be mindful of epoch restrictions (esp.StandardGovernorvoting only in Voting Epochs). - Delegation: Use
delegateordelegateBySigonPower token(only during Transfer Epochs) orZero token(anytime). RememberZEROrewards go to thePOWERdelegatee. - Checking
POWERBalance: Crucially, always callPower token.sync(account)before relying onPower token.balanceOf(account)if you expect the balance might have changed due to inflation. This function realizes any pending inflation into the actual balance. UsegetPastVotesfor historical voting power checks (which inherently accounts for inflation up to that point). - Claiming Vault Rewards: Call
DistributionVault.claim(...)specifying the token and a past epoch range (startEpoch,endEpoch). UsegetClaimable(...)to check expected amounts first. Ensuredistribute(token)has been called recently for the desired token to make funds available for the latest completed epochs. - Power token Auctions: Call
Power token.buy(...)during Transfer Epochs. CheckamountToAuction()andgetCost(amount)beforehand. Ensure your account has sufficientCashTokenallowance approved to thePower tokencontract.
Conclusion
M0's Two-Token Governance system offers a sophisticated and resilient framework for decentralized decision-making. By carefully separating powers across three governor tiers, leveraging a deterministic epoch-based clock, and implementing robust incentive mechanisms via Power token inflation and Zero token rewards/revenue sharing, TTG encourages active participation while maintaining security and adaptability.
The key components work in concert:
Power tokenandZero tokenprovide distinct spheres of influence: operational vs. meta-governance.StandardGovernor,EmergencyGovernor, andZeroGovernoroffer tailored processes for different decision types.- The
Registrarensures a single, secure source of truth for parameters. - The
DistributionVaultaligns economic incentives forZero tokenholders. - The Epoch System creates predictable cycles and enhances security.
The intricate architecture of TTG provides both the flexibility needed for routine adjustments and the security required for long-term protocol stability and evolution. Understanding the specific roles, rules, and interactions of the tokens and contracts is key to effective participation.

