VitalikButerin:关于区块链协调的权衡

转载
1566 天前
7759
巴比特

来源:巴比特     作者:Vitalik Buterin


特别感谢Karl Floersch和Jinglan Wang的反馈和评论

另请参见:

  1. 论合谋
  2. 关于协调问题的工程安全
  3. 信任模型
  4. 去中心化的意义

协调,即一大群行动者为了共同利益而共同努力,是宇宙中最强大的力量之一。比如说,我们共同努力阻止全球气温上升,那么气温上升的幅度就会小得多。 正是这个因素使公司、国家和任何社会组织都有可能比少数人更大。

协调可以在很多方面得到改善:信息传播速度更快,更好的规范(识别哪些行为被归类为作弊行为)以及更有效的惩罚,更强大的组织,诸如允许减少信任级别的交互的智能合约之类的工具,治理技术(投票,股票,决策市场...)等等。事实上,在过去的十年里,我们作为一个物种,在所有这些方面都越来越好。

但是,在协调方面也有一个非常违反直觉的阴暗面。虽然说“每个人都与每个人协调”确实比“每个人都为自己”所带来的结果要好得多,但这并不意味着每个人朝着更多协调而迈出的每一步,都必然是有益的。如果不平衡地改善协调,结果很容易是有害的。

我们可以将其视为一张地图,但实际上地图有数十亿个“维度”,而不是两个维度:


左下角的“每个人都为了自己”,是我们不想要去往的地方。而右上角的“完全协调”,则是理想化的,它可能无法实现。而中间的地带,有很多合理安全和高效的地方,可能是最好的落脚地,还有许多深邃黑暗的洞穴要避开。

现在,这些危险的局部协调形式是什么,哪些时候一些人的协调会导致一个幽深的黑洞? 这最好通过举例说明:

  1. 一个国家的公民为了战争中的国家利益而英勇地牺牲自己……当那个国家变成二战时期的德国或日本;
  2. 游说者贿赂政治家,以换取该政治家采用游说者的偏爱政策;
  3. 有人在选举中出售选票;
  4. 市场中某个产品的所有卖方串通起来同时提高价格;
  5. 大型区块链矿工合谋发起51%攻击;

在上述所有情况下,我们看到一群人在一起团结互助,但是这对协调圈子之外的某些人造成了极大的损害,进而损害了整个世界的净利益。在第一种情况下,所有曾是上述国家侵略的受害者,都不在协调的范围之内,并因此遭受了沉重的打击。在第二和第三种情况下,则是受腐败选民和政客所做决定而影响到的人,在第四种情况下是客户,在第五种情况下,则是非参与矿工和区块链用户。这不是一个个人背叛了团体,而是一个团体背叛了一个更广泛的群体(通常是整个世界)。

这种局部协调通常被称为“合谋”,但需要注意的是,我们所讨论的行为范围相当广泛。在正常的语言中,“合谋”一词往往更常用于描述相对对称的关系,但在上述情况下,有许多示例具有很强的非对称性。从这种意义上讲,即使是勒索性关系(“投票赞成我的偏爱政策,或者我会公开透露你的事情”)也是一种合谋形式。在本文的其余部分,我们将通常使用“合谋”来指代“不希望的协调”。

评估意图,而非行为(!!)

较温和的共谋案件的一个重要特征是,人们不能仅仅通过观察行为本身来判断一个行为是否是不受欢迎的共谋的一部分。原因是,一个人所采取的行动是个人的内部知识、目标和偏好,以及外部强加给他的激励措施的组合,因此,人们在合谋时所采取的行动,与人们自愿(或以良性方式协调)采取的行动往往是重叠的。

例如,考虑卖方之间的合谋(一种违反反垄断法的行为)。如果独立经营,三家卖家中的每一家都可能将某一产品的价格定在5美元到10美元之间。范围内的差异反映了一些难以理解的因素,例如卖方的内部成本,他们自己以不同的工资工作的意愿,供应链问题等。但是,如果卖方合谋,他们可能会将价格定在8到13美元之间。再一次,该范围反映了有关内部成本和其他难以看见的因素的不同可能性。如果你看到有人以8.75美元的价格出售该产品,他们是否做错了什么?如果不知道他们是否与其他卖家协调,你就无法判断!制定一条法律,规定以超过8美元的价格销售该产品将是一个坏主意,也许有正当的理由说明目前的价格必须很高。但是,制定一项反对合谋的法律,并成功地执行它,会带来理想的结果——如果价格必须高到足以支付卖家的成本,你可以得到8.75美元的价格,但如果推动价格上涨的因素自然很低,你就得不到这个价格。

