关于合谋


译文。

Special thanks to Glen Weyl, Phil Daian and Jinglan Wang for review

过去几年,人们对此越来越感兴趣——使用精心设计的经济激励和机制设计,来协调各种情境中的参与者行为。在区块链领域,机制设计首要为区块链自身提供安全性,鼓励矿工或 proof of stake validators 诚实参与,但最近,这种机制设计被应用于 prediction marketstoken curated registries 和许多其他情境。同时,新兴的 RadicalXChange movement ,引发了 Harberger taxes ,quadratic voting ,quadratic financing 等实验。最近,人们对此兴趣日益增长——使用 token-based incentives 来尝试鼓励在社交媒体生产高质量帖子。然而,随着这些系统的发展,从理论走向实践,有许多挑战需要解决,我认为,这些挑战还未被充分面对。

从理论走向有效利用的一个最近例子,币乎,最近发布了一个基于币的机制,用于鼓励人们写帖子。其基本机制是,如果该平台的一个用户持有 KEY ,他们就能够将这些 KEY stake 在文章上;每个用户每天可以投 k “upvote”,每个 upvote 的“权重”,正比于进行该 upvote 的用户的 stake 。拥有更多 stake upvoting 的文章,会显得更显眼,某篇文章作者得到的 KEY 奖励,大致正比于 upvoting 此文章的 KEY 数量。这是一个过于简化的描述,实际机制有一些非线性,但对于该机制的基本功能而言,这些非线性并非必不可少。KEY 有价值,因为它可以在其平台内部以多种方式使用,特别是,有一定比例的广告收入,被用以购买和烧毁 KEY(为它们这么做,而不是制造另一种交换媒介代币,点个赞 )。

这种设计远非独一无二;激励在线内容创作,是许多人关心的事情,已经存在许多设计拥有类似特征,也已存在一些相当不同的设计。在这种情况下,币乎这个特定平台已被大量使用。

几个月前,/ r / ethtrader 引入一个类似的实验性功能,向所发表评论获得 upvote 的用户发放 “donuts”代币,每周向用户发放的 donuts 量,正比于他们的评论获得的 upvotes 量。donuts 可用于购买在 subreddit 顶部设置横幅内容的权利,也可用于在社区 polls 中投票。然而,与 KEY 系统中所发生情况不同,这里,当 A upvotes B 时,B 收到的奖励,不正比于 A 现有的币供应量;相反,每个 Reddit 账号具有相同的,对其他 Reddit 账号进行贡献的能力。

这些类型的实验,试图突破捐赠/小额打赏方式,奖励高质量内容,这些实验非常有价值;对 user-generated internet content 的补偿不足,是社会中一个非常重要的问题(参见“liberal radicalism” 和 “data as labor”),看到加密社区试图利用机制设计的力量,在解决这一问题上,取得进展,令人振奋。但不幸的是,这些系统也容易遭受攻击。

自我投票,富豪统治和贿赂( Self-voting, plutocracy and bribes )

一个人可如何经济地攻击上述所提设计。假设,某个富有用户获得一定数量(N)的代币,因此,该用户的 k upvotes 中的每个,都给予接收者一个 N * q 奖励(在这里,q 可能是一个非常小的数字,如 q = 0.000001)。用户 upvotes 自己的 sockpuppet 账号,给自己 N * k * q 奖励。然后,系统崩溃成——每个用户每段时期拥有一个“利率” k * q ,除此,该机制没有完成任何其他。

币乎机制,似乎预见到这一点,具有一些超线性逻辑,在这个逻辑中,那些具有更多 KEY upvoting 它们的文章,获得不成比例的更大奖励( articles with more KEY upvoting them gain a disproportionately greater reward ),似乎是为了鼓励 upvoting popular posts 而非 self-upvoting 。在 coin voting governance 系统中,添加这种超线性,以防止 self-voting 破坏整个系统,是一种常见模式;大多数 DPOS 方案具有相似效果,其 delegate slots 数量有限,对于没有获得足够 votes 以加入 slots 的任何人,其奖励为零。但这些方案总会引入两个新弱点:

  • 他们补贴富豪统治( subsidize plutocracy ),因为非常富有的个人和 cartels 仍然可以获得足够资金以自我投票。
  • 用户可以通过贿赂其他用户来大量地投票给他们,从而规避以上机制。

