观点 | Vitalik:论串谋

Ajian   |     |   1949 次阅读

特别感谢 Glen Weyl 、Phil Daian 和 Jinglan Wang 对本文的审校。

最近几年,越来越多的人开始关注起了如何通过经济激励和机制设计在不同场景下规范参与者的行为。在区块链领域,机制设计的首要目的是为区块链提供安全性,鼓励 PoW 矿工或 PoS 验证者诚实地参与进来。不过最近一段时间,机制设计也被应用于预测市场、 代币精选注册表(token curated registries )等场景。与此同时,最近兴起的 RadicalxChange 运动 也带动了关于哈伯格税( Harberger taxes)、票重递减型投票(Quadratic voting)和二次方融资等设想的实验热潮。另外,在社交媒体领域,如何使用基于代币的经济激励鼓励高质量的文章创作也成了一大热点。这些系统在从理论转向实践的发展过程中,需要应对一些挑战。在我看来,我们应对这些挑战的经验尚不充足。

举个例子吧,中国有一家名为 “币乎” 的媒体平台最近推出了一个基于代币的机制来鼓励人们发帖。这个机制的基本设计是(点击此处,阅读中文版白皮书),平台用户可以押注自己所持有的 KEY 币来给文章 “点赞”;一天内只可 “点赞投票” k 次,而 “点赞投票” 的 “权重” 与用户所下注的代币量成正比。一篇文章得到的代币点赞量越多代表质量越高,其作者可以获得与点赞代币量成正比的奖励。

我只是很简单地介绍了一下这个机制,略去了一些比较复杂的设计,不过这些设计对于整个机制的基本运行来说不是很重要。KEY 的价值源于它在平台上的诸多用途。尤其值得一提的是,所有广告收入都以 KEY 支付,其中一部分 KEY 会被分配掉,另一部分 KEY 会被销毁(哇!这种设计真的很赞👍,没把代币搞成交换媒介!)。

这种设计算不上有多特别。如何激励线上内容创作是很多人都关心的事,目前已经出现了很多类似的设计,以及一些差别很大的设计。目前,币乎这个平台已经积累了较大的用户群:

几个月之前,关于以太坊交易的 Reddit 板块 /r/ethtrader 也引入了类似的设计,发行了一种叫做 “甜甜圈” 的代币,用来奖励那些评论获得点赞的用户。该板块每周会发行一定量的甜甜圈币,用户所分得的甜甜圈币与其评论获得的点赞量成正比。甜甜圈币可以用来租赁该板块的置顶广告位,也可以用于社区投票。然而,甜甜圈币的奖励机制不同于 KEY 系统。点赞者无需质押代币,因此被点赞者所能分得的奖励不受点赞者所持代币量的影响。每个 Reddit 账户的点赞权重都是相同的。

上述几个实验性机制难能可贵地开辟了新的方式来奖励优质内容创作,打破了之前局限于 捐款/小额打赏 的尴尬局面。

如今,整个社会正面临一个非常重要的问题,就是缺乏对用户创作的互联网内容(UGC)的补偿机制(参见 “自由激进主义(liberal radicalism)” 和 “数据劳动(data as labor)”)。很多社区都在试图利用机制设计的力量解决这个问题。然而不幸的是,这些系统极易受到攻击。

自投票、财阀统治和贿选

下面介绍一下如何通过经济手段攻击上述机制。假设现在有一个土豪用户持有 N 个代币,他可以执行 k 次点赞投票,每一次投票带给被点赞者的奖励是 N * q (这里的 q 可能是很小的值,例如 q = 0.000001)。这位用户只要开一个马甲账号,给这个账号点赞,就能得到 N * k * q 的奖励。也就是说,在每一轮投票期间,每一位用户都能获得 k * q 的 “利率”;如果没有别的限制措施,这个系统就不再能提供任何正常功能,只剩下崩溃一途。

币乎的激励机制似乎预见到了这一问题,因此采用了一种超线性逻辑。一篇文章获得的 KEY 点赞量越多,作者得到的奖励就越多,而且其增长幅度是超出正比的。这种激励机制会鼓励用户创造热门流行的文章,而非通过自点赞的方式来获得收益。

