Moloch DAO系列一 | 博弈论:利用分布式自治组织战胜公地悲剧

DAOrayaki DAO研究奖金池:
资助地址: 0xCd7da526f5C943126fa9E6f63b7774fA89E88d71
投票进展:DAO Committee 5/7 通过
赏金总量:200 USDC
研究种类:DAO项目分析,白皮书翻译

编者按:DeFi是金融学,DAO是经济学

作者:Ameen Soleimani, Arjun Bhuptani, James Young, Layne Haber, Rahul Sethuram

编制:Arjun Bhuptani,编译:義理の姉

“自Moloch DAO从2019年情人节上线主网以来,已经通过DAO机制分发了70万美金的公有资金,支持了DApp Node, Ethereum Cat Herders, Tornado Cash, Lighthouse, clr.fund等项目,并完成了研究报告— State of Eth2.0,State of Optimistic Rollup, Eth2.0 Economic Review等。未来,将有超过460万美金的资金通过DAO机制继续支持生态发展。”


1、目的


莫洛克(Moloch)是谁?什么是莫洛克?

“莫洛克”这个名字是指迦南人的儿童祭祀神。在古代,迦太基人相信在战争时期把一个孩子献给摩洛会增加他们部落获胜的几率。没有参与的成员被视为危及整个群体的生存。这种做法持续了数年,尽管付出了代价,因为该集团的激励结构的力量。我们第一次在斯科特·亚历山大(Scott Alexander)的《莫洛克的沉思》一文中遇到莫洛克,这本书讨论了艾伦·金斯伯格(Allen Ginsberg)的诗《嚎叫》中的同名人物。在《沉思》一书中,亚历山大指出,虽然金斯伯格通常被解读为讨论资本主义的陷阱,但诗人很可能指的是人类一贯选择次优方案解决群体协调问题的倾向。亚历山大举了一个没有独裁者的反乌托邦的例子:设想一个国家有两条规则:第一,每个人每天必须花8小时给自己强烈的电击。第二,如果任何人不遵守规则(包括这个规则),或者大声反对规则,或者不执行规则,所有公民必须团结起来杀死这个人。假设这些规则是按照传统建立起来的,每个人都希望它们得到执行。”在这样一个社会里,所有的人都有理由继续电击自己,因为如果他们不这样做,他们就会被杀,任何同意他们的人也会被杀(以此类推)。然而,从上帝的视角来看,我们知道,如果每个人,或者至少是大多数人,协调一致,一下子停止对自己的电击,就会为每个人带来一个更好的社会。亚历山大接着举例说明了发生这种情况时的几种现实情况,如过度捕捞、军备竞赛和国会

在本文中,我们将莫洛克(Moloch)的意思理解为亚历山大在他的文章中所代表的:与集体行动相关的问题的范畴,即个体激励与全局最优结果不一致这些问题在人类历史上一直以不同的名义存在,但在很大程度上仍未得到解决。我们把莫洛克看作是人类的“最后老板(final boss)”,人类几千年来一直在努力克服的东西,如果我们想确保我们物种的长期生存,就必须打败它。                

在MolochDAO的上下文中,“Moloch”这个名字是一个讽刺的笑话,关于试图解决协调问题可能是徒劳的。它本身也是一种模因(meme),我们希望它能传播对核心问题的认识和对现实生活中莫洛克问题的认识。

问题概述

我们将公共基础设施(或区块链“公地”)定义为这样一种技术,即技术给社区带来的总收益大于给任何特定实体带来的个别收益。相反,这意味着任何一个实体在发展基础设施方面的投资成本与它所产生的收益不成比例。当然,这会带来激励问题,通常会导致基础设施根本得不到开发。在以太坊行业,我们在eth2.0的开发中看到这个问题最为突出。正如最近的《eth2.0现状》报告所发现的那样,eth2.0的进展缓慢,主要是由资金有限的相对较少的研究人员和实施者进行的。尽管所有以太项目都将从升级中受益,但只有少数主要利益相关者直接参与了资金和开发。不幸的是,这是一种理性的经济行为:为以太坊建设基础设施意味着要付出巨大的个人成本——但利益在整个以太坊生态系统中被瓜分。在这种情况下,承担这一成本(对于项目来说,可能放弃市场地位)的动机是什么?这些类型的问题,我们定义为莫洛克问题,需要重新调整激励机制来解决。通过使用DAO结构来汇集资金并对资金分配进行投票,利益相关者可以更有效地共享资源并协调成本分担,从而产生更大的整体生态系统效益。我们的假设是,这足以提供必要的“活化能”,触发群体之间的广泛协调,否则可能有竞争的利益。Moloch DAO是一个实验,验证了这一假设。

