

在 DAOSquare Incubator 中的一些机制和技术设计,例如这篇文章介绍的投票系统。这些设计的目标是提供更好的链上风投体验,并使它们符合去中心化、开放、可验证、去信任、无需许可等理念

在 DAOSquare Incubator 或者说在链上风投的应用场景中,投票的目的通常包括以下几个方面:投资决策、成员管理、资金管理、系统参数调整及合约升级。与普通投票不同的是,DAOSquare Incubator 的投票是可执行的。这意味着投票结果一定会被执行,而不存在人为抗拒执行的可能性。
例如,当一笔投资提案投票通过,投资款一定会从 DAO 划拨给被投方,同时创建一个 Vesting 合约供所有参与该笔投资的投资人在 Vesting 周期内 Claim 被投方的 Token (甚至同时为投资人发行一个代表其投资份额的 NFT)。这种通过技术实现的确定性保证了投融双方的利益,融资方可以确定性地收到投资款,投资方可以确定性地收到融资方的 Token 或未来可得凭证 (份额 NFT)。
这种确定性也同样体现在邀请一位新成员加入 Governor,或修改 Investor 的参与人数上限等等。总之,在 DAOSquare Incubator 中,投票意味着决定一个确定会被执行的具体动作。
几乎所有的 DAO 都有着各不相同的投票策略,这意味着开放、可定制化的投票系统非常有必要。因此我们希望提供一种搭积木的方式让用户定制符合其需求的投票系统。
整体而言,该投票系统由以下几类参数组成:
下面,我们来具体介绍。
Voting Eligibility 定义了谁有资格参与投票,而非具体的投票权。一个人可以拥有投票资格,但可能投票权为 0 (投票权取决于 Voting Power Algorithm )。Voting Eligibility 仅定义资格。
在 DAOSquare Incubator 中,用户可以建立和参与三种不同模式的 Venture DAO,这些 Venture DAOs 均通过 Governor 角色来管理和维护,Governor 可以是一群人也可以是一个人 (取决于 Ventures 类型和 DAO 的机制设计)。在 Governor 管理范围内的事务通常通过 Voting 进行决策。特定类型的 DAO (例如 Flex) 还提供了 Investor Poll,其投票机制类似。
一个用户是否有权参与某个 DAO 的 Governor Voting (即 Governor Voting Eligibility),是根据该用户是否拥有该 DAO 的 Governor 身份来判断的。至于如何成为一个 DAO 的 Governor,以及谁有资格成为 Governor (Governor Eligibility),后续会有单独介绍。总之,成为 DAO 的 Governor 便拥有了这个 DAO 针对 Governor 管理范围内的投票资格。
Flex 类型的 Venture DAOs 可以在投资提案开启之前进行一次民意调查 (或称为温度检测) 来判断该投资提案是否有必要开启。DAO 同样也需要设置谁可以参与 Poll 的投票 (即 Poll Eligibility)。
目前 Poll Eligibtliy 提供了四种链上验证类别 (四选一):
当用户满足该 DAO 设置的 Poll Eligibility,将自动拥有 Poll 的投票资格,不需要角色批准。
投票权算法 (Voting Power Algorithm) 定义了如何计算投票者的投票权,该算法由计票资产 (Voting Asset) 和权重算法 (Weight Algorithm) 组成。
计票资产 (Voting Asset) 指的是基于什么投票,是获得投票权的基础。简单来说,一个投票者的投票权是使用权重算法 (Weight Algorithm) 对投票者的计票资产 (Voting Asset) 进行计算所得出的值 (及占比)。
DAOSquare Incubator 的投票系统提供了五种链上可验证的计票资产选项:
Deposit 和 Allocation 适用于 Vintage 和 Collective 模式的 DAOs,而不适用于 Flex 模式的 DAOs。
如果 DAO 将 ERC20/721/1155 Token 或 Deposit 设置为 Voting Asset,那么投票者的 ERC20/721/1155 Token 持有量或 Deposit 余额的变动会影响其投票权。
ERC20/721/1155 的计票资产类型是将开放性资产引入 DAO 投票系统。Deposit 的计票资产类型可以让 DAO 的治理权和 DAO 的利益建立更为直接的绑定。Allocation 的计票资产类型可以将链下资产和权益的数据或主观分配意愿映射到链上并实现可调用。
Weight Algorithm 是把 Voting Asset 转化为 Voting Power 的计算方法。使用权重算法 (Weight Algorithm) 对计票资产 (Voting Asset) 进行计算便可得出一个投票者 (地址) 在一次投票中拥有多少 Voting Power。DAOSquare Incubator 提供了三种权重算法:Quantity、Log2、1 Vote a Voter。
Voting Judgment Algorithm 用于帮助 DAO 判定一个投票是否应该被通过。在 DAOSquare Incubator 的投票系统中,Voting Judging Algorithm 包括两部分:Support 和 Quorum。
Support 体现了投票支持率,即赞成票数在一次投票中的占比或绝对数量优势。只有当支持率高于 DAO 设置的比例或数量,Support 才会被计算为通过。目前有两种 Support 算法可供 DAOs 选择:
算法 A