通过超线性逻辑来防止自点赞行为危害整个系统是代币投票治理系统的通用模式。同样地,大多数 DPOS 也能通过一些机制起到类似的效果:协议限制了代理者的数量上限,而凡是没有被选举成为代理者节点的用户都得不到奖励。

然而,这类机制往往存在两大弊端:

  • 等于补贴财阀,因为富有的个体和卡特尔组织依旧可以凭借其雄厚的财力进行自投票;
  • 用户可以通过贿选的方式拉拢其他用户为其投票

贿选攻击虽然听起来不太靠谱(有多少人在现实生活中有过受贿的经历?),但是在一个成熟的生态系统中却可能比我们想象的要更为常见。很多情况下,区块链领域的贿选行为被行贿者美化了:这不叫贿选,叫 “权益池分红”。贿选还可以做得很隐蔽。想象一个零手续费的加密货币交易所,苦心打造出异常完美的用户界面,却从来不在这上面盈利,而是暗戳戳地利用用户存在交易所里的代币参与各种代币投票系统。久而久之,人们就会对这种小团体串谋习以为常;例如,此前爆出的一起关于 EOS DPOS 的丑闻:


最后,还有可能存在“威胁式贿选”的情况,也就是通过敲诈或要挟的方式威逼参与者按照行贿者的要求进行投票。

以 /r/ethtrader 的机制设计为例,因为担心有人通过大量 购买 甜甜圈币来操控治理决策投票,社区决定只有被锁定(即无法交易的)甜甜圈币才有投票资格。但还有一个比买币成本更低的攻击方式(这又是一种很隐蔽的贿选方式): 租币 。如果一名攻击者本身持有以太币,可以将其抵押到 Compound 之类的平台上,借出另外一种代币。这样一来,攻击者就拥有了借得代币的完整使用权,包括参与投票。投票过后,攻击者就可以将代币发送回借贷合约,取回之前抵押的以太币——通过这种方式,无需承担代币价格波动的风险,攻击者就可以用借到的代币影响投票结果,即使代币投票机制(例如,币乎)设置了锁定期也没关系。

无论是上述哪一种情况,解决贿选以及个别土豪参与者拉帮结伙的问题都如移山填海一般困难。

身份

一些系统试图利用身份系统来削弱财阀对代币投票的影响。以 /r/ethtrader 的甜甜圈币系统为例。虽然这个系统中的 治理决策投票 是以代币投票的形式实现的,但甜甜圈币的奖励机制是建立在 Reddit 账户系统上的:一个 Reddit 账户得到的一个赞可以换成 N 个甜甜圈币的奖励。

身份系统的理想目标是,个体要得到一个身份容易,要得到多个身份很难。/r/ethtrader 甜甜圈币的身份系统依托的是 Reddit 账户;Gitcoin CLR 匹配工具的身份系统依托的是 Github 账户。然而,身份造假实在是太容易了,至少到目前为止都没有出现一个较为完善的身份系统设计。

是不是觉得搞一架子手机太麻烦了?也许下面这个更适合你:

港真,像个傀儡师那样操纵上千个假身份来攻击这些激励机制比起一个个去贿赂用户 要容易得多 。你是不是在想,只要将安全要求提升到 政府级 身份认证就可以了?好吧,如果你想试试的话,可以先看看这里,不过别忘了早就有专业的犯罪组织领先一步了,即使把所有造假团伙一锅端了,也防不住一些心怀不轨的政府,如果我们真的傻到在设计系统的时候为身份造假行为留下牟利空间,他们就会凭空伪造百万张护照出来。更别提还有反向攻击了,比方说身份签发机构为了剥夺一些边缘社区的权力,否认其身份证明文件的有效性……

串谋

在多重身份和流动性市场面前,一波又一波的激励机制垮了。可能有人会问,这些问题是不是有什么深层次的共通点?我认为有,而且这个 “共通点” 就是:相比于不具备抗串谋性的模型,具备抗串谋性的模型中更容易建立起理想的激励机制。大多数人可能已经在直觉上感受到了这一点。这一原理的具体案例体现在:通常来说,行业准则和法律都主张促进市场竞争,并且抵制价格卡特尔、买卖投票和贿选。然而,这个问题还可以挖得更深。

