The DAO 事件之后,正是 Moloch 在 2019 年初重新把 DAO 又带回到大家的视野。

原文标题:《Moloch DAO 研究报告》
撰文:王超,Empower Labs 发起人

Moloch – 献祭邪神,相传古迦南人会把自己的第一个子女放入烈火中献祭给 Moloch,以换取整个族群的安全。数千年后,有一群人向智能合约中贡献出自己的以太币,希望以此推动 ETH 2.0 的整体发展。接受献祭的是一个去中心化自治组织,它被命名为 Moloch DAO。

源起的故事

Ameen Soleimani 是个 91 年的小伙子,化学工程专业出身,在大学期间他接触到了比特币。对 Ameen 来说这个领域显然比化学工程有意思多了,于是毕业后他毫不犹豫的转行成为码农进入了加密领域。起初他在这个领域做了几次并不成功的尝试,靠这些尝试攒下了一点点比特币,然而这些币跟着 Mt.gox 平台的倒闭一起消失了。

不久后以太坊诞生了,一个能够在区块链上部署智能合约的项目。几乎是同时,Ameen 读到了一篇叫《Meditations on Moloch》的文章,这篇文章思考了群体协调问题,即人类社会中人们常常为了个体利益而牺牲集体利益,而最终导致人人受损。Ameen 深以为然,再关联起刚刚听说的以太坊,Ameen 觉得这也许就是解决群体协调问题的答案 - 利用不可更改的代码来约束人类行为。

由此,他开始把热情投入到以太坊上,并在 2016 年加入了 ConsenSys。这是一个位于纽约的区块链技术公司,旨在构建以太坊生态的各类基础设施以推动以太坊的发展,ConsenSys 的创始人 Joseph Lubin 也是以太坊项目的联合创始人。毫无疑问,这是一份梦想的工作。

但很快 Ameen 就对 ConsenSys 的管理风格产生了不满,他觉得决策效率低下,限制太多。2017 年 4 月的一天,Ameen 鼓足勇气向 CEO Joseph Lubin 以及其他管理层做出了一个提议- 给他两百万美金外加 3 个工程师,他在旧金山建立一个叫 Moloch Ventures 的机构,一个独立于 ConsenSys 的前哨站,用来支持一些有意思但不适合在 ConsenSys 架构下进行的项目。

Ameen 兴致勃勃的给大家讲了邪神的故事,并把 Moloch Ventures 定位为邪恶的前哨站。但他迎来的是一盆冷水,没人支持他的想法。两年后 Joseph Lubin 被问及对那次会议的想法,他的回答是「那是一个不错的娱乐节目」。

受了刺激,Ameen 在一个月后提出了离职,并随后发起了一个叫 SpankChain 的项目。这是个相当奇特的项目,然而运营的也并不成功,此处不细讲,有兴趣的读者可以自行查资料。

时间来到 2019 年,Ameen 重新把热情投入到以太坊本身的发展并希望使用 DAO 的方式来推动这个过程。彼时已经有一些 DAO 的底层协议被开发了很久,但 Ameen 觉得那些协议都太过复杂,无论是从代码层面还是从组织运行层面。Ameen 想要搞一个使用最少代码,实现基础功能的一个 DAO 协议。简单,安全,但能用。经过 Ameen 与其他几个人的共同开发,Moloch V1 协议诞生了。

Moloch DAO 在 2019 年 2 月 14 日,丹佛的以太坊开发者大会上被正式启动。Ameen 一共凑了 21 个支持者作为创始成员,每个人捐赠了 100 个 ETH。这个启动过程还算是顺利,不过考虑当时以太坊价格只有 100 美元多点,总共也就是 20 多万美元,这也算不上多亮眼的成绩。

