洞见 | 王博:链上治理的缘起、设计与优缺点

Ajian   |     |   817 次阅读

编者注:本文为“洞见”第三期活动王博的演讲整理稿。在演讲中王博梳理了链上治理的思路演讲,并给出了多个链上治理的实际案例,最后分析了链上治理可能存在的问题。

链上治理的缘起、设计与优缺点

公有链的治理其实不是最近才提出来的话题了,早在 2016 年就有人开始提出这个问题;但坦白说,治理问题其实非常非常地难,所以到现在也没有大家普遍认可的答案。当然我也没有现成的答案,我比较希望能够用这个演讲带大家看看现有的案例和设计。

公有链治理机制的演进

The DAO 与链下治理

我们先来说说著名的 The DAO 事件。The DAO 是一个去中心化自治组织,它的初衷是用来投资,就是大家把钱汇到一个合约里,汇成一个资金池来共同投资一些项目。The DAO 融资的时候(2016 年)融到了 1150 万个 ETH,当时 ETH 总发行量才 7000 万个,等于接近 15% 的 ETH 都锁到了 The DAO 的合约里。

但 The DAO 出了个什么事情呢,它的合约有一个漏洞,有一个黑客就利用了这个漏洞,盗走了合约中大约 30% 的资产。于是大家就面临一个问题,到底应该怎么处理这个问题。当时社区中很多人主张 Code is Law,代码就是法律,代码写错了就是写错了,所以不应该通过强制的手段找回;但也有很多人认为,这就是一个盗窃事件,就应该通过硬分叉的手段物归原主。

当时中国社区的开发者 Daniel 写了个名叫 CarbonVote 的投票合约,用代币投票来收集用户的真实意见。结果发现参与投票的人中 80% 的代币都投给了支持硬分叉,这还不包括那些 The DAO 用户的意见,因为他们的代币都锁在合约里,没法投票。后来这次投票被誉为“人类历史上第一次虚拟国家全民公投”,橙皮书有篇文章专门采访了 Daniel 、详尽地回顾了整个过程,值得一读。

那么这件事情体现了什么呢?一,在这种模式中,最终选择权仍然在用户手中。当时决定要硬分叉之后,节点客户端更新,它有一个明确的提示和按钮,询问用户要不要打开硬分叉开关,如果不打开,用户就会留在原链上;二,社区领袖还是具有比较强的话语权,在 The DAO 事件中,Vitalik 是支持硬分叉的,因此大家比较容易就达成了共识。后来 Parity 多签名钱包也是出了问题,也是锁了价值几千万美元的币,但因为 Vitalik 没有表示支持,这事也就不了了之,那些币现在还锁在那,不可能取出来了;三,社区意见未必是用户意见,最开始社区论坛大家一面倒反对分叉,实际投票结果却令人大跌眼镜,说明沉默的大多数的态度和 KOL 可能不一致。

所以呢,在这种模式里,我们会看到互相博弈互相制衡的三方。开发团队是规则制定者;矿工是规则执行者;用户是规则监督者。三者通过治理机制达成一致推进系统更新,如果三者意见一致,系统就能顺利更新,一旦出现不一致,则导致硬分叉产生。

这个过程,没有谁有最终决定权,都是相互博弈。开发者也不能最终说了算,矿工也不能。

因为这个过程充满了不确定性,可能会产生很多摩擦,有人就开始设想别的治理模式。

Tezos 自我修正机制

Tezos 的卖点之一就是具有自我修正机制。具体来说,Tezos 要升级的代码会先提交到代码库中,但不启用;然后是链上对代码更新进行投票,如果通过则自动采纳更新,无需手动升级。其是这才是链上治理的最初定义。不是说在链上发生的过程就叫链上治理,而是说,网络升级的过程是完全在链上用一套自动化的机制完成的

在 Tezos 上,无需硬分叉即可完成升级(自动修复),要更新的代码连续投票通过则部署上测试网,测试网上连续投票通过则部署上主网。关于投票权,Tezos 还做了一些限制:首先是用权益,即币的数量来确定投票权,这是一种抗女巫攻击的措施,如果每个地址无论有没有币都有投票权,那分分钟都可以生成出无数个地址来投票;其次,在初期,基金会具有否决权;还有,投票率要达到 80% 以上才算是有效投票。