贿赂攻击可能听起来有些牵强 ( 这里,有谁在现实生活中接受过贿赂?),但在一个成熟的生态系统中,它们比它们看上去的要现实得多。在发生于区块链领域的大多数贿赂情境中,运营者们使用一个委婉的新名称,赋予这个概念一个友好的面孔:它不是贿赂,而是一个 “staking pool” ,“分享股息”。贿赂甚至可以被混淆(obfuscated):想象一下,一个加密货币交易所,零费用,花费精力来制造一个异常良好的用户界面,甚至不试图获取利润;但是,它使用用户存入的币,参与各种币投票系统。也不可避免地,会有人认为群内勾结只是平常;see a recent scandal involving EOS DPOS for one example:

最后,有可能出现“负贿赂”( negative bribe ),即勒索或胁迫,以伤害威胁参与者,除非参与者在机制内以某种方式行事。

在/ r / ethtrader 实验中,人们进来,买 donuts 来改变 governance polls ,社区对此的担心,导致社区决定把有资格用于投票的 donuts 锁定(即不可交易)。但还有一种比买 donuts 成本更低的攻击(这种攻击可被认为是一种混淆贿赂):租 donuts。如果一个攻击者已经持有 ETH,他们可将其用作 Compound 等平台上的抵押品,拿出一些代币贷款,让你有权使用该代币用于任何目的,包括参与投票,当他们完成时,他们只需将代币发回贷款合约,以收回他们的抵押品——所有这些都不需要承受哪怕一秒钟的该代币价格风险,他们只是用这些代币来进行币投票,即使该币投票机制包括一个时间锁定机制(如币乎)。在每一种情况中,都证明,贿赂,获得意外过度授权(accidentally over-empowering ),人脉广泛且富有的参与者的问题,难以避免。

身份

一些系统试图通过利用身份系统,来减轻币投票的富豪统治效应。如 /r/ethtrader donut 系统,虽然 governance polls ,是通过币投票进行,但决定你首先获得多少 donuts 的机制是基于 Reddit 账号:来自 1 个 Reddit 账号的 1 upvote = 获得 N donuts。一个身份系统的理想目标,是使个人获得一个身份相当容易,但获得许多身份相当困难。在/ r / ethtrader donut 系统中,是 Reddit 账号,在 Gitcoin CLR matching gadget 中,是用于相同目的的 Github 账号。但至少从目前其已被实施的方式来看,身份是一件脆弱的东西.......

Oh, are you too lazy to make a big rack of phones? Well maybe you’re looking for this:

Usual warning about how sketchy sites may or may not scam you, do your own research, etc. etc. applies.

可以说,只要像控制 puppetmaster 一样控制数千个假身份,就能攻击这些机制,这种攻击方式甚至比贿赂别人还要容易。如果你认为应对之策,是将安全性提升到政府级 ID?好吧,如果你想获得其中一些,你可以在这里开始探索,但请记住,有一些专门的犯罪组织远远领先于你,即使所有的地下犯罪组织被取消,如果我们愚蠢到创建使这种活动有利可图的系统,充满敌意的政府肯定会创造数百万的假护照。这甚至没有开始提到朝向相反方向的攻击,身份发放机构试图通过否认边缘化社区的身份文件,来剥夺他们的权力。

合谋

考虑到,一旦多身份或甚至流动性市场介入这个图景,那么,如此多的机制似乎都会以类似方式失败,有人可能会问,是否存在某种深层次的共同因素( strand ),导致所有这些问题?我认为答案是肯定的,并且“共同因素”( common strand )是在:在参与者可以勾结的模型中,制作维持理想属性的机制,比在他们无法勾结的模型中更难,而且很可能完全不可能。大多数人可能已对此有一些直觉;这一原则的具体实例,是在完善的规范和法律之后,这些规范和法律,往往促进竞争性市场,限制价格垄断( price-fixing cartels )、投票买卖,以及贿赂。但这个问题更深刻,更普遍。

在关注个体选择的博弈论版本中-即,该版本假定每个参与者独立做出决定,其不允许代理群体作为一个整体,致力于其相互利益的可能性,有数学证明表明,在任何博弈中,都必须存在至少一个稳定的纳什均衡,且机制设计者有很大自由度来“设计”博弈以实现特定结果。

