Nouns DAO治理机制全解析:提案、投票与执行的完整流程
Nouns DAO治理机制全解析:提案、投票与执行的完整流程
【免费下载链接】nouns-monorepoThe Nouns DAO monorepo项目地址: https://gitcode.com/gh_mirrors/no/nouns-monorepo
Nouns DAO是一个基于区块链的去中心化自治组织,通过独特的治理机制实现社区决策。本文将详细解析Nouns DAO的提案创建、投票流程和执行机制,帮助新手用户全面了解如何参与Nouns社区治理。
一、提案创建:从想法到正式提交
1.1 提案创建条件
任何Nouns代币持有者都可以创建提案,但需要满足一定的提案门槛。根据NounsDAOLogicV4.sol的规定,提案者必须拥有足够的委托投票权,具体数值由proposalThresholdBPS参数决定(默认5%)。这确保了提案创建者对社区有一定的贡献和责任感。
1.2 提案内容要求
提案需包含以下关键信息:
- 目标地址(targets):提案将影响的智能合约地址
- 以太坊价值(values):每个目标地址接收的ETH数量
- 函数签名(signatures):要调用的函数名称和参数
- 调用数据(calldatas):函数调用的具体参数
- 描述(description):提案的详细说明
提案创建后会生成一个唯一的proposalId,用于后续的投票和执行流程。
1.3 提案更新机制
Nouns DAO允许提案者在提案进入投票阶段前更新提案内容。根据NounsDAOProposals.sol的设计,提案有一个可更新期(proposalUpdatablePeriodInBlocks),在此期间提案者可以修改提案的交易和描述,但需要重新获得签名支持。
二、投票流程:参与社区决策
2.1 投票前准备
投票开始前有一个投票延迟期(votingDelay,默认3天),让社区有足够时间了解提案内容。投票权基于提案创建时的代币持有情况,因此建议在提案创建前完成代币委托。
2.2 投票周期与方式
投票正式开始后,将持续一个投票周期(votingPeriod,默认7天)。社区成员可以通过以下方式参与投票:
- 支持(For):同意提案
- 反对(Against):不同意提案
- 弃权(Abstain):不表态
投票可以通过NounsDAOVotes.sol中的castVote函数直接进行,也可以通过签名方式(castVoteBySig)委托他人投票。
2.3 反对期机制
Nouns DAO引入了独特的反对期机制。如果在投票结束前的"最后一分钟窗口"(lastMinuteWindowInBlocks)内,提案从被否决状态转为通过状态,将触发一个额外的反对期(objectionPeriodDurationInBlocks)。在此期间,只能投反对票,给社区更多时间思考重大决策。
三、提案执行:从通过到落地
3.1 提案状态判断
投票结束后,系统会根据以下规则判断提案状态:
- 如赞成票超过反对票且达到法定人数(
quorumVotes),提案通过 - 否则,提案被否决
法定人数计算采用动态机制,根据反对票数量调整,反对票越多,所需的赞成票比例越高。
3.2 提案排队与执行
通过的提案会被排入时间锁(NounsDAOExecutor.sol),经过一段延迟后(默认2天)才能执行。执行时,系统会按照提案中定义的目标地址、函数和参数依次调用相应合约。
执行函数定义在NounsDAOExecutorV2.sol中:
function executeTransaction( address target, uint256 value, string memory signature, bytes memory data, uint256 eta ) public payable returns (bytes memory) { // 执行逻辑 }3.3 提案取消与否决
提案在执行前可以被取消或否决:
- 提案者或联署者可以取消提案
- 否决者(
vetoer)可以单方面否决提案 - 如果提案者的投票权低于提案门槛,任何人都可以取消提案
四、高级治理功能
4.1 提案奖励机制
Nouns DAO设立了提案奖励机制,鼓励社区成员积极参与治理。根据Rewards.sol,提案者和投票促进者可以获得部分拍卖收入作为奖励,具体比例由proposalRewardBps和votingRewardBps参数控制。
4.2 DAO分叉功能
如果社区对某些提案存在重大分歧,Nouns DAO允许代币持有者通过分叉功能创建新的DAO。分叉流程包括抵押代币、执行分叉和创建新DAO等步骤,具体实现可参考NounsDAOFork.sol。
五、参与Nouns DAO治理
5.1 环境准备
要参与Nouns DAO治理,首先需要:
- 拥有Nouns代币或获得代币委托
- 熟悉Nouns DAO的治理流程
- 了解提案的技术细节和潜在影响
5.2 提案提交步骤
- 在社区论坛讨论提案想法
- 完善提案内容,确保技术可行性
- 通过NounsDAOData.sol发布提案候选
- 收集社区反馈并修改提案
- 正式提交提案并等待投票
5.3 投票参与方式
普通用户可以通过Nouns webapp直接参与投票,而开发者可以通过调用治理合约的投票函数进行操作。投票前建议仔细阅读提案说明,了解提案对社区的潜在影响。
Nouns DAO的治理机制设计既保证了决策的去中心化,又通过各种机制确保了提案的质量和社区的共识。通过参与提案、投票和执行过程,每个社区成员都能为Nouns生态系统的发展贡献力量。无论是提案创建者还是普通投票者,都在共同塑造Nouns的未来。
【免费下载链接】nouns-monorepoThe Nouns DAO monorepo项目地址: https://gitcode.com/gh_mirrors/no/nouns-monorepo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
