# Design CKB Lock Scripts for Voting
## Metadata
**Status**:: #x
**Zettel**:: #zettel/fleeting
**Created**:: [[2024-07-03]]
## Synopsis
- Spore DOBs for Voting (or xUDT?)
- One DOB, one vote? Or coding the DOB voting weight in its DNA?
- On-chain voting or off-chain
- Does voting token transferable?
- Voting method
1. Token-weighted voting: Voting power is proportional to the number of tokens held.
2. Quadratic voting: Voting power scales quadratically with the number of tokens, reducing the influence of large token holders.
- We can allocate tokens based on the quadratic weight to simulate quadratic voting.
3. Time-locked voting: Tokens must be locked for a certain period to participate in voting.
- How about concurrent proposals?
- Two-stage commit.
1. First stage: propose the upgrade and collect votes.
2. Second stage: execute the upgrade when votes exceed the threshold.
- How to avoid duplicate votes?
- Non-presence proof
## Integration
- Discord bot
- Authorization via voting token/DOB
- Voting
- RPC to get the upgrade history, active proposals, voting progress and result.
## Case Studies
- [Realms](https://docs.realms.today/)
- [🔲 Create a NFT Community DAO | Governance UI Docs (realms.today)](https://docs.realms.today/DAO%20Guides/NFT%20DAO/nftdao)
- [solana-program-library/governance/README.md at master · solana-labs/solana-program-library (github.com)](https://github.com/solana-labs/solana-program-library/blob/master/governance/README.md)
- [BitDAO](https://docs.bitdao.io/)
- Tezos (XTZ):
- Uses a formal on-chain governance mechanism called the "self-amending ledger."
- Allows stakeholders to vote on protocol upgrades and implementations.
- Polkadot (DOT):
- Implements a council-based governance model.
- Uses referenda for major decisions and includes a technical committee for emergency changes.
- Compound (COMP):
- Utilizes a proposal-based system where COMP token holders can vote on changes.
- Includes a timelock feature for implementing approved changes.
- MakerDAO (MKR):
- Employs a system of Executive Votes and Governance Polls.
- MKR token holders can vote on risk parameters and system upgrades.
- Uniswap (UNI):
- Uses a governance forum for discussion and a voting system for implementation.
- UNI token holders can create and vote on proposals.
- Aave (AAVE):
- Implements the Aave Improvement Proposals (AIPs) system.
- AAVE token holders can vote on protocol changes and parameter adjustments