如果是聚焦个体选择的博弈论模型(即,假定每个参与者都独立作出决策,而且参与者不可能为了共同利益而抱团),已经有数学证明符合这种模型的博弈必然存在至少一个稳定的纳什均衡策略组合,而且机制设计者在博弈环境设计上拥有较高的自由度来促成特定结果。

然而,如果是允许串谋的博弈论模型(即,合作博弈论模型 ),符合这种模型的游戏很多都没有一个稳定的结果,联盟可以在改变策略的情况下依旧获利。

多数派博弈 的定义是在一个参与者人数达 N 位的游戏中,由半数以上参与者结成的联盟可以获得固定收益,并将收益进行内部瓜分。可怕的是,这种模型恰好类似于我们生活中的很多场景,如公司治理、政治等等,都属于具有内在不稳定性的游戏。也就是说,假设有一个固定量的资源池和一个用来分配这些资源的机制,而且这个机制无法避免 51% 的参与者通过串谋来控制资源池,那么无论这个机制目前采用了什么样的设计,参与者总能找到串谋牟利的方法。然而,联盟关系往往是不牢固的,旧联盟瓦解,新联盟诞生……新旧更替,周而复始。

轮次 A B C
1 1/3 1/3 1/3
2 1/2 1/2 0
3 2/3 0 1/3
4 0 1/3 2/3

正是由于这种不稳定性,基于合作博弈论的多数派博弈被严重低估了。它被当作是一种简化了的一般数学模型,用来解释为什么不存在 “历史终结论” 中提出的终极政治制度,以及可证完美的系统;我个人认为合作博弈论虽然没有阿罗不可能定理(Arrow’s theorem)那么有名,却比它管用得多。

现在有两种方法能解决串谋问题。第一种是将我们自身严格限定在那些 “无身份” 并且 “抗串谋” 的博弈类型中,从而无需担心贿选或身份造假的问题。第二种是直面身份造假和串谋问题,找到妥善的解决方案,从而设计出包含更多属性的抗串谋博弈模型。

无身份且抗串谋的机制设计

无身份且抗串谋的游戏是一个大类。只要单个参与者拥有的算力不超过全网算力的 23.21 % 左右,工作量证明机制便具有抗串谋性。如果设计巧妙的话,这个上限也可以放宽到 50% 。按理来说,竞争市场可以有效抗击串谋,其安全上限会相对更高,但趋近这个上限的速度则要视情况而定。

治理内容管理 (二者都是需要公断是非的特殊案例) 这两方面而言,一种主要且有效的机制是 futarchy —— 通常指的是“基于预测市场进行决策的治理模式”,不过我要指出的是保证金也在其中起到很重要的作用。

一般而言,futarchy 机制的运作方式是让 “投票“不再局限于表达意见,也可用来进行预测,做出正确的预测会得到奖励,做出错误的预测会遭受惩罚。 例如,我之前有过一个提案,即“为内容管理类去中心化组织创建预测市场”。我建议采用一种半中心化设计,每个人都可以针对已提交内容投赞成票或反对票,获得赞成票数越多的内容越容易让更多人看见,另设一个“审核小组”(moderation panel)来做出最终决策。每一篇已提交的帖子都有很低的概率(与这篇帖子获得的赞成票 + 反对票总数成正比)被交由审核小组进行最终决策。如果审核小组认可了一篇帖子,每个给它投过赞成票的人都会得到奖励,而每个给它投过反对票的人都会受到惩罚;如果审核小组不认可这篇帖子,则会发生相反的情况。这种机制会鼓励参与者通过投票的方式来"预测"审核小组的决断。

futarchy 的另一个案例是用于代币项目的治理系统,每个做投票决策的人必须在投票开启之时以初始价格购买一定数量的代币,让错投赞成票变成一件成本较高之事;此外投票还受另一条件的限制:即使在投票中胜出的决策是错误的,那所有投赞成票的人也必须买下所有投反对票的人手中的代币。这样可以确保错投赞成票的高昂成本,从而抹杀低成本贿选攻击的可能性。