但是在允许联盟合作的可能性的博弈论版本中,其被称为合作博弈论( cooperative game theory ),有很大的几类博弈,其没有任何这样的稳定结果——在这样的稳定结果中,一个联盟无法从中盈利( there are large classes of games that do not have any stable outcome that a coalition cannot profitably deviate from )。

大数博弈,正式被描述为 N 代理博弈( games of N agents ),其中,超过他们一半的任何子集,可捕获一个固定奖励,并将其在它们之间进行分割,这设置类似于公司治理,政治和人类生活中的许多情况,是这一系列本质上不稳定博弈的一部分。即,如果存在这样一种情况——拥有一些固定的资源池,以及一些目前已经建立起来的分配这些资源的机制,51% 参与者不可避免地可能合谋夺取对这些资源的控制权,无论当前配置是什么,总会有一些合谋会出现,这对参与者而言,有利可图。然而,这种合谋,反过来又容易遭受潜在新合谋,新合谋者可能包括先前合谋者和受害者的结合……等。

这一事实——合作博弈理论下,大数博弈的不稳定性——被高度低估为一个简化一般数学模型——为什么政治中,很可能没有“历史的终结”,也没有一个被证明完全令人满意的系统;我个人认为,它比更著名的箭头理论( Arrow’s theorem )更有用。

有两种方法可以解决( get around )这个问题。首先是,尝试将我们自己限制于这类博弈—— “identity-free” and “collusion-safe” ,所以,在这种博弈中,我们不需要担心贿赂或身份。第二种是,试图直接解决抗身份和合谋问题,并实际上足够好地解决它们,足够好到,我们可以实现具有更丰富属性(他们所提供)的非合谋安全博弈(non-collusion-safe games )。

身份自由和合谋安全的博弈设计 ( Identity-free and collusion-safe game design )

这类博弈( identity-free and collusion-safe )很重要。甚至 proof of work 也是合谋安全( collusion-safe ),直到这个界限——一单个参与者具有总算力的 ~23.21% ,通过巧妙的工程设计,这个界限可提升到 50% 。竞争性市场在达到一个相对高的界限之前,都还算合谋安全,这个相对高的界限,在某些情况下,很容易达到,但在另一些情况下,则不然。

在治理和 content curation 的情况下(这两种情况都真的只是识别公共良品和公共劣品 [ identifying public goods and public bads ]这个一般问题中的特例),一种运作良好的主要机制是 futarchy , 其通常被描述为“governance by prediction market”,不过,我也认为,保证金(security deposits)的使用,基本上属于同一类技术。futarchy 机制的运作方式,最常见形式是,它们使投票不仅成为意见的表达,还是一种预测,对作出正确预测的人给予奖励,对作出错误预测的人给予惩罚。例如,我的提案prediction markets for content curation DAOs”,建议采用半中心化设计,在其中,任何人都可对提交的内容进行 upvote 或 downvote ,被 upvote 更多的内容,将更加可见,在其中,还有一个 “moderation panel” 做最终决定。每个帖子,都有一个小概率(正比于该帖子获得的 upvotes+downvotes 总和 )—— moderation panel 将被要求对该帖子做出最终决定。如果 moderation panel 批准一个帖子,每个 upvoted 这个帖子的人都会得到奖励,每个 downvoted 这个帖子的人会受到惩罚,如果 moderation panel 否决一个帖子,则会发生相反情况;该机制鼓励参与者进行 upvotes 和 downvotes,以尝试“预测” moderation panel 的判断。

futarchy 的另一个可能例子是,用于具有代币的一个项目的一个治理系统,在其中,投票于一个选项的任何人,如果该投票胜出,都被迫以投票开始时的价格购买一定数量的代币;这样可以确保,投票于错误决策,成本高昂,极限是,如果一个糟糕决策赢得一个投票,每个批准该决策的人都必须基本上买断项目中其他人( if a bad decision wins a vote everyone who approved the decision must essentially buy out everyone else in the project )。这就确保,投票于一个错误决策的一单个人,对投票者而言,成本可能非常高昂,从而排除了廉价贿赂攻击的可能性。

对 futarchy 一种形式的图形描述,创建两个市场,代表两个“可能的未来世界”,选拥有更优惠价格的那个。Source this post on ethresear.ch

然而,这类机制所能做范畴有限。在上述 content curation 示例,我们并没有真正解决治理问题,我们只是扩展一个治理小工具的功能,这个小工具已被假定为可信。对于代币(代币代表对广告空间的购买权)的价格,人们可以尝试用一个预测市场来取代 “ moderation panel ”,但实际上,价格是一个过于嘈杂的指标,而无法使这一点可行,除了极少数非常大的决策。而且,我们试图最大化的值,通常是币的最大化值以外的其他东西。