目标

Moloch DAO的直接目标是进一步开发与Eth 2.0相关的公共基础设施。这将通过激励各Eth 2.0项目和主要生态系统利益相关者之间的协调来实现。

我们选择Eth2.0作为我们的初始目标,因为我们认为它是影响这个生态系统中每个人的莫洛克问题中最明显、最紧迫的例子。Moloch的第二个目标是研究集体激励,并迭代到Moloch的广义版本,该版本适用于更广泛的次优化问题,无论规模或范围如何。


2、博弈论


哲学

Moloch DAO的机械设计背后的思想主要来自对核心问题的历史讨论。虽然这些讨论超出了本文的范围,但我们建议阅读:
● 《下议院的悲剧》 Garrett Hardin
● 《囚徒困境》
● 《集体行动的逻辑》 Mancur Olson
● 《统治下议院》Elinor Ostrom

调整激励措施

要找到解决这个问题的办法,就需要重组激励机制,使所有参与者的成本和收益平均分配。Moloch DAO通过汇集用户资金并将其锁定在名为“公会银行(Guild Bank)”的智能合约中来实现这一点。公会银行的贡献者被赋予投票权,决定如何使用这些资金,投票权重取决于他们的贡献相对应的总池比例。

这个核心机制很简单,但是,还有两种机制使DAO更加有趣:

DAO的成员可以清算他们的选票,从而从公会中获得一定比例的资金份额。这给成员提供了一个强大的经济激励,通过增加他们对资金池的比例所有权或通过增加资金池的整体价值来尝试最大化他们的选票价值。请注意,选择清算他们的选票意味着牺牲了未来对整个池子的决策能力。

自我与群体利益

例如,如果成员需要建立共享的基础设施,从而产生集体利益(表现为资源价值的增加),那么是否建立基础设施的价值计算是基于集团的总成本低于集团的总利益的概率。换言之,对于一个理性的投资者来说,在一个提案中投资是有意义的,因为该提案很可能会使资金池的价值增加超过所有成员分摊的成本。

表示此成本的最简单方法是扩大指数通证(Index Token)的供应量,以便按比例稀释所有成员的股权。打个比方,想象一下,如果标普500所代表的50%的公司需要开源的会计基础设施。这一基础设施的建设将花费任何一家公司股价的5%,而且只会使每家公司的股价提高1%。对于任何一家单体公司来说,建设基础设施在经济上都是不合理的,因为成本远远大于任何收益。

然而,如果标准普尔500指数的投资者将整体指数的供给膨胀了0.01%(即5%除以500),将自己的股权按这个比例稀释,他们可以将这个数字支付给一个第三方组织,请他们建立开源会计的技术基础设施并开源给每个公司。这将使指数中50%的公司获得1%的股价收益(标准普尔500指数总体收益为0.5%),也就是说,投资者获得指数价值的0.49%。

请注意,我们实际上并没有通胀标的资产的价值(以太ETH,在第一个版本中),只是夸大了代表该资产的指数(Moloch DAO中有表决权的股票)。这一点很重要,因为投资者,即指数的主要受益人,是支付协调成本的人。这一点在Moloch DAO中也同样适用。

准入门槛

我们假设DAO的成员至少会在总体目标上保持一致——无论是资助ETH 2.0开发还是其他基础设施目标。其次,我们假设成员愿意牺牲短期利益来追求DAO的整体目的。对于ETH 2.0,我们假设理性的ETH长期持有者和基于平台开发的项目方们能看到为平台的持续发展做出贡献的价值,如此可以避免他们持有的ETH价值下降,或平台在技术层面被超越。

在一个成员准入无门槛的情形下,上述假设是不成立的。所以,我们决定设置准入门槛,通过让现有成员以类似于资助提案投票的方式来决定新的加入者能否加入公会(Guild)。

这解决了上述两个问题。首先,现有会员自然会受到激励,只接纳符合公会利益的新入会者,以便与他们分担成本。对于第二个假设,我们预计在考虑纳入新的申请人时,现有成员将考虑与该申请人之前的互动,这将推动申请人采取更长期的福利策略。我们将在下面的“Rage quitting(怒退)”中更深入地讨论这个问题。

怒退(Rage quitting)

在任何基于投票的系统中,都有大量的“侵犯少数人权益的”边缘案例是由利益相关者可能的合谋(collusion)或不适格(unavailablity)造成的。为了解决这些问题,我们建立了一个“包罗万象”的机制,允许参与者在不同意投票结果的情况下带着资金退出。这是指允许会员在“宽限期(grace period)”内从公会“怒退”,需要在提案投票结束后,并在投票结果影响到会员所有权之前。