不过 Moloch DAO 的愿景和 Ameen 的持续努力随后获得了回报。以太坊创始人 Vitalik 在两个多月后决定捐赠 1000 个 ETH。而 ConsenSys 的创始人 JoesphLubin 也并没有忘记当年他手下的这个小伙子,也捐赠了 1000 个 ETH。ConsenSys 以及以太坊基金会的其他成员也一共凑出了两千个 ETH 的份子捐赠给了 Moloch DAO。

Moloch DAO 一战成名。

Moloch DAO 的运营数据

截止到本文写作的时候,Moloch DAO 的合约共接收过 7718 个 ETH,发出过 5556 个 ETH,工会银行中还存有 2162 个 ETH。不过发出的五千多个以太币的大部分并非都是资助发放,相当一部分是成员的主动退出。

当前 Moloch DAO 的成员共有 3832 个 Shares,而对比份额和工会银行的差额可以算出被用于项目资助发放的以太币约为 1670 个。考虑到大部分资助都发生在以太币价格只有几百美元的时间,按这样计算,Moloch DAO 过去发出的资助额并不高,总计约折合几十万美金。

Moloch DAO 共接纳过 100 位会员,目前依然维持着会员身份的还有 63 位(至少保留 1 票)。

共有 168 个提案被发起,其中资助相关的提案约 70 个,绝大部分获得了通过。不过查阅了其资助的项目后可以发现这些项目基本上没有成功。

DAO 的再次出发

从纯粹的运营数据来看,Moloch DAO 在众多 DAO 中只能算非常一般的一个。即使有了 Vitalik 和 Joseph Lubin 的加持,Moloch DAO 的活跃度和会员的参与度也并不高,grants 的项目数量以及质量也都非常一般,最近 6 个月甚至一个提案都没有。

但 Moloch 的意义早已超出了单个 DAO 的范畴。自 2016 年 The DAO 遭遇黑客攻击失败之后,DAO 这个方向在整个加密生态中沉寂了很久。正是 Moloch 在 2019 年初重新把 DAO 又带回到大家的视野。由于 Moloch 代码足够简单安全,有很多团队选择了 fork Moloch 的代码发起了自己的 DAO,这其中包括著名的 MetaCartel。

Moloch V1 版本只适用单一的捐赠场景,在上线 1 年以后,Ameen 又联合了几个团队共同开发了 Moloch V2。V2 版本的通用性更强,能够适用在风险投资、对冲基金、孵化器等多个商业场景。

当前在全世界运行的各类 DAO 约有 30% 是基于 Moloch 构建的。这一切,都源于 2 年多前的那 400 行代码

Moloch 协议和 Moloch DAO

讲完了故事,继续讲讲协议和 DAO 运行的细节。不过在进入下面的篇幅前,首先要强调两个容易弄混的概念。

Moloch 是一个用于在以太坊上创建 DAO 的开源协议,任何人都可以基于 Moloch 协议发起 DAO。目前 Moloch 协议已经发展出了多个版本,不过 2019 年初 Moloch 发布的时候只有一个版本,即 Moloch V1,一个只有 400 行代码的协议。

而 Moloch DAO 是基于 MolochV1 版本协议发起的第一个 DAO。这是一个组织,组织目标是通过捐赠推动 ETH 2.0 基础设施的发展。

Our objective is to accelerate the development of public Ethereum infrastructurethat many teams need but don't want to pay for on their own. By pooling ourETH, teams building on Ethereum can collectively fund open-source work we decideis in our common interest.

我们的目标是加速以太坊公共基础设施的开发,许多团队需要他们但并不想自己付费去做。通过汇集我们的 ETH,以太坊上的团队可以共同为我们认为符合共同利益的开源工作提供资金。

摘自 Moloch DAO Github_

Moloch V1 的运行逻辑

Moloch V1 协议的基本逻辑非常简单 - 成员贡献资金 (wETH),根据贡献资金的数量获得相应数量的 Shares(份额)。成员贡献的资金被工会银行 (Guild Bank) 保管。成员可以提出提案,如果提案获得通过,智能合约则根据提案进行相应的资金分配。