算法 B

Quorum 体现了投票参与率,即在一次投票中,参与投票的票数与可参与投票的总票数之间的差值 (比例或具体数量)。目前有两种 Quorum 算法可供 DAOs 选择:
算法 A

算法 B

在一次投票中,只有支持率和参与率同时满足 DAO 设定的 Support 和 Quorum 值,该投票才会被通过。
Period 用于为投票设定一个有效的时间范围。Period 包括两类参数:Voting Period 和 Execution Period。
Voting 定义了投票期的时长 (如 1 小时、3 天等),在此期间,所有拥有投票权的成员均可参与投票。
当一次投票结束并产生结果,需要一个执行动作触发合约执行投票结果,如投资打款、Vesting 创建、份额 NFT 铸造等。理想的方案是,当投票结果产生之后合约可以自动执行这些操作,但这将增加技术难度和合约复杂性,以及随之而来的安全风险。因此我们看到大部分可执行的投票系统 (例如 DAOhaus) 都是手动触发合约的执行 (简单的交易确认),DAOSquare Incubator 的投票系统也不例外。由于投票结果已经产生,投票结果必须执行,因此任何人都可以执行它,包括非 DAO 成员。
Execution Period 仅适用于 Vintage 模式 DAO 的投资提案。其目的是让投资提案尽量不受赎回期、退款期 (如果 DAO 设置了这些周期) 以及其他投资提案的影响。
当 Proposer 在 Vintage 模式的 DAO 提交投资提案时,系统会检查 DAO 的赎回期、退款期等时间设置。如果该投资提案的整个运行过程 (投票期+执行期) 会与 DAO 的赎回期或退款期发生冲突,系统将拒绝该提案的提交。
由于 Execution 是一个软设置,这里有两点注意事项:
举例:
如果一个 Vintage 模式的 DAO 没有设置 Execution Period,一个投资提案的投票期结束之后可能还没来得及执行就进入了赎回期。投资人的赎回行为很有可能导致 DAO 资金余额小于投资提案要求的金额,以致于该投资提案在执行时失败。
如果 DAO 设置了 Execution Period,例如 2 天。在 Proposer 提交投资提案时,系统会计算 “投票期 + 2 天执行期“ 是否会进入赎回期,如果不会,投资提案方可提交。在投票结束后,Governor (或者任何人) 至少有 2 天时间执行该提案。当然,如果 2 天还未执行,赎回期内的资金变动可能会导致该投资提案执行失败。
由于运行机制不同,Flex 模式的 DAO 没有 Execution Period 设置。
在这个例子中,只有 Governor 身份的成员拥有投票资格 (Voting Eligibility),其投票权 (Voting Power) 是使用 Log2 算法对其在 DAO 的存款余额进行计算得出。一次投票的有效时长是 3 天。当一个投票的支持率高于 66%,同时参与率高于 60%,该投票会被通过。提案的有效执行期为 1 天。
在这个例子中,首先必须持有 2 个及以上某 ERC721 才能获得 Poll Eligiblity。计票资产是某 ERC20 Token,投票权算法是 1 voter 1 vote,这意味着拥有 Poll Eligibility 的人,只要持有该 ERC20,无论数量多少,均被赋予同等的投票权,即 1 人 1 票。
一次 Poll 的有效投票期为 20 小时。最小支持率为 10,最小参与率为 100,这意味着投赞成票的票数至少要比投反对票的票数多 10,同时,参与投票的总票数至少要大于 100,该民调才算成功。
以上便是有关 DAOSquare Incubator 投票系统的介绍。我们希望提供可适用于更广场景的决策系统,让链上风投更易被采用,从而更好地服务于那些致力于去中心化风险投资的 DAO、机构、社区、基金经理、以及投资人。另一方面,随着技术的进步,这套系统也会持续迭代 (例如自动执行)。如果你有任何关于机制设计或者技术方案的建议,欢迎反馈给我们,我们将不胜感激!如果你希望试用它,请与我们联系。