比如说,99%的公会成员串通并提交了一份提案,向他们自己多发行99%的股份,并将剩余的1%稀释到零。在这种情况下,1%的人将在宽限期内从公会“怒退”,从而否定多数投票集团的串通攻击。

请注意,宽限期结束后剩下的成员将承担提案的费用。在有争议的投票中,多数人选择退出(例如51%的攻击),这意味着留下来的人的成本大大增加。为了让这个制度更合理,我们限制只有那些投了“反对票”给了一个获得通过的提案的人才能选择“怒退”。这迫使那些投了“赞成票”的选民承担恶意提议的代价。

我们希望这能为双方的互利合作创造一个额外的元激励(meta-incentive),因为如此一来,公会成员就不太会有动机提交一个可能会使大部分成员“怒退”的提案。

这个系统还有一个潜在被攻破的点,在于参与者可以滥用“怒退”,因为滥用“怒退”可以避免为单一提案支付成本。然而,如果会员想避免支付,他们将不得不退出全部的股份来完成“怒退”。他们之后还得重新申请成为会员,现有的会员将犹豫是否重新接纳叛逃的申请人。从现有的博弈论研究来看,我们相信这将是一个强有力的设置,使成员不滥用怒退机制。

超级竞争与分叉进化

怒退机制可以推动Moloch在有争议的分歧达成时分裂成子实体。我们还通过让所有成员重新开始来升级Moloch。

这是一个特征,不是缺点。我们希望Moloch能够得到快速的分叉、升级和迭代,包括新的链上和链下机制。一个主要的驱动因素是——公会规模,成员被激励增加总池的价值,因为这将意味着较低的人均成本,但也被激励保持公会规模足够小,以保留投票权,并保持公会愿景一致。

一旦超过这一平衡,我们相信新的申请者有强烈的动机分叉核心公会,建立自己的公会。由于代码是开源的,而且他们可以很容易地为自己行会的早期参与者添加奖励,我们希望这最终会为Moloch DAOs创造一个超级竞争的市场。

搭便车

如果不讨论搭便车问题,任何解决公地悲剧的办法都是失职的。简单地说,当成本仅由单个或小规模项目支付时,我们如何确保其他实体不蹭到整个生态系统的利益?

当公会银行仅接受wETH进行抵押时,解决这个问题是不可能的,因为所有ETH持有人将始终分享以太坊升级和ETH价格/效用增加带来的好处。然而,我们仍然相信有足够多的利益相关者关心如何围绕Eth 2.0进行协调,我们将能够验证技术和核心博弈论。

当公会银行的抵押物包含除ETH以外的资产时,这将成为一个更加复杂的计算。我们还不确定这将对公会产生什么影响,但我们非常有兴趣继续探索。


3、最小可行DAO


从历史DAO和区块链发展中学习

在建造DAO的过程中,我们首先关心的是确保存款的安全。我们回顾了以太坊过去的重大安全漏洞,如2016年的DAO黑客和两次Parity multisig黑客,总结出一套安全开发的设计原则。

首先也是最重要的,我们设定了一个目标,即只使用绝对最小的功能集在链上。在绝大多数边缘案例中,社会协调机制(离线协调)可以作为问题的迂回解决方案。通过最小化链上协调,我们减少了需要考虑的潜在攻击面。

其次,我们决定遵循迭代开发方法,只会在验证核心博弈论和技术假设后,才选择增加复杂性。例如,在DAO MVP中,只有wETH被允许作为贡品。虽然这样做并不能让我们验证上面提出的博弈论的完整性,但通过这种方式构建MVP可以让Moloch DAO立即对生态系统有用。

最后,我们观察到在合同中构建可升级性存在复杂性权衡。我们尝试了一个基于库(library-based)的体系结构,但是发现额外的使用摩擦并没有为核心案例带来足够的价值。因此,我们从最简单的角度来处理升级:参与者可以在需要升级时通过部署新的DAO智能合约来协调链外事务,如果他们选择参与升级,则退出Moloch。
Moloch股份

MolochDAO使用股份(Shares)来满足博弈论条件。按照每个提案申请股份(Shares),按申请人的捐赠金额占基金总额的比例发行股份。股份对应着如何分配公会银行资源提案的投票权。股份也可以被不可逆转的赎回,通过“怒退”在公会银行的持股比例。

例如,如果公会银行持有100%的股份,在10个成员之间分配,每个成员有10股股份,那么每股的价值是1wETH,每个成员拥有10%的公会银行。如果一个成员离开并清算了他们的10股股份,公会银行的总价值将下降到90%。然而,每个成员仍然持有10股,因此仍然持有10股。他们对公会银行的相对所有权(以及他们的投票权)就发生了变化,从10%—→11.11%。