有了这种链上治理的形式,Tezos 就有了一种直接民主的感觉,就是全民投票,因为要达到 80% 以上的投票率才算有效投票。但这种直接民主的模式,从人类的历史来看,至少是有缺陷的,所以我们才产生了代议制民主。Tezos 好像也可以做代议制,但它的设计还是相对比较简单的。

Polkadot/Substrate 链上治理的集大成者

到目前为止,我看到的最完善的链上治理是Polkadot,在这里我单指的是链上治理,EOS还有一部分链外治理。

简单介绍一下,Referendum 就是全民对提案表决的意思,这是提案通过的最后一个步骤;在提案的提出上有三种方式,最后一种我这里就不讲了,那么前面有两种提出提案的方式:(1)通过议会来收集提案,然后在议会内部先做一次表决,如果议会内部是百分之百同意这个提案,那这个提案就会被提到全民表决大会上,并且,在这种情况下,全民表决中那些不投票的人就会被默认为是投了同意票,这也就意味着如果所有人都不投票,那该提案还是会通过;如果议会内部超过百分之五十的人同意某提案,那么就会严格按照全民表决的方式投票;如果这个数值是少于百分之五十,那就不会被提出来说了;(2)为了防止议会被财阀垄断的风险(即反抗财阀的议案可能根本不会被提出来),Polkadot 设计了一种专门让大众提出议案的池子,隔一段时间就会从中拉出一个提案,然后让大众来表决;具体的操作方法是,在一段时间内,任何人都可以往里面塞提案,如果你认可某个提案,你就可以把你的币抵押在里面,支持该提案,然后在这段时间内得到支持最多的提案将会进入全民表决,当然表决的过程中也是需要超过半数的人同意。

此外它还有一种设计,就是在提案通过以后会有一个冷静期。比如说,有可能一些非理性的提案由于种种原因它还是通过了表决,但是这样的提案可能会对整个社区造成很大的伤害,所以在提案的执行步骤的时候有一个冷静期,在这个冷静期内如果所有的议员都明确表示反对,那么这个议案就将会被空置。所以议员还具备了看护的作用。

议员本身是有两年的任期的,到了换届的时间点,候补议员中得票最多的会自动增补为议员,所以整个的治理机制是两年为以周期的。

这是我目前看到的,链上治理的最完整的一个设计。但是,最完整不代表一定是最好。

EOS 链外+链上治理混合方式

下面说说EOS,EOS其实是链上链外双重混合的治理模式。首先,用户来投票选出21个超级节点,超过三分之二加一个节点同意,就可以获得最高权限(最高权限就是可以干各种各样的事情,比如把你的帐号冻结之类的),这其实是一种链上治理。

另外还有一个链外治理,就是 EOS 的仲裁法庭 ECAF。ECAF 其实是一个论坛,论坛之上有一个公约(或者叫宪法),该论坛的运行规则是必须要符合该公约(这个公约是怎么来的,我不是很清楚);论坛里的仲裁员,任期是180天,到期之后再由全民投票后上任,在论坛里活跃超过半年的社员才有资格提名仲裁员。ECAF 的仲裁结果会在 Steamit 上公布,用作存证。所以这部分和链基本没关系,是链外的一套机制。

最有意思的是,这个仲裁的结果不一定能得到支持,每一个超级节点需要认同并且执行这个结果才能真正产生效果。目前为止好像没有明确听到哪一次仲裁结果 BP 是不执行的,但我们确实听到了一个案例,就是某个 BP 自称收到 ECAF 的信息晚了,没有执行 ECAF 的决议,导致一个需要被冻结的黑客账户还是把资金转走了。所以 ECAF 是一个看起来权力很大,实际上又没有很多强制性权力的机构。然后你会发现在做整个过程中,普通用户的话语权非常弱;在 PoW 中全节点可以拒绝更新客户端,拒绝更新代码,但在 DPoS 中,你说不爽现任 BP,要退出这条链,他能哪儿去?所以这个问题并没有看起来那么简单。

EOS 实践中的问题

EOS 在实践中出现了很多问题。