-图解 futarchy 的一种形式,即创建两个市场来代表“未来两种不同的可能性”,并选择其中价格较为优惠的市场。来源:https://ethresear.ch -

然而,这类机制的用途有限。以上文的内容管理为例,我们实际上没有在解决治理问题,而是在假设某个治理工具可信的前提下,赋予它更多的功能。我们也可以尝试用预测市场来代替审核小组,以代币的形式出售广告位,通过创建预测市场来为这些代币定价。代币价格实际上是一种干扰性很强的指标,虽然应用场景很广,但是不适用于指示一些重大决策。而且,我们想要最大化的价值通常不是经由代币实现的。

一般情况下,治理决策的价值并不完全取决于它对代币价格的影响,因此能够公断是非的良好机制无法做到不限制身份且抗串谋。如果有人想要确保博弈是无身份限制,从而建立了一个以代币而非身份为主的系统,就必须在惠及公众利益还是利于财阀统治之间做出选择,这二者是不能两全的。现在,让我们来仔细分析下背后的原因:

假设某位作者创作了对公众有益的作品(例如,一系列博客文章),让整个社区的 10000 名成员都受益匪浅。再假设现在有一个机制,能让整个社区的成员通过某种操作,为创作者带来 1 美元的收益。除非整个社区的成员都有自我牺牲精神,要想让这个机制奏效的话,必须将操作成本控制为远低于 1 美元,否则社区成员支持创作者所能获得的利益将远低于成本,以至于没有人愿意支持创作者,整个系统会因公地悲剧而瓦解。(译者注:原文如此。)因此,必需找到一种方法能让创作者以远低于 1 美元的成本赚取 1 美元。

但现在,我们再来假设一位土豪攻击者开了 10000 个马甲号,组建了一个虚假社区。这个社区就像真实的社区那样运作,只是从支持创作者变成了支持攻击者的 另一个 马甲号。如果一个真实社区可以做到以远低于 1 美元的成本带给作者 1 美元的收益,那么攻击者也可以不断以远低于 1 美元的成本给自己挣得 1 美元的收益,直到耗尽整个系统的资金为止。

如果一个机制能够将彼此的参与者协调起来,那么在缺乏正确保护措施的情况下,已有串谋的参与者(例如,由同一个人控制的多个账户)将会更加协调,不费吹灰之力取走系统内的资金。

类似的挑战不仅存在于融资领域,还存在于决定推送什么内容的时候。你觉得什么样的内容能够创造更高的价值:是一篇能够让成千上万的人有少许收获的高质量博文,还是下面这则广告?

或者下面这个?

持续关注现实世界时政动态的人可能会指出还有一种为中心化主体服务的内容:由政府操控的社交媒体。中心化系统和去中心化系统都要解决同一个根本问题,那就是“观点(以及一般公益品)市场” 跟经济学家所说的 “有效市场” 差别很大,这会导致即使是在 “和平时期” 也会出现公益品(public goods,又译作 “共用品”)减产,而且很难抵御主动攻击。这是个很棘手的问题。

这也就是为什么基于代币的投票系统(如币乎)相比于基于身份的投票系统(如 Gitcoin CLR 或 /r/ethtrader 的甜甜圈币)拥有一个重要优势:至少大批量收购账户没有任何好处,因为你的影响力是跟你的持币量成正比的,哪怕你拥有再多账户,你的持币量依旧没变。然而,依赖于代币而非身份的机制无法从根本上解决支持共用品的分布式社区被中心化利益团体绑架的问题;如果分布式社区采用不限制身份的机制,则无法避免权力过大的财阀假装成一个广泛分散的社区来牟利。

然而,公益品机制设计不仅存在身份造假问题,还有行贿问题。为了找到原因,我们再思考一下上文提到的例子,不过不是由攻击者的 10001 个马甲号组成的“虚假社区”,攻击者只有一个身份并注册了一个账号来接收资金,其它 10000 个账号都是真人用户——不过每位用户会收到 0.01 美元的贿赂,然后通过投票让攻击者获得 1 美元的收益。如上文所述,这些贿赂可能会被高度混淆,甚至为了方便起见会通过第三方监管服务代表用户进行投票。如果是 “代币投票” 的机制设计,混淆投票会容易得多:攻击者可以租借市场上的代币,并用这些代币来参与投票。因此,尽管某几类博弈模型可以做到无身份且抗串谋,尤其是那些基于预测市场或保证金的游戏,但是遗憾的是,允许串谋且不限制身份的解决方案恰恰无法解决广义公益品资金的问题。

