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
/ZERO
holders and delegates) are trusted to vote in the protocol's best interest.
- Governor Security & Access Control:
- Modifying the
Registrar
is strictly limited toStandardGovernor
andEmergencyGovernor
. - Proposal actions within governors are restricted to predefined internal functions targeting
self
, preventing arbitrary code execution by proposals. - Epoch-based locks on
POWER
token transfers/delegations during Voting Epochs are a key defense againstStandardGovernor
vote manipulation. ZeroGovernor
holds significant, concentrated power over the entire governance structure via theresetTo*
and threshold/CashToken
setting functions.
- Modifying the
- Voting Thresholds:
EmergencyGovernor
andZeroGovernor
employ high voting thresholds requiring substantial consensus (minimum_MIN_THRESHOLD_RATIO
of 2.71% enforced, typically set much higher like 65%), protecting against capture but demanding significant coordination for action.StandardGovernor
uses economic incentives (POWER
inflation /ZERO
rewards) 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
CashToken
s (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 forZeroGovernor
to 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 inZERO
holders. Execution mid-epoch effectively cancels ongoing proposals in the old governors. - Inflation/Reward Complexity: The intricate interplay between
StandardGovernor
tracking voter participation per epoch,Power token
calculating and deferring inflation realization (markParticipation
,_sync
), andZero token
receiving mint calls requires precise implementation. Bugs could disrupt core incentives. - Epoch-Based Timing: The system relies heavily on the
PureEpochs
mechanism for proper functioning (voting windows, transfer locks, auction timing). All participants must be aware of the current epoch status and restrictions. - Emergency Actions: The
EmergencyGovernor
provides faster execution for urgent needs but requires a higher consensus threshold, balancing responsiveness with security.
Roles in Governance
- Power token Holder: Owns
POWER
. Benefits fromPOWER
inflation if their voting power (direct or delegated) fully participates inStandardGovernor
voting epochs. Can vote directly or delegate. Can purchase discountedPOWER
in auctions. Subject to dilution if inactive. - Power token Delegatee: An address (can be the holder themselves) to which
POWER
voting power is delegated. Casts votes inStandardGovernor
andEmergencyGovernor
. If they vote on allStandardGovernor
proposals in an active epoch, they triggerPOWER
inflation for the holder and receiveZERO
token rewards directly to their own address. - Zero token Holder: Owns
ZERO
. Can vote inZeroGovernor
or delegate. Can claim accumulated assets from theDistributionVault
pro-rata to theirZERO
holdings in past epochs. Benefits indirectly fromPOWER
auctions (proceeds go to Vault). - Zero token Delegatee: An address (can be the holder themselves) to which
ZERO
voting power is delegated. Casts votes inZeroGovernor
. Does not directly receiveZERO
rewards fromStandardGovernor
voting (those go to thePOWER
Delegatee). - Proposer: Any address can create proposals in any governor. Must pay a fee in
CashToken
forStandardGovernor
proposals (refunded on success). No fees forEmergencyGovernor
orZeroGovernor
. - Executor: Any address can call
execute()
on a Governor for a passed proposal (Succeeded
state) during its valid execution window. - Distributor (Vault): Any address can (and should periodically) call
distribute(token)
on theDistributionVault
to ensure new funds are accounted for and become claimable byZERO
holders for the relevant epoch.
Interacting with TTG
- Voting: Use
castVote
,castVotes
, or theirWithReason
/BySig
variants on the appropriate Governor (StandardGovernor
,EmergencyGovernor
,ZeroGovernor
). Check the proposalstate()
and be mindful of epoch restrictions (esp.StandardGovernor
voting only in Voting Epochs). - Delegation: Use
delegate
ordelegateBySig
onPower token
(only during Transfer Epochs) orZero token
(anytime). RememberZERO
rewards go to thePOWER
delegatee. - Checking
POWER
Balance: 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. UsegetPastVotes
for 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 sufficientCashToken
allowance approved to thePower token
contract.
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 token
andZero token
provide distinct spheres of influence: operational vs. meta-governance.StandardGovernor
,EmergencyGovernor
, andZeroGovernor
offer tailored processes for different decision types.- The
Registrar
ensures a single, secure source of truth for parameters. - The
DistributionVault
aligns economic incentives forZero token
holders. - 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.