智能合约和去中心化组织 - DAO 或者 DCO

学习

体验

蜂群

拼拼

LeanCode

智能合约和去中心化组织 - DAO 或者 DCO

在这篇文章,我尝试用浅显的语言解释我眼中的去中心化组织这个概念。要理解本文,你首先需要知道智能合约是什么,见“当我们说起智能合约,我们说的应该是什么”。


去中心化组织长什么样


很多微型的组织,都会把资金筹集起来交由专门人来管理。比如在一个业余足球队,队员们会把队费交给某个人统一管理,这个人我们就假设他是队长吧。队长把队费用在诸如租用比赛场地、购买球衣球鞋、设计球队 LOGO、甚至请拉拉队等方面。


在使用队费时,队长通常会先征求大家的意见,得到共识后,再行动。当然也不排除会有一些独裁型队长,但只要队员愿意接受这种独裁,这并不是问题。


如果一个球队在理念上希望集体共治,但是又担心队长把资金收集后,背信弃义、捐款潜逃,那该怎么办?有两个简单的方案:


第一个方案,不预先收集队费,每次队长要进行队费支付时,他先进行提案,队员们都同意了之后,再收集这次所需的费用。


第二个方案,是把队费交到另一个人手中。队长先进行提案,队员同意了后,另外那人才把该次费用交给队长,进行支配。


前者把风险降低到了单次费用的损失,但带来了效率问题。后者仅仅是把信任转移到了另外一个人身上。


此时,似乎智能合约,这个“刻板、无私、非常不智能”的机器人管家,能够帮到我们。


假设球队使用的是某种支持智能合约的数字货币(如以太坊上的以太币),队员们可以把队费支付到智能合约中,用我们的比喻来说,就是把钱交给一个机器人管家中。


这个机器人管家严格地记录有哪些人交了多少队费。这些人对队费的支配有发言权。


当队长希望购买一批高级训练设备时,他要向机器人管家提出这样的一个提案。


机器人管家收到提案后,它便开始接受投票。


队员把自己的决定告诉这个机器人管家。如果大部分队员同意了提案,投票便通过。至于多少赞成票才算是大部分,以及多少队员参与投票才算数,这些规则要提前告诉机器人管家。这个刻板的管家,可无法像人类一样通过意会就能理解知识。


投票通过后,购买训练设备的队费,便转到了队长手中。


我们还可以进一步设想,也许这个训练设备的供应商接受数字货币的支付。那这次的提案,可以改为,如果投票通过后,资金转到另外一个智能合约的账户中。这个合约的规则非常简单,它需要供应商和队长同时参与,才能过把钱取走(用技术一点的话说就是,需要供应商和队长的账号都对取款交易进行签名,才能够完成交易)


到这里,相信读者能够想象到一个去中心化组织可以如何通过智能合约来管理共有资产,并以此来支持组织运作了。


如果你对区块链技术的发展历史有所关注,大概会听过 2016 年的 TheDAO 事件。DAO (Decentrialized Autonomous Organization),翻译过来就是去中心化自治组织。


虽然由于代码的 BUG,导致 TheDAO 在四周内募集的价值一亿五千多万美元的以太币被盗,但是 TheDAO 极为激进的设计,仍然值得被认识。


TheDAO


TheDAO 设计的是一个通用 DAO 框架。框架的核心是一个 DAO 智能合约。让我们仍然以“刻板、无私、非常不智能”的机器人管家这个比喻,来指代智能合约。


任何人要加入 TheDAO,只需把以太币转给这个机器人管家。机器人管家收到以太币后,在自己的小本本上记录谁转了多少以太币过来,并且把一定比例新的 DAO Token 发给这个人。Token 依然是记录在管家的小本本中。


TheDAO 的内部资产就是这些大家众筹得来的以太币。但是没有任何一个人可以随意地支配它。


如果要支配 TheDAO 里面的以太币,需要某一个成员发起一个提案,这个提案包括 1)把多少以太币转到某个账户(代码),2)这些以太币将被用来做什么(声明)。当成员把提案交给机器人管家后,它便宣布大家可以开始投票。


投票阶段往往会有时间限制。在投票阶段结束后,机器人管家严格按照既定的规则,查看赞成票和投票人数是否都满足要求。如果满足要求,就直接执行提案中的转账操作。


在投票阶段,如果任何一个人,认为这个提案大概率会通过,但是他不愿意接受,可以在自己未投票时通过一种分裂操作,告诉机器人管家,“我退出,请把我的份额取出来重新建立一个 DAO”,来保护自己的权益不被多数人侵害。


TheDAO 的设计就是这么简单。被盗窃的原因不在于机制,而是代码上的 BUG。当然,这个设计机制仍然是有许多漏洞可以钻,但是这不在本文讨论的范围。


TheDAO 的设计展示了一个群体众筹自治的组织。群体可以通过自治的方式支配组织内部的资产,非常灵活,但是有很多的问题需要解决。对这些问题感兴趣的话,可以参考这篇论文(需自备天梯)。


既然这些问题难以得到解决,还有没有其他类型的去中心化组织,值得被考虑?


DAO vs DO vs DCO


这里我开始玩一些文字游戏。


如果我们把 TheDAO 的框架定义为狭义上的 DAO,其中 A 代表的是一种高度的自治,可以全权管理组织内的资产。尝试把这个 A 换掉,能不能设计其他类型的去中心化组织?


我们能否定义这样的一些组织,仍然去中心化,仍然有内在的资产,但是并没有任何高度的自治权可以随意使用或者直接支配的这些资产?


与 DAO 不同的是,对于这些内在的资产,这种组织有其既定的运作模式通过它们来创造价值。这些增加的价值可以让所有参与者受益。


