作者:王健硕
原文标题及链接:关于非中心化自治组织 (DAO) 的醍醐灌顶时刻

我们都有过一些特殊的时刻,仅仅瞟一眼一样原来没见过的东西,立刻就明白了它是什么,并且后面的很多年,这种认知就没有变过。这些时刻,被我称之为“醍醐灌顶时刻”。

有很多 DAO 软件可以选用。比如 Aragon,DaoaoStack,DAOHaus 等。我们随便选一个。

建立一个 DAO

先访问 Aragon.org。(不用惊讶,Web3 的软件还是以 Web 的界面示人的,就跟互联网的入口「浏览器」终归也只是一个Windows 或者 Mac 上的一个应用程序一样)

第一步:选择创建一个 DAO,选择一个名字(为了省钱,可以使用测试链);

第二步:然后规定一下投票的基本准则,设定通过比例(参与投票的票的 50% 投“YES”,才可以通过),设定一下最小批准比例(所有持有的票的 15% 以上投“Yes”才可以通过),再设定一个投票期限(1 天之后投票结束)。

第三步:设定 Token 的名字和代码,再给自己发几个 Token。

第四步:按创建组织。

到这里,你的 DAO 就通过 DAO 软件(比如 Aragon)创立成功了。

如何创建一个DAO?看完这篇文章,你也能学会

自己创建的 DAO

其实,界面非常简单,几乎和 blog 的后台一样简单。不同的是,blog 用来写文章,DAO 软件后台,用来管钱的分配。

左侧的三个 Tab中,最重要的是 Finance。这就是 DAO 的小金库。

如何创建一个DAO?看完这篇文章,你也能学会

小金库的余额

小金库的转入和转出

向小金库里面转钱特别简单,点击「New Transfer」,选择「存钱」就可以了。任何人都可以随意往里面转钱,不需要批准,比如我就转入了 0.1 个以太币。

转出就麻烦了。如果点击「取钱」,比如我发起了一笔给自己 0.01 ETH 的转账,虽然刚刚 0.1 ETH 是我转进去的,但系统就提示,需要发起一个投票了。不是谁想转就能转出的。于是,一个名为「Finance: Create a new payment of 0.01 ETH to 0x7B77…60D5」的投票生成了。这其实就是自治组织的含义的来源:花钱大家共同决定。

如何创建一个DAO?看完这篇文章,你也能学会

因为我现在在组织建立的时候拥有 100 个 DAO 的 Token,也就是 100% 的投票权,我投了「YES」。在投票之后,不用等 1 天,已经达到了两个条件(超过总票数的 15%以及超过投票人的 50%),动议通过,DAO 账户也同时执行了 0.01 个以太币的转账操作。

这个投票的特殊之处在于,它和转账操作是连在一起的,也就是投票一旦通过,不需要出纳或者任何其他人,转账操作自动生效。

如何创建一个DAO?看完这篇文章,你也能学会

投票通过即转账,或许这就是 DAO 组织的最中心的,最重要的一个功能吧。

如果我们立刻冲到区块链浏览器上,就可以看到自己的账户下出现了一笔交易,就是调用了制定的智能合约的 vote 函数,函数传入的三个参数分别是:

如何创建一个DAO?看完这篇文章,你也能学会

也就是表达了,我这个账户,对于 0 号投票(转 0.01 个 ETH 的动议),投了赞成票,同时根据智能合约的设置,投票通过后,立刻执行了转账操作。

当然投票功能可以对任何其他的「信息性」的动议进行投票,不过只要不涉及转账(或者其他区块链上程序的执行)的投票,也没啥用处,因为不能在区块链上执行的任何决议其实都如社区的一张公告一样,仅有信息发布作用。

如果我们看一下一些比较像样子的 DAO 的动议,比如 Compound 的( https://compound.finance/governance/proposals/ )的,它的每个动议的行动内容都是这个样子的:

如何创建一个DAO?看完这篇文章,你也能学会

第 110 号动议

或者这个样子的:

如何创建一个DAO?看完这篇文章,你也能学会

第 82 号动议

这个是不是跟很多大家见到的 DAO 那种极富文采、感情丰富的动议不太一样?我把投票通过这样动议的组织称为 「DAO」,而把任何不指向智能合约的函数执行的动议,称为「过家家」。

加入更多成员

除了我一个人自娱自乐以外,我也可以在 Tokens 一栏里面,添加其他的人,给他们 发 Token,这样他们也有了投票权,可以共同决定资金的使用了。

如何创建一个DAO?看完这篇文章,你也能学会

Token 分发

如上就是以 Aragon.org 为例,非常简单地了解了 DAO 软件,并且对 DAO 如何运作窥见一斑。

如果你加入了一个 DAO 组织,但是没有见到过上面这样类似的界面,没有参与过这样的投票,十有八九你加入了一个假的 DAO。因为没有共同资金,没有在区块链上运行智能合约,你也不用有这个 DAO 的哪怕 0.0001 个 Token,恭喜你,你一定只是加入了一个 O(Organization),而不见的是一个 DAO (Decentralized Autonomus Organization)。

DAO 的定义

到这里,我冒着被所有人反对的危险,给 DAO 下一个定义,就是:基于投票方式执行智能合约函数的组织。

投票,体现了「自治」的原则。智能合约,体现了「去中心化」(我们在 Web3 世界里面言必称去中心化,其实,我觉得大家在大多数场合用这个词指的就是不可更改这个属性)。

注意:在这里,没有人保证投票是合理的,DAO 软件只保证一定会被严格执行,也就是哪怕最不合理的投票也会被严格执行。是否合理是由智能合约的约定决定的。

投票的结果,必然需要指向某个智能合约的某个函数的执行。我这个定义非常严格,是狭义上的 DAO 的定义。如果投票的结果,不指向智能合约上的函数执行,那么和普通的投票有任何区别呢?我们一直强调的 DAO 的一切的好处,比如自治,比如规则公开透明可被强制执行,都将因此灰飞烟灭。

关于 DAO 的几点澄清

DAO 的本质是一个组织。只要是人类组织,这么多年发展出来的组织形态都可以在这个组织里面继续。就如所有的新技术一样,DAO 是在人类组织上面增加了一层可能性,而不是一定需要替代什么。所以 DAO 里面如果设立经理,设置部门,设置考核,用传统的软件沟通、协作等,也不要奇怪。DAO 并没有一定要替代什么,而是在传统组织里增加了新的功能。

为了避免歧义,最后补充一件事情,不是 DAO 的所有的行为都需要用 DAO Software,更不是所有的行为都需要是基于区块链的投票,并且投票结果都需要直接触发区块链上的某个智能合约里面的某个函数的执行。但是,如果一个 DAO 组织里面不包含哪怕一个这样的行为,我们不妨就叫它「新型组织」就好,这个名字比「DAO」更加贴切。