提案 (Proposal) 是 Moloch 的业务核心,协议的主要工作都是围绕提案展开。提案分三类,新成员加入,项目资助以及无偿捐赠。为了尽可能减少安全风险,Moloch 的合约代码写的非常简单,而具体到提案机制上,更是极度简洁。任何提案都只有三个参数 :

Tribute(贡品) – 申请人投入 DAO 的 Ether 数量

Shares(份额) –申请人希望得到的份额数量,Shares 由合约铸造,不可转让,可用于投票或主动销毁以便拿回对应的资产。

Applicant(申请人) – 申请人的以太坊地址 , 用于接收份额。

通过 Tribute 和 Shares 这两个关键参数的组合,可以得到三种不同类型的提案。

例如:

Tribute 10, Shares 10,代表新成员加入的提案。新成员投入 10 个以太的贡品获得 10 个份额。

Tribute 0,Shares 10,则是典型的资助提案,申请者不投入贡品,但获得 10 个 Shares,按目前的价格 10 个 Shares 对应大约为 11000 美元的资助。

Tribute 10, Shares 0,无偿捐赠提案,投入贡品但放弃份额。

为了避免大量低质量提案,只有 DAO 成员能够发起提案,并且需要存 10 个以太币作为保证金,当提案被处理后,无论通过还是不通过,保证金都会被退回,但如提案通过了,保证金里的 0.1 个以太会被扣除作为手动触发执行提案的奖励。

提案的有效期是 7 天,在 7 天内成员可以进行投票表决。Moloch DAO 中的提案没有最低同意人数的限制(Quorum), 提案能否通过主要取决于同意和反对的比例。在极端情况下,只有一票同意也能通过,而这种情况确实发生过。这个设计的目的主要是考虑两点,一方面是成员参与度在大部分情况下并不够,另外并不是每个成员都有足够的知识储备对每个提案内容做出判断。而在参与度较低的情况下,这个机制保证了提案能够被有效的处理。

如果提案获得通过,则进入 7 天的等待期,等待期的作用是允许对提案不满的成员在这个阶段退出 DAO 并拿回自己的资金。

提案通过并通过了等待期后也并不会自动执行,而是需要由一位成员去合约中手动触发执行。上文中提到保证金会被扣除 0.1 个以太,即为用来奖励这位触发执行的成员。

如何加入及退出

有很多团队基于 Moloch 协议发起了自己的 DAO,不同的组织的加入有不同的流程。不过大家的基本流程,尤其是链上的部分都是相似的,这里以 Moloch DAO 举例。

作为一个捐助性质的 DAO,申请加入 MolochDAO 的第一步是要提供贡品 (Tribute),贡品可以是资金(最初为 100 个 ETH,后降低为 10 个 ETH)或者时间(需要至少贡献一篇被认可的关于以太坊未来发展技术的研究报告)。

但仅仅提供贡品并不够,Moloch 使用了许可制的成员加入机制,必须由某个现有成员发起进行提案,提案投票通过后才可以获得成员身份。

相比加入,Moloch 的退出机制非常灵活。协议里设计了一个特殊的 Ragequit 机制(愤怒退出)。如果一个成员对于某个提案的内容不满,而这个提案又获得了通过,在提案被执行的等待期之内,可以通过 Ragequit 退出 DAO (前提是该成员并未给该提案投赞成票)。Ragequit 执行的时候,合约会收回该成员的份额,份额对应的以太币会退回给成员,同时成员身份也将会失去。但成员并不会拿回原始的贡献金额,而是根据工会银行的剩余金额按比例拿回还没花掉的部分。

由于允许愤怒退出,DAO 的协调成本被大大降低,不再需要针对每个提案都过多考虑成员的想法,如成员对某个提案特别不爽而这个提案又通过了,那么直接退出就可以了,这也是 Moloch DAO 的提案不需要最低同意人数的原因之一。