这也适用于贿赂和贿选案:很可能有些人合法地投票支持橙党,而另一些人则因为得到了报酬而投票支持橙党。从确定投票机制规则的人的角度来看,他们事先不知道橙党是好是坏。但他们知道的是,人们基于内心真实感受进行投票的投票效果相当好,但选民可自由买卖选票的投票效果却非常糟糕。这是因为卖选票有一个公地悲剧:每一个选民只从正确的投票中获得一小部分利益,但如果他们按照行贿者想要的方式投票,他们将获得全部贿赂。因此,允许出售选票的投票,很快就会沦为富豪游戏。

了解博弈论

我们可以进一步缩小视角,并从博弈论的角度进行研究。在侧重于个人选择的博弈论中,即假设每个参与者都独立做出决定,并且不允许代理人群体为了彼此的共同利益而工作的可能性的版本中,有数学证据表明,在任何博弈中至少必须存在一个稳定的纳什均衡。实际上,机制设计者有很大的自由度来“设计”游戏以实现特定的结果。但是在允许联盟合作的博弈论版本中(即“合谋”),我们称之为合作博弈论,我们可以证明存在许多类别的博弈没有任何稳定的结果(称为“核心”),联盟无法从中获利。

多数博弈是这组内在不稳定博弈的一个重要组成部分。多数博弈被正式描述为一种代理人博弈,其中超过一半的人中的任何一个子集,都可以获得固定的报酬,并在他们之间进行分配——这一设置与公司治理、政治和人类生活中的许多其他情况极为相似。也就是说,如果有一个固定的资源池和一些现有的资源分配机制,并且不可避免地会有51%的参与者合谋夺取资源的控制权,无论当前的配置是什么,总会有一些阴谋出现,这对参与者来说是有利可图的。然而,这一阴谋反过来又会受到潜在新阴谋的攻击,可能包括先前共谋者和受害者的结合……等等。


这一事实,即合作博弈论下多数博弈的不稳定性,被认为是高度低估的简化的通用数学模型,它解释了为什么政治中很可能没有“历史的终结”,也没有一个系统被证明是完全令人满意的。例如,我个人认为它要比更著名的 阿罗不可能性定理( Arrow定理)有用。

再次注意,这里的核心二分法不是“个人与群体”。 对于机制设计者来说,“个人vs群体”非常容易处理, 提出挑战的是“群体vs更广泛的群体”。

去中心化作为反共谋

根据这一思路,我们还有另一个更聪明、更具可操作性的结论:如果我们想建立稳定的机制,那么我们就知道,这样做的一个重要组成部分就是想方设法让合谋,特别是大规模的合谋,更难发生和维持下去。在投票的情况下,我们有无记名投票 —— 这一机制确保选民没有办法向第三方证明他们是如何投票的,即使他们想证明这一点(MACI是一个试图使用密码学技术将无记名投票原则扩展到网络环境中的项目)。这破坏了选民和行贿者之间的信任,大大限制了可能发生的不受欢迎的合谋。在反垄断等案例中,我们经常依赖举报人,甚至给予他们奖励,从而明确地激励有害合谋的参与者叛逃。在更广泛的公共基础设施方面,我们有一个非常重要的概念:去中心化。

一种天真的观点认为,去中心化之所以有价值,是因为它能减少技术故障的单点风险。在传统的“企业”分布式系统中,这通常是正确的,但在其他许多情况下,我们知道这不足以解释正在发生的事情。从这里看区块链很有启发性,一个大型的矿池公开展示了他们是如何在内部分布节点和网络依赖性的,这并不能平息社区成员对挖矿中心化的恐惧。图片显示了当时掌握了比特币全网90%算力的一些人,出席在同一会议的圆桌会议上,这确实吓到了人们:


那为什么这张图片会吓人?从“去中心化即容错”的观点来看,大型矿工能够互相交谈不会造成伤害。但是,如果我们把“去中心化”看作是有害合谋的障碍,那么这张图片就会变得相当可怕,因为它表明,这些障碍并不像我们想象地那么强大。事实上,这些矿工可以轻松地进行技术协调,并且他们可能都在同一个微信群中,这实际上意味着比特币“并不比中心化公司要好得多”。

那么合谋还剩下哪些障碍呢?一些主要的包括:

  1. 道德障碍,布鲁斯·施耐尔(Bruce Schneier)在他的《说谎者和局外人》一书中提醒我们,许多“安全系统”也起到了道德功能,提醒潜在的行为不端者,他们即将犯下严重的违法行为,如果他们想成为一个好人,就不应该这样做。去中心化可以说有助于实现这一功能。
  2. 内部协商失败,个别公司可能开始要求让步,以换取参与共谋的机会,这可能会导致谈判彻底停滞(见经济学中的“拒不让步问题”)。
  3. 反协调,系统去中心化的事实,使不参与合谋的参与者很容易制作一个分叉,把合谋的攻击者逐出,并从那里继续系统,用户加入分叉的障碍很低。
  4. 叛逃风险,对于五家公司来说,联合起来做一些被广泛认为是坏事的事情,要比它们为了一个没有争议的或良性的目的而联合起来要困难得多。这五家公司彼此不太了解,因此存在其中一家公司拒绝参与并迅速告密的风险,而参与者很难判断风险。此外,公司内的个人员工也可能会告发。