维系这类组织运作的智能合约,便分成两种:

  • 一种是执行层面的,直接控制和保证组织的运作模式;
  • 一种是治理层面的,管理参与者的份额,并让这些人可以通过投票或者其他治理机制来调整运作机制的参数(毕竟智能合约是刻板的管家,有时候难免需要得到适当的调整)。


也就是说,参与者对组织在治理层面上的影响,仅限于投票影响它的运作机制,而不是任意支配资产。


这种类型的去中心化组织,也许我们可以把它命名为自治度没那么高的 DXO?如,DCO - 去中心化协作组织。


这种讨论很抽象,但我一时也举不出任何鲜活的现实例子来解释。那么就用一个科幻故事来收尾吧。


一个有点乏味的科幻故事


2046 年一个夏天的上午,你的车把你送到公司楼下后,就自己进入了停车场。


到公司刚坐下,你就收到了停车费扣费的通知。想起房贷的压力,你开始琢磨是不是应该让爱车分担一下家里的开支,加入到共享汽车的浪潮中,而不是在停车场浪费光阴。


你查了市面上的选项,有嘟嘟公司这种中心化的公司,也有咔咔有车这种去中心化的组织。拥有独立精神和自由人格的你希望爱车的付出和收获能够清晰明了,于是你开始仔细了解这两家公司,或组织。


嘟嘟公司的条款非常晦涩,而且解释权和决定权完全属于公司,令你感到丧气。咔咔有车则基于智能合约,作为二十一世纪四十年代的知识分子,你能够读懂这些合约的逻辑,加上出于对国家公链(国家提供的一种可靠的分布式账本)的信任,你知道这些智能合约能够被如实执行。


于是,你决定让爱车加入咔咔有车。


你的爱车非常聪明,能够完全地自动驾驶。它出厂之后就被设定了只听你的话,除非你让它听别人的话。当然,听谁的话,不听谁的话,谁能让它听谁的话,诸如此类的逻辑,都写在了智能合约里。同样,这些智能合约也是运行在上面提到的国家公链上。


签约时,你把爱车的控制权转给了咔咔有车的机器人管家(也就是智能合约)。还好,这类授权是有时间限制的,你可以把期限设定到下班时间,这样,爱车到时就可以来接你下班了。


为了回报你的这八小时的授权,咔咔有车直接奖励给你 8 KKC。 KKC 是咔咔有车上面流通的数字货币,咔咔有车的支付都通过 KKC 来完成。你很开心,因为你知道这个可以用于支付你的房贷。虽然你借贷买房时用的都不是 KKC,但是管它是怎么转换的呢。


很顺利,爱车一天下来给你赚了 15 个 KKC。


一天又一天,你心想,不如把爱车直接按年授权给咔咔有车吧。阅读它的智能合约,你发现整年授权是能够得到更高比例的 KKC 的。于是你开始了整年的授权,反正上下班通勤可以直接使用 KKC 来坐车嘛。


长期下来,收益还不少,于是你起了加大投资的念头。你买更多的车,让它们为你赚钱。甚至,你发现常用的咔咔有车 App 并不是特别好,手续费还收的不低。幸好,咔咔是一个去中心化开放的平台,天资聪颖且手头宽裕的你投资搭起了一个团队,开发出体验更加的 App,大受好评。


现在,不仅仅名下的六部车在为你赚 KKC,你还能从 App 上赚一些虽然很小额但是边际成本几乎为零的 KKC。


你发现深圳的天空真的很晴朗。


你搬到了一个更好的小区,邻居大哥也是有钱人,天天游艇高尔夫。周围的人都确实更加友善文明。


你的 KKC 越来越多,你开始把更多的注意力放在咔咔有车这个去中心化组织上了。你有了一种主人翁精神。你开始时不时重新阅读一下智能合约的规则,因为以不同的身份看时,你会发现一些之前没有关注到的细节。


比如,你开始整体地关注 KKC 的发行和销毁机制。


你注意到了两条逻辑,用人话读出来大概是这样:

  • 每年的新 KKC 的发行,等比例于当年的车辆的在线时间总和,直接发给提供车辆的人;
  • 任何人乘坐车辆时,用于乘车的 KKC,有 20% 将会被销毁,80% 支付给车辆提供者。乘车的价格,等比于时长,实际价格由当时的供需动态决定,计算公式略去不表。

销毁的意义在于让全体的 KKC 持有者收益。每年如果在线车辆很多,乘车人也很多的话,KKC 有发行有销毁,不会有太多增长,价值能够保证。如果在线车辆很多,但是乘车人很少,KKC 发行很多,价值会降低。


这些逻辑都似乎都很合理。


但是你根据过往乘车价格的统计数据仔细计算后,发现不对,按照这个销毁比例,KKC 在持续减少,换句话说,现有持有者可以从价值上涨获得很大的收益,但这种情况对于咔咔用车的未来并不是一件好事。


你还发现,隔壁那胖哥们原来就是因为很早持有了大量 KKC 才能如此惬意地享受财富带来的美好。


你开始觉得这个新的小区人情冷漠,也并不是那么可爱。


饱含主人翁精神而且精通经济学的你,施展浑身解数,尝试各种模型,得出一个结论:从乘车人支付的 KKC 销毁 13% ,对于整个咔咔用车的运作是最好的。


但是怎么改变这个参数呢?


对咔咔用车的所有智能合约了然于胸的你自然知道,你需要获取更多的 KKC 持有者的支持,来通过投票改变它。


于是你开始向大家推广你的模型....


(完)


关于 Token 机制的补充


关于上面那个假想的 KKC 的发行机制,大家只要看个意思就可以,千万别当真,这只是我花了十分钟捏造出来的,完全为了情节需要,没有考虑逻辑的严谨。Token 设计是一个大工程。在未来的文章中,应该要专门探讨这个话题。