愤怒退出同时也充当着被资助方提取资金的作用。当一个项目申请资助成功,被资助者并不会直接获得资金,而是获得了一个 DAO 成员的身份以及对应的一些份额。如果被资助者想要拿到这些资金,则需要执行愤怒退出来把资金从合约中取出。这个设计同样是为了保持合约的尽可能简单。

Moloch DAO 的资助申请

想要获得 Moloch DAO 的资助,需要在官网提交一个预申请表。主要是要求对申请资助的项目进行介绍。如果 DAO 成员喜欢这个项目,预申请通过,则会进入正式的申请阶段。在正式的申请审查阶段,申请人需要回答来自 DAO 成员的一些问题,如果顺利通过申请审查,则最终进入链上投票阶段。链上投票通过后,申请人获得 DAO 成员身份(以及一定的份额)

资助申请分两种,项目资助和工会资助。简单来说项目申请是针对特定项目的一次性资助申请,而工会申请是针对某个特定领域的重复性资助,每个季度都可以申请。

Moloch DAO 的提案信息是公开的,即使不是 DAO 成员也可以围观看项目介绍,投票和执行情况。

一个典型资助案例

Neue UX 是 Moloch DAO 截至目前资助的最后一个项目。提案在 2021 年 1 月 13 日由成员 Yalda Mouasvinia 发起,这是一位曾从事产品和 UX 工作,对于 DAO 和开放合作充满了热情的成员。(该成员的真实身份是一家专注做开源协作软件初创公司的 CEO)

申请者为 Ape Unit 团队,请求 23000 美元的资助(按当时的价格折合为 38 个 Shares, 对应约为 21 个以太币)。Ape Unit 团队会使用这笔资金开发 neueux.com,一个为去中心化应用提供 UI/UX 资源的平台。

Ape Unit 团队在申请说明上给出了详细的项目要解决的痛点,项目规划,团队背景以及具体为 9 周的第一阶段开发计划。尽管 neueux 的目标很宏大,但实际第一阶段要实现的目标并不复杂,简单说就是收集各类现有区块链应用的截图(钱包,Dapp,DeFi 等),整理、归类并呈现,供未来的去中心化应用的开发者参考。

可能是这个项目目标过于简单,这个提案只获得了三个成员的投票,两位版本各投了 100 票赞成,一位投了 100 票反对,最终 200 比 100 获得了通过。

提案通过后 Ape Unit 共获得了 38 个 Shares,他们并没有马上把资金提出,而是在近两个月后的 3 月 11 日通过销毁 37 个 Shares 获得了 20.66 个以太坊。团队选择保留了 1 个 Share 从而保留了 DAO 成员身份。由于当天以太坊的价格是 1800 美金,这笔资金在提取的时候已经价值 37000 美金。而这笔资金提取后还躺在地址上并未被使用。

现在 9 周的交付期早已过去了,neueux.com 也已经上线,不过从目前上线的内容上看,即使是项目的目标并不复杂,真正实现的交付结果离最初的承诺还是略有些差距的。由于缺乏有效的监督机制,这种情况应该在 grant 里并不少见。

总结

总体来看,Moloch 协议作为一个典型的参与性 DAO 的协议,比较适用在中小团体进行财务管理合作。它简洁,安全,能够满足基础功能的协议,大大降低了实施 DAO 的门槛,也因此激发了相当多的团队的热情。而后延伸出的 Moloch v2 协议由于适用性更强,更是被广泛使用,Moloch 协议为推动 DAO 的发展做出了很大的贡献。

Moloch 功能设计的核心是围绕财务管理展开的,简单的设计使得它很难承担更复杂的协作及治理。再加上 Moloch DAO 采用的是许可制的成员管理,这使得它更像是把传统组织的一部分财务管理进行了区块链改造,而 Venture DAO、LAO 这类应用了 Moloch V2 的投资基金更是直接绑定了有限公司的商业实体。这跟大部分朋友心中所畅想的去中心化自治组织的形态还是有一定的距离。