第一是贿选的问题,当时在竞选21个节点的时候就出现过某交易所想要接受贿赂的事件,因为交易所持有大量EOS,然后普通用户会发现其实自己的投票根本微不足道,对用户来说投哪个都没什么区别,很多短视的用户就会选择给“好处”多的那个;

第二个问题是超级权限导致权力的中心化,我们在最开始的时候讲了,区块链最大的价值在于资产的所有权是牢牢掌握在私钥的所有人手里,相比于传统的互联网技术,这是区块链之所以成为革命性理念的原因之一,在过去,从来没有出现过哪项技术或者某个解决方案能够让资产所有人百分之百掌握自己的权利,传统的资产如黄金、房地产等都不是由所有人百分百掌握的,所以一旦出现你的账户可以被冻结,这种价值就不存在了;当然也有好处,好处就是丢失的币可以找回来,但是如果不是丢失的,是恶意行为导致账户冻结从而资产找不回来了,其实这是很大的风险,这意味着所有权不是百分之百属于你个人的,这就把区块链的核心优势给打没了。

第三个问题是投票门槛高。绝大多数链上投票都是需要把币锁定的,其实这个时候用户是要付出抵押的机会成本的,这个机会成本之前在EOS里面是不太明显,但是现在你会发现你可以借币来帮你做抵押、来买你的cpu,这也就意味着抵押这件事情实际上是能产生价值的,换句话说,我投票的时候我不仅为这个系统做了投票的贡献,还是从我兜里掏钱给系统做贡献,这个门槛是很高的,很多用户就不明白为什么要去做这件事情。另外,我的影响力很小,规则又很复杂,之前投节点的时候,最开始是默认 1 币 1 票,后来曾经到过 1 币 5 票,1 个 EOS 可以同时投给 5 个超级节点,后来又改成了 1 票 30 投。

最后一个问题是“宪法”随意性大。开发团队对宪法的影响力巨大,尤其是 BM。

链上治理的优缺点分析

以上这些是我们看到现在一些项目链上链外治理的模式,那么接下来我们分析一下链上治理的优缺点。

链上治理的优势

链上治理的优势很明显。首先,它能够确保整个流程是透明公开的,整个治理流程是可审计可追溯的,然后,一旦达成决策,任何人都无法阻止其执行。这跟链外治理是很不一样的,在链外治理中,开发者同意了,矿工可以反对,用户也可以反对,达成决策的效率很低。但是链上治理是一旦达成决策就没有人能阻止执行。

然后,除此以外,你可以做很多现实生活中无法做的民主实验。一人一票制在链上很难做,需要 KYC,否则的话有人可以生成很多个账户来投票。现在主要是一币一票,你持有1个币你就有 1 个投票权,你有 100 万个币,你就有 100 万个投票权;那么你可以想象这就变成了一个富人控制的社区,这听起来很不友好;但是如果每个人都是 1 个投票权,那富人也会有意见了,我的币占了这么大的份额,如果这些穷人联合起来投票把我的钱分了怎么办?这时候就有人提了一个“二次方投票”,就是你有 1 个币可以投 1 票,如果你想投 2 票,就必须要有 4 个币,你投 3 票就需要 9 个币,这就意味着你虽然很有钱,但是如果你要将提案往上提的时候,你的投票权不是和你的财富成正比,这样你的权重就不会比普通人多很多,这样相对来说会好一些,但这个也需要做 KYC。还有种算力投票,不是用币来决定投票权,而是矿工用POW计算,算出来的数越小,说明你的算力越大,投票权重也越大,这也是一种方式,但目前为止我还没看到实际案例。还有一种比较特别的,就是 Futarchy,这个是类似预测市场,我认为未来应该是这样的,所以我建议大家应该这样做,但是如果我做错了,我要接受惩罚,如果我做对了,会得到相应的收益;就是在决策之前先压部分币,在决策之后,如果达到了我所承诺的结果,那么我就会得到额外的收益,这是用经济激励的方式来做决策。

这些投票方式,很多都是在现实生活中都不存在,但是由于在区块链上由于智能合约的存在、由于 Stake holder 是公开的,所以可以实现。