抗串谋性和身份

另一种解决方案是直面身份问题。如上文所述,仅仅是安全性更强的中心化身份系统,如护照和其它身份证件,无法实现大规模运作;在经济激励足够强的情况下,这类系统的安全很低而且容易受到政府的影响!确切地说,我们所讨论的 “身份” 是一种由多方面声明(claim)组成的集合,通过个人的独有信息来定义这个人的身份。这种网状身份早有原型,即 HTC 推出的区块链手机可通过社交关系找回钱包的功能。

这种找回功能的基本思路是,将你的私钥秘密分享给最多 5 位可信的联系人,并通过数学方式确保你可以在 3 位联系人的帮助下找回原始私钥,少于 3 位联系人则无法找回。这样就形成了一个“身份系统”——由你的 5 位朋友来确认是否是你本人在试图找回账户。不过这是一种专用身份系统,旨在解决个人账户安全性的问题,与鉴别个人身份不同(而且也更简单一些!)。即便如此,以这种互证身份的一般模型为基础,或能建成一种强健的身份模型。如果有需要的话,这类系统还可以纳入上述的 futarchy 机制:如果有两方就同一个人的身份产生了分歧,并且都愿意为之押注的话,系统可以召集审判组来判定哪方是对的。

但是,我们还希望“身份”具备另一种至关重要的特征:让出租或出售身份的行为变得不可信。我们显然无法阻止 “你给我 50 美元,我就把私钥给你” 之类的交易,不过我们可以想办法降低这类交易的 可信度 ——让卖方可以轻易欺骗买方,给买方一把假私钥。有一种方法是建立一种机制,让私钥的所有者可以通过发送交易撤回私钥,并且任意选择一个私钥将其替换,而且是以不可能被查证的方式实现的。要实现这种机制,最简单的方法大概是让可信的第三方进行计算并且只公布结果(附上能证明该结果的零知识证明,这样等于只信任了第三方提供的隐私性而非完整性),或者通过多方计算以分散化的方式实现同样的功能。这些方法无法彻底解决串谋问题(一群人聚到一起共商投票方案),不过可以将其控制在一定程度内,不致于导致系统奔溃。

此外,私钥的初始分配也是一个问题。如果一名用户通过第三方托管服务创建了自己的身份并由托管方保管其私钥,如果托管方偷用用户的私钥投票会怎样?这其实是一种很隐晦的贿选方式,即用户用自己的投票权换取便捷的服务。此外,如果在这个系统中,投票是无法被证实的,成功防止了贿选行为,增强了安全性,但是这也会掩盖托管方擅用用户私钥进行投票的行为。要防范这个问题,唯一方法似乎是。。。本人验证。例如,可以建立一个“发行方”生态系统, 每位发行方会发行带有私钥的智能卡,用户可以立即将私钥下载至自己的智能手机,并且发送消息将这个私钥换成未泄露的私钥。发行方可以是线下聚会、会议、或者投票机制视为可信的个人。

要想为抗串谋机制建立基础设施,包括强健的去中心化身份系统,是一项艰巨的挑战。但是,如果我们想要释放这类机制的潜力,看来不全力以赴是不行的了。 目前,计算机的安全性问题饱受诟病,例如,有专家曾直言在线投票应 “下线”。但是,如果我们想要扩大投票机制的作用,纳入票重递减型投票和二次方融资之类更为高级的形式,我们就别无选择,只能直面挑战,努力尝试,希望能设计出成功足够安全的系统,至少能够满足某些用例的需求。


原文链接: https://vitalik.ca/general/2019/04/03/collusion.html
作者: Vitalik
翻译&校对: 闵敏 & 阿剑


你可能还会喜欢:

观点 | 没什么比 PoW 更便宜(完整版)
观点 | Vitalik:Layer-1 短期求创新,长期求保守
科普 | 可信身份模型初探

 
0 人喜欢