作者:Vitalik Buterin
原文:https://vitalik.ca/general/2020/09/11/coordination.html
翻译:安比实验室
「协作」—— 一大群行为者为其共同利益而共同努力的能力——是宇宙中最强大的力量之一。它体现在:一个国王采用压迫性独裁来舒适地统治一个国家,而另一方面人民却可以起来并推翻他。它体现在:一方面任由全球气温上升3-5°C,另一方面当气温上升一点时,我们可以通过一起努力阻止气温继续上升。协作是一种让公司、国家和任何有一定规模的社会组织能够正常运转的关键。
协作可以通过很多方式来改善:更快的信息传播、更好的规范以确定哪些行为被归类为作弊行为并处以更有效的惩罚、更强大或更有力的组织、工具如智能合约,允许低信任度场景下的互动、治理技术(投票、股份、决策市场......)、以及更多。而事实上每过十年,我们都能在协作问题方面有所进步。
但协作也有一个哲学上非常反直觉的黑暗面:虽然「每个人都与每个人协作」比 「每个人都为自己」的结果要好得多,但这 并不意味着 每个人都向更多的协作迈出一步就一定有益。如果以一种不平衡的方式提高协作性,那么结果很容易是有害的。
我们可以把这个问题在一张地图上呈现,不过实际上这张地图有很多很多的 「维度」,而不是画出来的两个。
在左下角,「每个人都为自己」,是我们不希望出现的地方。而右上角,「完全协作」,这很理想,但很可能无法实现。但位于中间的广袤地带,则远不是一个平缓的上坡,这里有很多合理安全且有成效的地方,可能是我们理想的安身立命之所,并且能避开很多幽深黑暗的深坑。
注:Hobbesian 霍布斯主义,认为人性的行为都是出于自私,社会是一种无限制的、自私而野蛮的竞争情况。出自 『利维坦』一书,作者 Thomas Hobbes,十七世纪英国政治哲学家。
现在哪些是危险的「部分协作」形式,即有人与特定群体协作,却不与其他人协作,从而导致陷入深渊?最好用例子来说明:
一个国家的公民在战争中为了国家的利益而英勇牺牲... 而这个国家是二战时期的德国或日本
游说者向政治家行贿,以换取政治家采纳该游说者的倾向性政策。
有人在选举中卖出自己的选票
市场上所有的产品销售商同时串通涨价的行为
某区块链大型矿工勾结发起 51% 的攻击
在上述所有的案例中,我们看到的是一群人走到一起,相互合作,但却极大地损害了协作圈外的群体,从而对整个世界造成了实质性损害。在第一种情况下,所有人都是上述国家侵略的受害者,他们是协作圈外的人,并因此遭受了巨大的损失;在第二种和第三种情况下,是被腐蚀的选民和政治家所做的决定所影响到的人;在第四种情况下,是客户;在第五种情况下,是没有参与的矿工和区块链的用户。这不是个体对群体的叛变,而是一个群体对更广泛群体的叛变,这往往是整个世界。
这种局部协作通常被称为 「串谋」,或「勾结」,但需要注意的是,我们所说的行为范围相当广泛。在正常的语境中,「串谋」一词往往更多的是用来描述相对对称的关系,但在上述案例中,很多具有强烈不对称特征。即使是勒索性的关系("投我喜欢的政策一票,否则我就公开揭露你的外遇")也是这种意义上的串谋形式。在这篇文章的其余部分,我们将用「串谋」(或「勾结」也许更合适)一词来泛指这类 "不受欢迎的协作"。
评估意图,而不是行动(!)
特别是较轻的勾结案件的一个重要特征是,人们不能仅仅通过观察行动本身来确定一个行动是否属于非预期的串谋。原因在于,一个人所采取的行动,是这个人的内部知识、目标和偏好与外部强加给这个人的激励因素共同作用的结果,因此,人们在串谋时采取的行动,与人们自愿采取的行动(或以良性方式协作)往往是重叠的。
例如,考虑卖家之间勾结的情况(反垄断违法行为的一种)。如果是独立经营,三个卖家可能各自将某种产品的价格定在 5 元到 10 元之间;范围内的价差反映了卖家的内部成本、又或薪水意愿不同、供应链问题等因素。但如果卖家串谋好了,他们可能会把价格定在 8 元到 13 元之间。 再次,这个价格范围反映了关于内部成本和其他难以看到的因素的不同可能性。如果你看到有人以 8.75 美元的价格出售该产品,他们是否做错了什么?在不知道他们是否与其他卖家协作的情况下,你无法判断! 制定一项法律,规定将该产品卖到 8 美元以上不是个好主意,也许目前价格必须高的原因是合理的。但制定一部反对串谋的法律,并成功执行,就会得到理想的结果——如果价格必须要那么高才能覆盖卖家的成本,你就能得到8.75美元的价格,但如果推动价格上涨的因素自然很低,你就得不到这个价格。
这一点在贿赂和贩卖选票案中也适用:很可能有些人合法地投给「橙党」,但有些人投给「橙党」是因为他们被收买了。从决定投票机制规则的人的角度来看,他们并不提前知道橙党是好是坏。但他们知道的是,一个选民基于内心真实感受的投票,效果还算不错,但一个选民可以自由买卖选票的投票,效果却非常糟糕。这是因为贩卖选票是一个「公地悲剧」:每个选民只从正确的投票中获得一小部分利益,但如果他们按照贿赂者的意愿投票,就会获得全部贿赂。于是吸引每个选民所需的贿赂,会远远小于实际补偿民众为贿赂者想要的任何政策所付出的代价。因此,允许贩卖选票的投票很快就会崩溃成财阀统治(Plutocracy)。
理解博弈论
我们可以进一步深入,从博弈论的角度来看待这个问题。在注重个人选择的「博弈论」版本中——即假设每个参与者都 独立 做出决定(不允许出现 “代理人群体” 为其共同利益工作的可能性)的版本存在数学证明:任何博弈中都必须存在至少一个稳定的纳什均衡。事实上,机制设计者有非常大的自由度来 设计 游戏以达到特定的结果。但在允许联盟合作(比如「串谋」)可能性的博弈论,称为「合作博弈论」的版本中,我们可以证明:有一大类博弈没有任何稳定的结果(称为「核心」(博弈论术语:Core))。在这类游戏中,无论目前的情况如何,总有一些联盟可以从中获利地背离它。
注:这个结论被称为 邦达尔瓦-沙普利定理(Bondareva–Shapley theorem)。
该类内在不稳定的博弈集合中的一个重要部分是「多数派博弈」(Majority Games)。多数派博弈被形式化地描述为代理人的博弈,在这种博弈中,超过半数的代理人中的任何一个子集都可以获取固定的报酬,并将其分给自己—— 这种设置与公司治理、政治和人类生活中的许多其他情况诡异地相似。也就是说,如果有某种固定的资源池和某种目前既定的资源分配机制的情况下,51% 的参与者 不可避免地 密谋来夺取资源的控制权,无论目前的配置是什么,总会出现一些对参与者有利可图的阴谋。然而,这个阴谋又会容易受到潜在的新阴谋的影响,可能包括之前的阴谋者和受害者的组合......如此循环。
这个事实,也就是合作博弈论下多数派博弈的不稳定性,作为一个简化的一般数学模型,可以说是被严重低估了,为什么政治中很可能没有 "历史的终结",也没有一个被证明完全令人满意的制度;我个人认为,它比更著名的「阿罗定理」要有用得多。
注:阿罗定理,Arrow's Theorem,又被称为阿罗悖论,指不存在一种理想的选举机制同时满足三种公平性原则,帕累托效率、非独裁与独立无关性。
请再次注意,这里的核心二分法不是 "个人与群体";对于一个机制设计者来说,"个人与群体 "出奇地容易处理。而 "群体与更广泛的群体 "才是挑战。
去中心化作为反串谋
但是从这个思路出发,还有另一个更光明、更具可操作性的结论:如果我们想要创建稳定的机制,那么我们知道一个重要因素就是找到让串谋,尤其是大规模串谋更难发生或维持的方法。在投票场景下,我们有「无记名投票」——可以确保投票者没有办法向第三方证明他们的投票内容,即使他们想证明也不行(MACI 是一个试图使用密码学将无记名投票原则扩展到在线环境的项目[1])。这破坏了选民和贿赂者之间的信任,严重限制了可能发生的不受欢迎的串谋。在那种反垄断和其他企业渎职的情况下,我们往往依赖举报人,甚至给予他们奖励,明确激励有害勾结的参与者叛逃。而在更广泛的公共基础设施方面,我们有那个 非常重要 的概念:去中心化。
对于为什么去中心化有价值,有一种朴素的看法是,它降低了单点技术故障的风险。在传统的 "企业级 "分布式系统中,实际上往往是这样的,但在其他很多情况下,我们知道这并不足以解释正在发生的事情。看看区块链就很有启发。一个大型矿池公开展示他们是如何在内部分布他们的节点和网络依赖性的,这对平息社区成员对挖矿中心化的恐惧并没有什么作用。而像下面这张图片,显示当时 90% 的比特币哈希算力出现在同一个会议讨论小组上,确实挺可怕:
但为什么这张图片会吓人呢?从 "去中心化即容错 "的角度来看,大型矿工能够互相对话,不会造成任何伤害。但如果我们把 "去中心化 "看成是存在有害勾结的壁垒,那么这个画面就变得相当可怕,因为它表明这些壁垒并没有我们想象的那么强大。现在实际上,这些壁垒还远没有达到零,那些矿工可以很容易地进行技术协作,而且很可能都在同一个微信群里,但事实上,这并不意味着比特币 "实际上比中心化的公司好不了多少"。
那么,剩下的串谋障碍是什么呢?一些主要障碍包括:
道德障碍:在『说谎者与局外人』一书中,Bruce Schneier 提醒我们,很多 "安全系统"(门锁、提醒人们受到惩罚的警示牌......)也具有道德功能,提醒潜在的不轨者,他们即将进行严重的违法行为,如果他们想做一个好人,就不应该这样做。去中心化可以说是起到了这个功能。
内部谈判失败:个别公司可能会开始要求让步以换取参与串谋,这可能会导致谈判直接陷入僵局(见经济学中的 "挟持问题")。
反协作:一个系统是去中心化的,这使得没有参与串谋的参与者很容易做出一个分叉,把串谋的攻击者剥离出来,然后从那里继续运行系统。用户加入分叉的门槛很低,去中心化的意图会形成有利于参与分叉的道德压力。
叛逃风险:五家公司联合起来作恶,比起他们为没有争议的或良性目的而联合,要困难得多。五家公司之间并不太了解对方,所以有可能其中一家拒绝参与,并迅速吹响哨子,于是参与者很难判断风险。公司内部个别员工也可能会吹哨。
综上所述,这些障碍确实是实质性的——往往实质性的障碍足以阻止潜在的攻击,即使这五家公司同时完全有能力迅速协调做一些合法的事情。例如,以太坊矿工完全有能力协作增加 GAS 上限,但这并不意味着他们可以如此轻易地勾结起来攻击区块链。
区块链的经验表明,将协议设计成制度性的去中心化架构,即使是在提前知道大部分活动将由少数公司主导的情况下,往往也是一件非常有价值的事情。这个想法并不局限于区块链,它也可以应用在其他情况下(例如,见反垄断应用[2])。
分叉作为反协作
但我们不可能总是有效地防止有害的串谋行为发生。而为了处理那些确实发生了有害串谋的情况,如果能让系统更强大地抵御这些勾结——对勾结者来说更昂贵,对系统来说更容易恢复,那就更好了。
我们可以通过两个核心操作原则来实现这一目的。(1) 支持反协作,和 (2) 承担利益风险「Skin in the game」。反协作背后的理念是这样的:我们知道,我们不可能将系统设计成应对串谋行为的被动健壮,这很大程度上是因为组织串谋的方式极其繁多,没有被动的机制可以检测到它们,但我们可以做的是主动应对串谋行为并进行 反击。
注: Skin in the game 一词源于赛马,赛马的主人在比赛中拥有 "skin",他们对比赛的结果最有发言权。
在数字系统中,比如区块链(这也可以应用于更主流的系统,比如 DNS),一个主要且关键的反协作形式就是「分叉」。
如果一个系统被一个有害的联盟接管,持不同意见的人可以聚集在一起,并创建一个替代版本的系统,该系统具有(大部分)相同的规则,除了它消除了攻击联盟控制系统的权力。在开源软件的背景下,分叉非常容易;创建一个成功分叉的主要挑战通常是收集所需的「合法性」(博弈论上看是一种 "常识"),让所有不同意主联盟方向的人跟随你走。
这不仅仅是理论上的;它已经成功地实现了,最知名的是 Steem 社区对敌对收购企图的反抗,导致了一个名为 Hive 的新区块链,而在这个区块链中,原来的敌对者没有任何权力。
市场和 Skin in the game
另一类抵制串通的战略是 "Skin in the game" 的概念。在这种情况下,"Skin in the game" 基本上是指让决策中的个别贡献者对其贡献单独负责的任何机制。如果一个群体做出了一个错误的决定,那么批准该决定的人必须比试图提出异议的人遭受更多的痛苦。这就避免了投票制度中固有的 "公地悲剧"。
分叉是一种强大的反协调形式,正是因为它引入了「Skin in the game」。在 Hive,即抛开敌对收购企图的Steem 的社区分叉中,用于投票支持敌对收购的币在新的分叉中大部分被删除。参与攻击的关键人物个人也因此受到了影响。
市场在一般情况下是非常强大的工具,正是因为它们能最大限度地增加 Skin in the game。决策市场(用于指导决策的预测市场;也叫 futarchy[3])是将市场的这种好处扩展到组织决策的一种尝试。尽管如此,决策市场只能解决一些问题;特别是,它们不能告诉我们首先应该对哪些变量进行优化。
注:Futarchy 是经济学家 Robin Hanson 提出的一种新政府形式,被选上的官员制定政策,而民众为通过投机市场来为不同的政策下注,从而产生最有效的选择。参见 V. Buterin 的文章 『On Collusion』[4]。
结构化协作
这一切都让我们对建立社会系统的人所做的事情有了一个有趣的看法。构建一个有效的社会系统的目标之一,很大程度上是确定协作的结构:哪些群体、以什么样的配置可以走到一起,以推进他们的群体目标,哪些群体不能?
协作结构不同,结果不同
有时,更多的协作是有益的:当人们能够共同努力集体解决他们的问题时,情况会更好。在其他时候,更多的协作是危险的:一小部分参与者可能会通过协作来剥夺他人权利。而在另一些时候,出于另一个原因,更多的协作是必要的:使更广泛的社会能够对攻击系统的串谋进行「反击」。
在这三种情况下,都可以通过不同的机制来实现这些目的。当然,直接阻止沟通是非常困难的,也很难让协作工作做到完美。但是,在这两者之间有很多选择,可以产生强大的效果。
下面是几种可能的协作的结构化技术。
保护隐私的技术和规范
让人难以证明你的行为方式的技术手段(秘密投票、MACI 和类似的技术)。
有意识地去中心化,将某种机制的控制权分配给众所周知没有很好协同的广大群体。
物理空间的权力下放,将不同的职能(或同一职能的不同份额)分离到不同的地点(例如,见 Samo Burja 关于城市权力下放和政治权力下放之间的联系)。
基于角色的选区之间的去中心化,将不同的功能(或同一功能的不同份额)分离给不同类型的参与者(例如,在区块链中,"核心开发者"、"矿工"、"持币者"、"应用开发者"、"用户")。
Schelling points,允许大群人围绕一条前进的道路快速协作。复杂的 Schelling Points 甚至有可能在代码中实现(例如,如何从51%攻击中恢复)。
使用共同的语言(或者,在使用不同语言的多个支持者之间分割控制权)。
使用按人投票而不是按(币/股份)投票,以大大增加通过串谋影响决定所需要的人数。
鼓励和依靠叛逃者提醒公众注意即将发生的勾结行为。
注:Schelling points 由美国经济学家 Thomas Schellin 中『冲突的策略』一书中提出,人们在缺乏沟通的情况下如果知道其他人在努力做同样的事情,那么他们的行动往往会汇聚在一个显眼的焦点上。例如让两个人在事先不沟通的情况下在纽约碰面,他们极大概率选择中央车站,这形成一个自然的 Schelling Point。
这些策略都不是完美的,但它们可以在各种情况下使用,并取得不同程度的成功。此外,这些技术可以而且应该与机制设计结合起来,这些机制设计试图尽可能地使有害的串谋变得更无利可图,风险更大;在这方面," Skin in the game" 是一个非常强大的工具。哪种组合最有效,最终取决于你的具体案例。
[1] https://github.com/appliedzkp/maci
[2] https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3597399
[3] https://blog.ethereum.org/2014/08/21/introduction-futarchy
[4] https://vitalik.ca/general/2019/04/03/collusion.html