让我们更清楚地看看,在更一般情况下(在这种情况下,我们无法通过一个治理决策对一个代币价格的影响,轻易确定这个治理决策的价值),为什么,用于识别公共良品和劣品( public goods and bads )的良好机制,不幸地,无法是身份自由或合谋安全( identity-free or collusion-safe )。如果一个人试图保护一个博弈的属性是身份自由(identity-free),建立一个系统,在其中,身份不重要,只有币才重要,那么,在无法激励合法公共良品或过度补贴富豪统治之间,存在不可能权衡( there is an impossible tradeoff between either failing to incentivize legitimate public goods or over-subsidizing plutocracy )。

论点如下。假设,某个作者正在制作一个公共良品(如一系列博客文章),为一个 10000 人社区中的每个成员提供价值。假设,存在某种机制,在这种机制下,社区成员可采取行动,使作者获得一个 $1 收益。除非社区成员极其利他,否则,为了让该机制可行,采取此行动的成本必须远低于 $1 ,否则,支持该作者的社区成员所获得的利益,将远远小于支持该作者付出的成本,因此,该系统将崩溃为一场公地悲剧,没有人支持作者。因此,必须有一种方法,使作者以远低于 $1 的成本赚取 $1 。但现在假设,还有一个虚假社区,它由同一个富有攻击者的 10000 个假 sockpuppet 账号组成。这个社区采取与真实社区相同的所有操作,但他们支持的不是那个作者,他们支持的是另一个虚假账号,这个虚假账号也是攻击者的一个 sockpuppet。如果 “ real community ” 的成员可能以远低于 $1 的一个个人成本,向作者提供 $1 ,攻击者有可能一次又一次地以远低于 $1 的成本,给自己 1 $1,从而耗尽系统资金。任何能够帮助真正缺乏协调的各方进行协调的机制,在没有正确保障措施的情况下,也会帮助已经协调的各方(如由同一个人控制的许多账号)进行过度协调,从系统中榨取资金。

当目标不是资金,而是确定什么内容应该最明显时,也会出现类似挑战。你认为什么内容会获得更多美元价值支持它:一个合理的高质量博客文章,使数千人受益,但使每个人受益相对轻微,或这个?

或可能这个?

那些一直关注“现实世界”近期政治的人,也可能会指出一种不同类型的内容,这些内容有利于高度中心化行为者:有敌意政府操纵的社交媒体。最终,中心化系统和去中心化系统,都面临同样的根本问题,即“思想市场”(“marketplace of ideas” )(以及更普遍的公共良品市场)与“有效市场”(“efficient market”)(取义经济学家通常使用的那个术语)相距甚远,这导致,即使在“和平时期”,公共良品的生产也不足,也容易受到主动攻击。这只是一个难题。

这也是为什么,基于币的投票系统(如 Bihu’s ),比基于身份的系统(如 Gitcoin CLR 或/ r / ethtrader donut 实验),具有一个主要的真正优势:至少整体购买账号没有任何好处,因为你所做的一切正比于你拥有的币量,无论币被分置于多少账号之间。然而,不依赖任何身份模式,而只依赖币的机制,从根本上,无法解决这个问题——集中利益( concentrated interests ),胜过(outcompeting)试图支持公共良品的分散社区;一个赋权分布式社区的的身份自由机制,无法避免对假装成分布式社区的中心化富豪统治的过度赋权。

但不仅仅是身份问题,公共良品博弈也易受攻击;这也是贿赂。要了解原因,请再次考虑以上示例,但是,其中,不是攻击者的 10001 个 sockpuppets 组成的“伪社区”,而是,攻击者只有一个身份,即用以接收资金的账号,其他 10000 个账号是真实用户 - 但是,如果每个用户收到 $0.01 的贿赂,就会采取行动,导致攻击者获得额外 $1 。如上所述,这些贿赂可能会被高度混淆,甚至为了方便,通过第三方托管服务代表用户进行投票,也是如此,在 coin vote 情况下,设计一个被混淆的贿赂,甚至更容易:人们可通过在市场上租借币,并使用这些币来参与投票,来达到此目的。因此,尽管某些类型的博弈,尤其是基于预测市场或基于保证金的博弈,可以做到合谋安全和身份自由,但广义公共良品融资似乎是一类这样的问题——不幸地,合谋安全和身份自由方法无法可行。

