LogoLogo
  • Tally Docs
  • Tally Features
    • What is Tally?
    • Token Launch
      • Claim
      • Governance Smart Contracts
      • Token Wrapper
      • Delegate Registration & Claim-and-Delegate
    • Value Accrual with Staking
      • Features & Use Cases
      • FAQ
      • Glossary
    • Governance
      • Advanced Features
        • MultiGov
        • Advanced Voting
          • Flexible Voting Extension
          • Signal Voting
            • Snapshot
          • Private Voting
        • Partial Delegation
        • Security Council Elections
        • Chain Integration
        • Proposal Templates
        • Optimistic Governance
        • Gasless Voting and Delegation (Relay)
          • Gasless Voting
          • Gasless Delegation
        • Integrations
          • Karma - Delegate Scoring
          • Discourse
          • Safe
      • Standard Features
    • Tally API
    • Tally Zero
  • How to Use Tally
    • Navigate the Tally homepage
    • Set up a Tally Profile
    • Create Proposals
      • Custom Actions
        • Chain Deployment of Uniswap v3
        • Token Vesting with Hedgey
        • Token Grants with Hedgey
        • Streaming Payments with Sablier
        • Tuple Support
      • Swaps
        • Swaps: FAQs
      • Draft Proposals
      • Test Proposals
    • Execute Proposals
      • Advanced Execution
    • Delegate on Tally
      • Delegates Page
      • Delegate Voting Power
      • Create a Delegate Statement
    • Vote on Tally
    • Stake on Tally
    • Get Notifications on Tally
    • Use Tally with a Gnosis Safe
      • Vote with a Gnosis Safe
      • Zodiac Governor Module for SubDAOs and Grants Programs
      • Upgrade Gnosis Safe to Governor with Zodiac
    • Participate in Security Council Elections
    • Using Ledger with Solana
  • Set up & Technical Documentation
    • Tally Architecture
    • Deploy a Governor DAO
      • Deploy a Governor
        • Deploy a Governor with a new token
      • Add a Governor to an existing token
      • Check for Token Contract Compatibility
        • Network Support
        • OpenZeppelin Governor
        • Compound Governor Bravo
        • Tokens: ERC-20 and NFTs
      • Choose Governor parameters
    • Add a DAO to Tally
      • DAO Admins
      • DAO Settings
    • Use Governor with Gnosis Safe
      • Gnosis Safe Overview
      • Zodiac Governor Module for SubDAOs and Grants Programs
      • Upgrade Gnosis Safe to Governor with Zodiac
    • Staking Contracts
      • Get Started
      • How Staking Works
        • Liquid Staking Tokens
          • LST Auto delegates
      • DeFi Integration Guide
      • FAQ & Troubleshooting
    • Security
    • Chain Compatibility
  • Education
    • Intro to Governance
      • General Ecosystem Info
      • Participating in Governance
    • Governance Concepts
      • Decentralized Governance Overview
      • Onchain vs Offchain Voting
      • Application Layer vs. Base Layer Governance
      • Governance Execution Methods
      • Procedural Governance
      • Vote Delegation
    • Governance Frameworks
      • OpenZeppelin Governor
      • Curve Voting Escrow
      • Multisigs
      • Snapshot Polls
    • DAO Best Practices
      • Running an Onchain DAO Using OpenZeppelin Governor
    • Index of DAOs
      • DAOs on Tally
        • Aave (AAVE)
        • Ampleforth (FORTH)
        • Arbitrum (ARB)
        • Compound (COMP)
        • Gitcoin (GTC)
        • GMX
        • Idle Finance (IDLE)
        • Inverse Finance (INV)
        • PoolTogether (POOL)
        • Uniswap (UNI)
        • ZKsync
      • DAOs Not on Tally
        • Balancer (BAL)
        • Curve (CRV)
        • Index Coop (INDEX)
        • KyberDAO (KNC)
        • MakerDAO (MKR)
        • Sushi (SUSHI)
  • Resources
    • Tally Platform
    • Blog
    • DAO Talk Podcast
    • Newsletter
    • Twitter / X
  • Payment Addresses
Powered by GitBook
On this page
  • Problem Statement
  • Technical Overview of ERC20Votes Extension
  • Issue with Current Bridge Technologies
  • Proposed Solution

Was this helpful?

Export as PDF
  1. Set up & Technical Documentation

Bridge Providers

Ensure cross-chain governance with ERC20Votes Extension.

Last updated 7 months ago

Was this helpful?

Problem Statement

Cross-chain bridges enable token transfers between different blockchain networks. While effective for the basic ERC20 tokens, these bridges present a significant limitation for governance tokens that implement OpenZeppelin's . As a result, governance tokens, once bridged, lose their inherent governance capabilities, significantly undermining their utility in Decentralized Autonomous Organizations (DAOs).

Technical Overview of ERC20Votes Extension

Governance tokens issued by many DAOs, such as Uni, Compound, and Optimism, utilize the OpenZeppelin ERC20Votes extension. This extension enhances the standard ERC20 token capabilities by enabling voting checkpointing and delegation.

The checkpointing feature allows the contract to track the historical balance of each token holder. The delegation feature enables token holders to delegate their voting rights to others. These functionalities are integral for facilitating token holder participation in the DAO's decision-making process.

Issue with Current Bridge Technologies

The current bridging technologies primarily support the transfer of basic ERC20 tokens. When a governance token implementing the ERC20Votes extension is bridged to a new network using these technologies, it is reduced to a vanilla ERC20 token. Although the token retains its economic value, it loses the voting checkpointing and delegation functionalities associated with the ERC20Votes extension, becoming effectively useless for DAO governance on the destination network.

Proposed Solution

To address this issue, a modification in the bridging process is necessary. Specifically, when bridging a token that supports the ERC20Votes extension, bridges should also support the creation of tokens compatible with ERC20Votes on the destination network. This change would ensure that the governance capabilities of the tokens are preserved when they're bridged across networks.

The technical implementation would require:

  1. Detection of ERC20Votes Extension: The bridge should implement a mechanism to detect whether the token being bridged implements the ERC20Votes extension.

  2. Support for ERC20Votes in Token Creation: If the bridged token implements the ERC20Votes extension, the bridge should create a corresponding token on the destination network that also supports this extension. This process will preserve the governance functionalities of the token.

By implementing this solution, we can ensure that DAO governance mechanisms remain functional across multiple chains, leading to a more interoperable cross-chain governance ecosystem.

Note: The ERC20Votes extension does not track voting power until an address holding the token has elected to start delegating their voting power, either to themselves or another address. This means that using the ERC20Votes extension has no gas cost overhead for users who are not interested in using the token for governance purposes. .

For further technical details of implementing , we recommend referring to the . Through a collective effort to integrate the ERC20Votes extension into bridge mechanisms, we can effectively address the governance token bridging problem.

ERC20Votes extension
Learn more
ERC20Votes
OpenZeppelin Documentation