综合起来看,这些障碍确实是巨大的 —— 往往足以阻止潜在的攻击,即使这五家公司同时完全有能力快速协调以做合法的事情。例如,以太坊区块链矿工完全有能力协调gas上限的增加,但这并不意味着他们可以轻易串通以攻击区块链。

区块链的经验表明,将协议设计为去中心化的体系机构,即使事先众所周知大部分活动将由少数公司主导,通常也是一件非常有价值的事情。这一想法不仅限于区块链,它也可以应用于其他环境(例如,参见此处了解反垄断的应用)。

分叉即反协调

但我们不能总是有效地防止有害合谋的发生。为了处理确实发生有害合谋的情况,最好使系统对它们更加健壮,即使得合谋成本更高,并且让系统更容易恢复。

我们可以使用两种核心操作原理来实现此目标:(1)支持反协调和(2)风险共担。反协调背后的想法是这样的:我们知道我们无法设计出对合谋具有被动鲁棒性的系统,这在很大程度上是因为组织合谋的方式非常多,并且没有能够检测到它们的被动机制,但是我们可以做的是积极应对共谋并进行反击。

在诸如区块链这样的数字系统中(这也可以应用于更主流的系统,如DNS),一种主要的、至关重要的反协调形式就是分叉。


如果一个系统被一个有害的联盟所接管,持不同政见者可以聚在一起,并创建该系统的替代版本,而这个版本具有(大部分)相同的规则,只是它消除了攻击联盟控制该系统的权力。在开源软件环境中,分叉是非常容易的。创建成功的分叉所面临的主要挑战,通常是收集合法性(从游戏理论上讲,这是“常识”的一种形式),来让所有不同意主要联盟方向的人跟着你走。

这不仅仅是理论上的,而且已在现实中成功实现,最知名的例子就是Steem社区对敌意收购企图的反抗,这导致了一个名为Hive的新区块链,而在这条新的区块链中,原始对手是没有权力的。

市场和风险共担

另一类对抗合谋的策略是风险共担思想,在这种情况下,基本上是指让个人贡献者对他们的贡献负责的任何一种机制。如果一个团体做出了一个错误的决定,那些赞成这个决定的人,一定比那些试图反对的人遭受更多的痛苦。这避免了投票制度固有的“公地悲剧”。

分叉是一种强大的反协调形式,正因为它引入了风险共担机制。在Hive中,Steem的社区分叉放弃了敌意收购的尝试,而那些投票赞成的币,则在分叉中遭到了删除,也就是说,参与攻击的关键人物因此而遭受了损失。

结构协调

所有这些,使我们对构建社会系统的人们的行为有一个有趣的看法。建立一个有效的社会系统的目标之一,在很大程度上决定了协调的结构:哪些人群和哪些配置可以汇聚在一起,以实现他们的群体目标,哪些群体则不能?


不同的协调结构,不同的结果

有时候,更好的协调是件好事:人们可以一起工作以共同解决他们的问题。但在其他时候,更多的协调是危险的:一部分参与者可以进行协调,以剥夺其他所有人的权利。在其他时候,出于另一个原因,还需要更多的协调:使更广泛的社区能够“反击”以防止合谋攻击系统。

在所有这三种情况下,都有不同的机制可用于实现这些目的。当然,直接阻止沟通是非常困难的,要使协调变得完美也是非常困难的。但是,在这两者之间有许多选择可以产生强大的影响。

以下是一些可能的协调结构技术:

  1. 保护隐私的技术与规范;
  2. 很难证明你的行为的技术手段(无记名投票、MACI和类似技术);
  3. 故意下放权力,将某些机制的控制权分配给一大群人,而这些人都知道他们没有很好地协调;
  4. 物理空间的分散化,将不同的功能(或相同功能的不同份额)分离到不同的位置(例如,见Samo Burja关于城市分权和政治分权之间的联系);
  5. 将不同的功能(或相同功能的不同份额)分离给不同类型的参与者(例如,在区块链中的“核心开发者”、“矿工”、“币持有者”、“应用程序开发者”、“用户”);
  6. 谢林点,允许大量的人迅速协调围绕一条单一的道路前进;
  7. 使用一种共同预言(或者说,将控制权分配给说不同语言的多个选区);
  8. 使用按人投票,而不是按(币/股份)的投票方式,来大大增加合谋影响决策的人数;
  9. 鼓励并依靠叛逃者,让他们提醒公众即将发生的共谋;

以上这些策略都不是完美的,但它们可以在不同的环境中使用,并取得不同的成功水平。此外,这些技术可以且应与机制设计相结合,使有害的共谋尽可能地减少利润和增加风险。在这方面,风险共担是一个非常强大的工具。而哪种组合最有效,最终取决于你的特定用例。