股份不可转让。这意味着它们与ERC20标准不兼容。我们这样做是为了确保股票不能在公开市场上买卖,因此,如果成员提交提案或投票,仍然可以更容易地追溯到成员。

加入莫洛克

加入公会需要提交一份入会申请书(membership proposal)和一份贡品(tribute,以wETH形式支付)。会员提案的主要目的是要求获得一定数量的股份作为支付贡品的回报。现有的公会成员将对提案进行投票,包括是否授予所要求的股份。如果入会提议被接受,贡品将存入公会银行,新的股份将被铸造并发行给申请人。如果会员申请被拒绝,则会退还贡品。

会员提案只能由现有的公会成员提交,这意味着申请人在申请时必须说服现有成员支持他们的提案。此外,会员提案需要10 ETH的押金,其中9.9 ETH在提案处理后退还,无论结果如何。剩下的0.1 ETH是保留的,以激励处理建议,一旦它准备就绪。

中止入会提案

一个潜在漏洞是,成员提交提案时可能会向申请人要求收贿(贡品),并恶意减少申请人预期的股份数量。如果提案通过,这就意味着公会以优惠价购买了申请人的wETH。

为了解决这个问题,新的申请者可以在提交申请后的中止期内中止他们的会员申请。在此期间中止将阻止提案投票,并将导致投票失败。中止后将自动退还申请人的贡品。10%的提案押金只会在提案处理完毕后退还给提交提案的会员。

提交拨款提案

提交「拨款资助提案」(Grant Proposals)采用与「入会提案」相同的智能合约机制。如上所述,提案只能由公会成员提交。在这种情况下,提案将包含一些工作,以换取所要求的股份数量。为了保存记录,可以对提议细节进行散列并存储在IPFS上。

成员们随后对提案进行表决。如果接受了提案,公会银行将发行新股给基金申请者。

对提案进行表决

提案按提交的顺序进行表决,并可在一定的限制下并行处理。对于MVP,每个提案的投票期为7天。最多每天可以提交5个方案,所以最多有35个提案在同时进行表决的过程中(每个提案间隔4.8小时)。

投票以简单多数获胜,无法定人数要求。与其他投票系统不同,在这种系统中,成员会立即被锁定在投票结果中,因为Moloch提供了一个宽限期,在这个宽限期内,投反对票的成员可以退出,所以不要求法定人数仍然是安全的。

宽限期

投票结束后,宽限期开始。如“怒退”中所述,宽限期为7天,允许会员在强烈反对投票结果时退出公会。成员只有在对一项提案投反对票时才能自由退出。对通过的提案投赞成票的成员将被迫承担该提案的费用。

在宽限期结束时,通过调用process Proposal函数来处理提案。从10 ETH提案保证金中扣除0.1 ETH的奖励,并发送给调用该功能的成员,以激励及时处理。

稀释界限

作为一种安全机制,我们建立了一个稀释界限(Dilution Bound),以阻止一大批串通的行为体迫使少数成员在一次全民打击中经历大规模稀释。

我们在契约中指定了一个稀释限制字段(默认值=3),它限制了成员可能遭受的最大稀释。

例如,如果公会80%的投票权一次全部被剥夺,剩下的成员将遭受5倍之多的稀释。在处理提案时,将触发稀释限制,提案将失败,即不发行新股。因为怒退会按比例持有ETH,所以公会银行的总余额会减少,但剩下的成员将拥有与提案处理前完全相同的ETH。如果其余成员愿意,他们可以重新提交提案。

启动公会

由于向公会添加新成员和铸造新股份的过程需要所有公会参与者的投票,因此向公会添加初始参与者将需要不同的过程。

对于MVP,MolochDAO将在构造函数中部署一个“召唤者(summoner)”成员地址。然后,这个成员,利用他们的一票,将手动添加一组初始创始人到公会,通过固定的贡品为创始成员发行股票。

后记:

《关于Moloch的沉思(Meditations on Moloch)》是一篇Scott Alexander的文章,内容关于竞争、博弈论、公地悲剧和多极陷阱。2014年发表后,它迅速在西方文化圈广泛流传。历史上,Moloch是一个宗教故事里的名字,代表迦南人的儿童祭祀神。这篇文章部分受到金斯伯格的《嚎叫Howl》一文的启发。在中国,另一个流行词汇是“内卷”,这可能是Moloch的另一种解释。莫洛克问题,归根结底是个体激励与全局最优结果不一致的问题,需要重新调整激励机制来解决。我们通过使用DAO结构来汇集资金并对资金分配进行投票,利益相关者可以更有效地共享资源并协调成本分担,从而产生更大的生态系统效益。


写评论,请先登录