作者的非正经介绍 :

茯苓 (Poria Cattus): DAOSquare 的萌新研究员 (顺便敲敲代码?), 今后遇到有趣的项目会写一些调查笔记与大家分享。

为了更好的定义 TributeDAO,标题里用了渐进式这个词,不知道什么是渐进式请不要担心, 看完下面就知道了。用过 Vuejs 的人可能知道 Vuejs 是一个渐进式的前端框架,那么什么是渐进式的 DAO 框架呢?为了解答这个,我们先看一下 TributeDAO 的整体架构:

TributeDAO 主要由三个部分组成:Core,Adapters,Extensions。

Core 包括 DAO 注册表(用来存储 DAO 中的重要数据)和一些其他的东西。

Adapters 包括投票,DAO 准入,贡品,NFT 贡品,公会踢,怒退,提现,融资等。

Extensions 包括金库和 NFT。

另外,有一点需要注意,数据 / 信息永远是从外界流向 Core 的 , Core 想要获取数据只能通过 Adapters 或 Extensions。

调查笔记(一): 渐进式的 DAO 框架-TributeDAO

熟悉 Moloch DAO 的人看到这里应该就明白了,这不就是把 Moloch DAO 给拆了吗?是的没错,就是把 Moloch 给拆成一个个小模块并且因为细致的拆分使组合变得很方便。有了 Tribute DAO,Web3 世界里就有了 DAO 的乐高积木了。因为是渐进式的,所以可以将 DAO 一点一点的变得更庞大。

调查笔记(一): 渐进式的 DAO 框架-TributeDAO

现在大家应该可以理解渐进式了,就是把需要的功能像拼乐高那样组合到一起。所以本文也可以有其他的名字,比如:积木式的 DAO 框架,拆得七零八落连 Moloch 的工程师来了都认不出来的另一种 Moloch DAO 框架。

做成积木式的好处就是可以只添加自己需要的功能,比如有的 DAO 不需要公会踢,那么组合出来的 DAO 就不包含公会踢。除了组合方便之外定制也很方便,比如可以做一个新的 Adaptar 来支持二次方投票,或者把任何人都可以发起提案改成只有 DAO 成员才能发起。

因为 Adapters 和 Extensions 的含义比较相近,所以大家可能对这两个词比较困惑。在这里也做下解释:Adapters 指的是 DAO 的一个个模块, 就像乐高积木或者 Minecraft 的小方块。Extensions 指的是与 DAO 注册表隔离的复杂状态。也就是说,几个 DAO 可能由相同的 Adapters 组成,但是内部状态 / 数据不相同。

看过 Moloch 合约的人应该可以感受到 Moloch 的可扩展性很差, Minion(小兵 / 奴隶) 诞生之前基本上只能通过 tribute, shares 做各种操作。在 Moloch V2 中,虽然增添了更多的提案类型,但这是通过在合约中增加不同提案函数完成的,就不是很优雅。在 Minion 诞生之后 , 虽然可扩展性得到了增强但是基本上也没逃离代理的思想 (Aragon 也有个 agent)。有了 Tribute DAO 之后 DAO 内部的操作就可以通过新的 Adapters 或 Adapters 的组合来完成了,除了实现方式优雅外,代码也更容易维护。虽然与外部合约交互依然需要 Minion,但启动一个新的项目完全可以把 Tribute DAO 集成到应用内部 (手动狗头 .jpg)。

Tribute DAO 对 NFT 支持的很好,在 Tribute DAO 中可以使用 ERC721 作为 tribute 加入一个 DAO(在写本文时,DAOHaus 的 NFT Banks 依然是 coming soon 的状态,快点更新啦)。除了上文提到的二次方投票之外,也可以使用 Adapters 去实现一人一票。另外,Tribute DAO 也支持 ACL(访问控制层),这样可以更容易的做 DAO 内的权限管理了。

总的来说,在 Tribute DAO 上可以看到 DAO 的未来,因为可以像空气,水和电一样无感的融入到各个应用中。如果你的团队有开发人员并且需要一个 DAO 那么我非常推荐使用 Tribute DAO。

一起拥抱未来吧!


About DAOSquare

DAOSquare 起源于西方著名以太坊社区 MetaCartel,DAOSquare 的使命是构建属于 Web3 时代的孵化器,从而更好地帮助这个时代的创新者从 0 到 1 并走向成功,正如互联网时代的 Y·Combinator 一样。

调查笔记(一): 渐进式的 DAO 框架-TributeDAO