当你发现类似上述情况时,可能会指出对方的误区并因自己揭开了某个伪君子的面具而引以为豪。是,这么做有时候的确没错。在我看来,将碳排放税视为国家干预主义、而将政府为产权执法视为对自然法的维护,这是一种谬误。同样错误的观点还有,认为我们应该补偿矿工,因为他们是为维护区块链安全而辛勤付出热力学工作的劳动者,而给改进区块链代码的开发者补偿就成了「印钱」。
但即使将人的直觉系统化的尝试常常误入歧途,类似这样的深层道德直觉也并非毫无价值。在这种情况下,我认为有一个很重要的原则在发挥作用,该原则很可能会成为我们建立起高效、以自由为导向、公平而包容的组织的关键,使我们能影响并管理我们生活的方方面面。这个原则就是:在建立能够决定高风险成果的机制时,这些机制保持值得信赖的中立性(credibly neutral)极为重要。
机制是算法和激励的组合
首先,什么是机制?本文中,机制一词的意义类似于这篇关于机制设计的博弈论文献:从根本上说,一种机制就是一个算法搭配上不同的激励。机制是一种工具,将从不同个体处收到的输入用来确认这些参与者的评价,最终做出人们关心的一个决定。一个行之有效的机制,其决定是高效的,且与激励兼容。高效则意味着该决定是给定参与者偏好的前提下最好的结果,与激励兼容则意味着人们有动力「诚实地」参与其中。
我们很容易能举出各种机制的例子,比如说:
私有财产权及其交易。这里的「输入」指的是人们可以以捐赠或者交易的形式变更所有权,而「输出」就是一个(有时是有正式凭证的,有时只是隐含的)包含谁有权决定如何使用某个物品的数据库。该机制的目标是鼓励人们生产出有用的物品,且把它们交给能最大限度利用它们的人手上。
拍卖。「输入」是叫价,「输出」决定谁能获得在售标的,及买家需承担的价格。
民主。「输入」是选票,「输出」决定谁能在被选出的政府中控制多少席位。
点赞、踩、喜欢和转发等社交媒体功能。「输入」就是这些点赞转发等等,「输出」决定谁能看到什么内容。博弈论维护者也许会说这只是一个算法,算不上是机制,因为这里没有体现内置激励,但未来的版本中很可能就有了(而且以前的版本里就有,参见Slashdot的元调节机制)
区块链——工作量证明与权益证明中的激励奖励。「输入」是参与者生产的区块与其他资讯,「输出」决定网络最终接受哪条链是合法的,奖励用来鼓励「正确的」行为。
我们正在进入一个高度网络化与中介化的高速发展的资讯时代,中心化机构正在失去公众的信任,人们在寻求改变。不同形式的机制是我们智能地集中群众智慧的方式,也将这些智慧从以往出现过的非智慧部分中筛选出来。这在人们的互动形式中将变得越来越重要。
值得信赖的中立性是什么意思?
现在我们来谈谈这个无比重要的概念,值得信赖的中立性(credible neutral)。从机制设计方面简单来看,如果某个机制并不歧视或针对某些人群,我们就可以说这个机制具有值得信赖的中立性。该机制公平对待每个人,以至于在一个人人能力与需求都不尽相同的世界里,它也能公平对待每个人:
「挖出一个区块即可获得2ETH」就具有值得信赖的中立性;
「Bob 获得了1000 个代币因为他写了很多代码,我们应该奖励他」并不具有该性质;
「任何被五个人踩的帖子都不予显示」也是可信中立的;
「管理员团队认为其实蓝眼睛人群的帖子都不予显示」并不具有该性质;
「政府对于任何发明创造给予20 年的有限垄断权」可以说是可信中立的(问题在于很难确定如何定义什么样的发明才符合标准);
「政府认为治疗癌症非常重要,所以他们成立了一个委员会来管理10 亿美元的资金以资助尝试治疗癌症的人们」并不可信中立。
当然,中立性永远不可能是完整的。区块奖励机制有利于那些能获取硬体以及廉价能源的人;资本主义机制有利于集中的利益和富人,不利于穷人与极度依赖于公共物资的人;政治话语不利于任何站在社会期望偏差反面的人。而且,任何对协作失效加以调整的机制都必须先对那些失效有一番假设,因此不利于被低估的失效之处。但这一切都无法贬低某些机制比另一些要中立的事实。
这也是私有产权如此高效的原因,并不因为其为天赋人权,而因为其值得信赖的中立性,得以解决许多社会问题,虽不能解决所有问题,但也足够多了。这也是为何按热度过滤资讯是可以接受的,但以政治意识形态来过滤就很成问题,我们更容易同意,一个中立的机制会公平地对待每个人,而说服不同群体都同意将持有某些政治观点的人放上黑名单并不那么容易。这也是为什么直接给开发者奖励看起来比矿工奖励要令人生疑,我们很容易去证明谁是矿工而难以证明谁是开发者,且在实际操作中,试图证明一个人是开发者容易陷入个人偏好的指控中。
注意,我们并不只需要中立性,而是值得信赖的中立性。也就是说,仅仅让机制设计不偏向特定人群或特定结果是不够的,我们还需要该机制能够说服一个足够大且多样的群体相信,该机制在努力地实现公平。类似区块链、政治体制与社交媒体这样的机制都是为方便不同群体协作而设计的。为了让一个机制可以真正地充当这样的共同基础,所有机制参与者都必须看到机制的公平性,同时也要看到其他的参与者也都知道这一点,因为所有参与者都希望能确保其他人不会第二天就放弃了。
也就是说,我们需要一个类似在博弈论中的「共同知识」的概念,或者用一个不那么数学的说法,对合法性的广泛共识。要实现这样一个中立的共识,机制的中立性必须非常明显,明显到即使在敌对一方虚假宣传该机制有明显偏向性、不值得信任时,让教育水平不高的人都看出其公平性。
建立可信中立的机制
以下四点是建立一个可信中立的机制所需的基本原则:
1. 不将特定人群或结果写入机制
2. 开源且执行过程可以公开检验
3. 保持简洁
4. 不要经常更改
第一点很容易理解,再回头看我们之前的例子:
「挖出一个区块即可获得2ETH」就具有值得信赖的中立性;
「Bob 获得1000 个代币」并不具有该性质;
「帖子被踩得多可见度就下降」也是可信中立的;
「针对蓝眼睛人群的帖子可见度下降」并不具有该性质
因为「Bob」是一个特定的人,而「针对蓝眼睛的人」是一个特定的结果。当然,Bob可能是个非常棒的开发者,对区块链项目的成功举足轻重,值得获得奖励,而针对蓝眼睛人群的想法当然是我(希望也是你)不愿意看到的。但在设计可信中立的机制时,我们的目标是不把想要的结果直接写进机制里,而是让参与者的行动来逐步揭开它。在自由市场中,查理做出来的小工具没有用而大卫的有用是通过价格机制的变化体现出来的。最终,人们不再买查理的工具,他就破产了,同时大卫可以获得更多的利润,进而生产更多的工具。输出中的大部分资讯应该来自于参与者的输入,而不是硬写入机制中的规则本身。
第二点也很好理解,该机制的规则应该公开,而且人们应该可以公开检验规则是否正确执行。有一点需要注意的是,在很多情况下,我们并不希望输入和输出本身被公开,这篇文章详细解释了为什么保持高度私密性(甚至你自己都无法证明自己的参与方式)是可取的(编者注:中译本见文末《论共谋》)。而我们有幸能够将零知识证明与区块链技术结合起来,同时获得可验证性与私密性。更多可参见此处。
第三点,简洁性这个概念反而是最不简单的。这篇以「中央计划导致过度拟合」为题的文章深入论述了很多论点,我在此总结一下。一个机制越是简洁,参数越少,就越没有偏好或歧视某个目标群体的操作空间。如果某个机制有50个参数以复杂的方式相互作用,那么你就很有可能找到某个参数来实现你想要的特定结果。但如果某个机制只有一两个参数,达成上述结果就非常困难了。你也许能给比较宽泛的群体(比如蛊惑人心的政客,富人……)制造特权,但你无法针对一小撮人群,而且随着时间流逝,你对达到某个目标结果的控制会越来越低,因为你能够获利的时间点B离创建机制的时间点A越远,它们中间的「黑匣子」就越大,越无法控制。
这就为我们引入了第四点,不要经常更改机制。改写机制是件复杂的事情,而且也会将「黑匣子」的时钟归零,重新给予你调整机制的机会,同时你还可以运用你对系统最新状况的资讯(比如不同群体所在的特殊位置与对机制的不同调整导致的不同影响等)来偏袒你特定的朋友,针对你的敌人。
不光是中立性,有效性也很重要
我在本文开头提到过的一种该意识形态的极端主义谬误,是一种极端中立主义:如果某事无法完全中立,那就不要做了。该观点的谬误在于它为了达到一种狭义的中立牺牲了广义的中立。比如,我们可以保证所有矿工的回报都是一致的(每挖出一个区块获得12.5 比特币或者2 以太币),而且所有开发者的回报也都一致(除了大家的感谢,并没有金钱回报) ,但这导致给予开发者的激励与挖矿相比高度缺乏。最后20% 的矿工对于区块链成功的贡献不可能比开发者要大,但现在的奖励机制似乎正是这么暗示的。
更广泛来说,社会上有许多需要生产的东西:私有物品、公共物品、准确的资讯、良好的政府决策、一些对我们现在不重要但对未来重要的物品,等等。我们更容易为这其中的一些物品打造可信中立的机制,另一些则不那么容易。如果我们采用毫不妥协的纯粹的中立,只接受极端可信中立的机制,那么我们只能够解决一部分容易建立起这类机制的问题。而我们群体的其他问题则得不到任何系统性支持,这也是广义的中立性遭到抑制之处。
因此,可信中立性的原则也必须以另一项原则加以补充,有效性原则。一个好的机制必须能够解决我们事实上关心的问题,这也就意味着最具可信中立性的机制的开发者也应当从善如流,因为很可能一个机制高度可信中立,同时也很糟糕(专利制度就是其中一员)。
有时,这甚至意味着如果对于某个问题,我们还未找到一个可信中立的机制去解决,我们应该先在短期内采用一个不完美的中立机制。区块链中的预挖矿和有时限的开发者奖励就是这类例子,用中心化的方法来检测代表一个个体的帐号并过滤掉其他(机器人帐号)是另一个例子。但我们还是要认识到值得信赖的中立性对我们而言非常宝贵,我们应该不断努力地向它靠近。
如果有人对于不完美的中立机制可能导致的失信或者政治立场的捕获有所担忧,我们可以采取一些「防故障的(fail-safe)」方法来实现该机制。比如,你可以直接用交易手续费来资助开发者(而不是增发货币给他们),打造自己的「谢林栏」来限制开发者能筹措到的资金。你也可以增加时间限制或者「冰河期」,使奖金随着时间流逝消失,需要手动更新。你还可以在Layer-2中实现该机制,比如用一个Rollup合约或者以太坊2.0执行环境,他们都能实现网络效应锁定,而且一旦该机制失效,大家可以协同放弃它。当我们听见它可能崩溃的意见时,我们可以改进自由退出机制来缓解风险。