还有非常有意思的一点,这个是 Gavin Wood 说的,他支持链上治理:一个 Web3.0 的系统压根就不该用 Web2.0 的平台来治理。都 Web3.0 了你们怎么还在用论坛来治理?是不是感觉乍一听好像很有道理,但是仔细一想又好像没有任何道理?

链上治理的问题与对策

当然,链上治理其实有很多问题。首先,投票的成本很高。这个刚刚讲了,抵押代币是可以产生收益的。然后投票率很低,当然这不单单是链上治理的问题,包括美国大选也是如此,那么怎么办呢?所以我们需要流动性民主,我可以把我一定比例的投票权委托给 A,一定比例的投票权委托给 B,让他们来投票做决定,这个投票权是动态变化的。

其次是交易所有了额外的权力。因为交易所里币很多,用户不拿出来投票,交易所可以自己拿去投票。应对方法就是把交易所拉进黑名单。

最后一点是寡头政治。我就是有大量的币,我投谁谁就上,这是毫无办法的。

链上治理深入分析

以上是浅层的分析,下面我们再做一个深入的分析。

第一,我们反复强调投票人,到底谁能投票,有币的人投票,按照他stake的比例,要么是一比一的投,要么按二次方的比例投,但是问题是,究竟谁算是stake holder?

这不是字面意义上说的,我有你的币我就是,非持币人是不是就不应该参与决策呢?就像有人问过这样的问题,Facebook 整个产品的设计和优化是不是不用听用户的反馈,只要股东的反馈就可以了?Gavin Wood 是这样回答的,就应该是这样的,Facebook就应该只听股东的,你要是不爽你要么买 Facebook 的股票成为股东,要么你换个别的用。我这里想说的是,stake holder这件事要是仅限于coin holder 确实是有问题的,否则你会得出荒谬的结论。

第二,矿工被剥夺了政治影响力。过去矿工是有权力的,开发者是规则制定者,然后矿工是规则的执行者,然后你会发现,在链上治理中,规则的执行者的影响力没了,我不知道这是好事还是坏事,至少确实和以前是不一样了。

第三,普通用户也被剥夺了政治权利,这个用户指的是全节点用户。以前全节点的用户可以选择不升级这个全节点,那所有人都follow老的这条链,就否决掉了更新。现在有链上治理,老的这条链就没了,你怎么follow?所以普通用户也被剥夺了权利。其实 token holder 和 user 的利益往往不一致,我们就以以太坊为例,token holder 是希望以太坊的收费越来越高,交易的人越来越多,gas price越高,eth的需求量越大,那eth的价值就越高;但是user的需求是说,你这个平台的费用越低越好,EOS多好,速度又快又便宜。利益在这个点上是不一致的,如果以太坊使用链上治理的话,普通用户的权利就会被剥夺,会因为这种种原因导致价格越来越高,那就没人用了,而且高是虚高,迟早要崩的。

第四,链上决策必然引入极大的风险。一旦代码出现了错误,你是没法纠错的。

硬分叉是终极自由

硬分叉其实是一种很大的自由,是 Web3.0 区别于 Web2.0 的重要维度。我们现在用的微信、Facebook,都是 Web2.0,它导致了数据和资产的强中心化。你的数据、资产和社交关系全都在中心化的服务器里。强中心化必然导致审查,即使国家要保护你的自由,商业公司也未必会放弃审查;即使公司领导不这么想,执行的人也未必。你使用 Web2.0 服务越多,就越难以逃避 Web2.0。

那区块链好在哪?你要是对平台不满,你可以拉一波人,Fork。所谓 Fork,不是说我增加了一种稀有资产,而是你可以毫发无损地离开平台,你的数据、人际关系、资产,都可以保留下来。链上所有的数据,你都可以原封不动地保留下来。这件事情在 Web2.0 上是不可想象的。

最后,分叉是普通用户对抗开发者、矿工等服务方的终极武器。开发团队再牛、矿工再强大,如果我不认同你们,我就可以 Fork,我也不会有任何损失。

这个时候,我们会发现一个内在矛盾,也是我想让大家思考的问题:链上治理诞生的最重要的目的是避免分叉,可是,一条永远不会分叉的链还存在自我完善的动力吗?


作者: 王博

 
0 人喜欢