身份和抗合谋

另一种选择是,迎面攻击身份问题( attacking the identity problem head-on )。如上所述,简单地上升到具备更高安全性的中心化身份系统,如护照和其他政府 IDs ,将不能规模化可行;在充分激励的情况下,他们非常不安全,容易受到发行政府影响。相反,我们在这里讨论的那种“身份”,是某种强大的多因素所有权主张集合(multifactorial set of claims )——主张由一组信息确定的一个行为者,实际上是一个独一无二的个体。这种网络身份的早期原型模型,是 HTC 区块链手机的社交恢复(social recovery):

其基本思想是,你的私钥在最多五个可信联系人之间进行秘密共享,以这种方式在数学上确保其中三个可以恢复原始密钥,但两个或更少不能。这具备作为“身份系统”的资格——是你的五个朋友决定某个试图恢复你的账号,实际上是否是你。然而,它是一个特殊用途的身份系统,试图解决一个问题,即个人账号安全,这与试图识别独一无二个人的问题不同,并且比其更容易。也就是说,“提出彼此所有权主张”的个体一般模型(the general model of individuals making claims about each other ),很可能被引导入某种更强大的身份模型中。如果需要,可以使用上述“futarchy”机制增强这些系统:如果有人宣称,某人是一个独一无二的人,但别人不同意,双方都愿意发行一个债券( put down a bond ),以诉讼该问题,该系统可以召集一个 judgement panel 决定谁是正确的。

但我们也想要另一个至关重要的特性:我们想要一个身份,你无法可信地将这个身份进行出租或出售。显然,我们无法阻止人们达成这样的交易:“你发给我 $50 ,我将把我的 key 发给你”,但我们可以尝试做的是,防止这些交易变得可信(credible) ,如此,卖方可轻易欺骗买方,提供给买方的是一把实际不可行的 key 。实现此的一种方法是,建立一种机制,通过该机制,一个 key 的所有者,可以发送一笔交易,废除该 key ,并用所有者选择的另一个 key 替换它,所有都以一种无法被证明的方式进行。也许最简单的解决这个问题的方法,或使用一个可信方,这个可信方运行计算,且仅发布结果(以及零知识证明,用以证明结果,因此可信方可信,仅为隐私,而不是为其正直性 [ so the trusted party is trusted only for privacy, not integrity ]);或通过多方计算,去中心化相同功能。这样的方法,将不能完全解决合谋问题;一群朋友仍然可以聚在一起,坐在同一个沙发上,协调投票,但他们将至少将合谋问题降低到可控程度,这种程度不会导致这些系统彻底失败。

还有一个进一步问题: key 的初始分配。如果用户在一个第三方保管服务中创建其身份,然后,这个保管服务存储该私钥,并使用该私钥秘密地对事物进行投票,会发生什么?这将是一种隐性贿赂,用户的投票权换取提供给用户的方便服务,而且,如果该系统是安全的,是因为它通过使投票无法证明,成功防止了贿赂,通过第三方 hosts ,进行的秘密投票也将检测不到。解决这个问题的唯一方法似乎是…. 亲身验证( in-person verificatio )。例如,人们可以拥有一个“发行人”生态系统,其中,每个发行人发行带有私钥的智能卡,用户可以立即将其下载到他们的智能手机上,发送一条消息,用一个没有向任何人透露的不同 key 替换该 key。这些发行人可以是 meetups 及 conferences,或可能是已经被某些投票机制认为可靠的个人。

构建基础设施,使抗合谋机制(包括健壮的去中心化身份系统)成为可能,是一项艰巨挑战,但如果我们想解锁这些机制的潜力,我们必须尽最大努力尝试,似乎不可避免。确实,比如,对于引入在线投票,当前计算机安全教条只是 “don’t ,但如果我们想扩大类投票机制(包括更高级形式,如 quadratic voting 及 quadratic finance)的角色至更多角色,我们别无选择,只能迎面挑战,进行真正艰难的尝试,有希望,成功为至少一些用例,创造一些足够安全的东西。

译文仅供参考。

原文:https://vitalik.ca/general/2019/04/03/collusion.html
作者:Vitalik Buterin
编译 & 校对:古拉 & 东林