撰文:a16z 研究主管 Tim Roughgarden
编译:Yangz,Techub News
深入研究某个领域可以让你认识到,现实世界中出现的问题都是已经得到解决的问题的变更版本。例如,当我教授算法基础时,学生们也学会了如何识别归结为最短路径计算或线性规划的问题。
这在机制设计中同样有效。机制设计是一种「逆博弈论」,利用激励机制来实现理想的结果。机制设计的工具和经验在拍卖理论、市场设计和社会选择理论中尤其有用。
加密货币和 Web3 中也充斥着机制设计问题。人们可能会认为,许多问题都可以通过照搬教科书,对旧理论进行微小改动来解决。但是,无许可区块链协议的独特挑战和限制往往迫使人们从第一性原理出发,重新思考看似已经解决的问题。这使得 Web3 中的机制设计变得复杂,也更具魅力。
在这篇文章中,我将探讨 Web3 机制设计所面临的一些挑战。这些挑战对于加密货币原住民来说可能并不陌生,但更深入地了解机制设计可以为所有构建者提供一个全新的视角,让他们了解为什么这些问题如此难以解决。对于机制设计者来说,如果你正在寻找新的应用,你很可能会对无许可环境带来的挑战感兴趣。
首先,什么是机制设计?
作为一个领域,机制设计至少可以追溯到 1961 年,当时哥伦比亚大学的经济学家、未来的诺贝尔奖获得者 William Vickrey 正式描述了第二价格密封拍卖(sealed-bid second-price auction)。但早在 1797 年,作家歌德出售其《赫尔曼与多萝西娅》(Hermann and Dorothea)手稿时,就采用了同样的拍卖方式。这种机制在十九世纪也被集邮者们广泛使用,但直到 Vickrey 对其进行正式描述,才被通俗的称为「维克里拍卖」。在维克里拍卖中,出价最高者胜出,但要支付的是所有投标价格中的第二高价。这种拍卖会能反映出竞拍者的真实偏好,也能将有关物品交到最看重它的人的手上。
维克里拍卖是一种高效的设计,已被应用于现实世界,并针对新情况进行修改和更新,以实践指导理论,反之亦然。与维克里拍卖一样,机制设计作为一门正式学科,也有着理论与实践交织的历史。
博弈论确定了战略交互的各个层面,然后探索行为上最合理的结果,与之相反,机制设计领域不是从博弈开始,而是从期望的结果开始。机制设计的目的是对某种形式的博弈进行逆向工程,从而使这种预期结果(可能以效率、公平或某些行为集为特征)成为一种均衡。就维克里拍卖而言,其目标是获得参与者愿意支付的最大金额,同时又不会因此而惩罚他们。
Web3 中应用机制设计的机会比比皆是。例如,区块链协议可能希望实现的结果是,运行协议的参与者诚实行事,不偏离预期行为。或者,协议可能希望获得有关交易价值的准确信息,以便有效地为最有价值的交易分配区块空间。
这类机制设计问题总是充满挑战,而在区块链背景下,它们又具有独特的挑战性。
1. 缺乏信任
如果没有受信任方来执行机制,区块链领域的设计就会变得更加困难。
无许可区块链协议的全部意义在于,用户不必信任任何一个实体或个人,只需「平均」信任假设,即运行协议的节点中有足够大的一部分是正确的。
但许多区块链架构的讽刺之处在于,每一批添加到链上并在协议维护的虚拟机中执行的交易,都是单个节点单方面决策的产物。
你无法知道这个单一节点是否可以信任。
这就是为什么在区块链环境中很少能看到维克里拍卖的原因。若天真地实施维克里拍卖机制,很快就会产生不受信任的区块生产者操纵的问题,即区块生产者可以制造「虚假出价」--出价略低于中标出价,从而迫使中标者支付几乎全额的出价(而不是第二高的真实出价)。
这种虚假出价实际上会导致维克里拍卖退回到第一价格拍卖,这也是第一价格拍卖在 Web3 中如此盛行的原因之一(传统机制设计文献中关于「可信机制」的最新分支也考虑了不受信任的拍卖人的拍卖设计,尽管其视角略有不同)。
2. 串通行为时有发生
区块链机制设计困难的另一个原因是区块链参与者之间的串通。例如,第二价格拍卖很容易受到串通的影响。简单来说,中标者可以向出价第二高的出价者进行贿赂,使其出价更低。
关于机制设计的学术文献并不太担心这一问题。原因之一可能是串通,尤其是附带付款贿赂的,在现实世界中很难实现。在某些串通行动结束后,赢家可以直接拒绝行贿。(实际情况是,并非「盗亦有道」)。
然而,在区块链领域,潜在的串通者往往可以使用智能合约,以可信的方式承诺支付串通所需的附带费用。此外,该领域也缺乏可以抑制串通附带费用的机制,即「一口价」机制。
更糟糕的是,协议用户不仅可能相互串通,还可能与(不受信任的)区块生产者串通(相当于现实世界拍卖中投标人与拍卖人串通)。
以太坊的 EIP-1559 交易费机制之所以要销毁一部分交易费,其主要动机之一就是要抵御最后一种类型的串通。如果没有「销毁」(或以其他方式从区块生产者那里扣留这些收入),区块生产者和终端用户就可能沆瀣一气,通过附带费用来规避该机制试图强加的底价。
3. 不能只靠法治
串通显然不是一个新问题。几个世纪以来,它一直困扰着现实生活中的各种机制,然而,如果研究一下机制设计文献,你可能会惊讶地发现,这些文献很少涉及串通问题。这些文献确实直面了机制中单个参与者进行单方面操纵的动机,但一般都对串通问题避而不谈,而是将其留给了某种未被模型化的「法治」概念。例如,机制参与者可以签署一份法律合同,明确规定他们不会串通。如果发现串通行为,则将其移交给法律渠道处理。机制设计者可以通过创建一个相对容易发现串通行为的机制来提供帮助。
对法治的依赖是许多机制设计文献不言而喻的秘密。虽然不能说无许可区块链协议中没有法治——我们经常看到执法部门成功起诉无许可区块链上的犯罪行为——但与传统机制设计应用程序相比,这种情况要少得多。
如果不能依靠机制外的法律规则,那么设计者就有责任在机制内处理它。这种方法在区块链领域的机制设计决策中随处可见。特别是在以太坊协议中,从 EIP-1559 中销毁基础费用收入,到共识协议中罚没行为不端的验证者,这类例子不一而足。
4. 设计空间更大
Web3 的设计空间比机制设计师所习惯的要大。因此,他们必须重新思考任何给定的问题。例如,许多机制都涉及支付;在传统的机制设计应用中,这些支付都是以美元等法定货币进行的。许多区块链协议都有自己的原生货币,并且此类协议中的机制能够操纵该货币。
想象一下,如果你写了一篇传统的机制设计论文,其中机制描述的一部分是:「印一堆新钱,并将其提供给一群参与者。」这看起来会很荒谬。但在区块链协议的背景下讨论机制设计时,你就可以这么做。协议控制着货币,因此作为协议一部分的机制可以铸造或销毁货币。
这意味着,一些如果不使用原生货币就不可能实现的设计会变得可能。例如,如何激励比特币矿工按照预期执行协议?通过通货膨胀奖励:铸造新的比特币来激励这些区块生产者。如果没有原生货币,这样的设计是不可能实现的。
5. 原生货币会带来其他问题
上一个原因凸显了原生货币的威力,它能做的两件显而易见的事是:「铸造」(比特币协议铸造新比特币以激励矿工)和「销毁」(以太坊的 EIP-1559 交易费机制销毁 ETH 以实现抗串通的方式)。但是,原生货币中潜藏着一种传统机制设计中不存在的危险:微观经济设计决策可能会对宏观经济产生影响。
在传统机制设计中,没有理由担心宏观经济力量。没有任何传统拍卖对美国的货币供应或通货膨胀率产生过有意义的影响。但对 Web3 设计领域来说,这是一个全新的挑战。会出什么问题呢?我来举两个例子,一个是比特币的铸币,一个是以太坊的销毁。
由于使用区块奖励--通过铸造新币来激励矿工--比特币被迫产生通胀。因此,比特币还必须有货币政策来决定通胀率以及通胀率如何随时间演变。中本聪还设定了一个硬性供应上限,即 2100 万枚比特币。由于比特币数量有硬性上限,通胀率必须归零。
如果真的归零,矿工们还有什么动力继续运行协议,为比特币的安全性做出贡献呢?人们一直希望交易费能弥补区块奖励的缺失,尽管实现这一点的证据并不充分。众所周知,如果交易费用接近于零,那么比特币协议就会出现重大的安全问题。
普林斯顿大学计算机科学家 Miles Carlston、 Harry Kalodner、Matthew Weinberg 和 Arvind Narayanan 的一篇论文指出了交易费用和区块奖励之间的另一个区别。每个区块的区块奖励都是相同的(至少在每四年一次的区块奖励「减半」之间是相同的),而交易费用却可以有数量级的变化--这反过来又给协议带来了新的博弈论上的不稳定性。从这个意义上说,固定供应上限的宏观经济决策会给协议及其参与者带来负面的微观经济后果。
在比特币中,区块奖励的铸造是一种通胀的力量,而在以太坊中,EIP-1559 中交易费用的销毁则是一种通缩的力量。在以太坊协议中(确实使用了通胀的验证器奖励),这两种力量之间存在着拉锯,通常是通缩力量获胜。以太坊现在是一种净通缩货币,这是以太坊协议交易费机制中微观经济设计决策的宏观经济后果。
至于通缩对以太坊协议是好是坏这个问题,以太坊持有者更喜欢通缩,因为在其他条件相同的情况下,通缩会使以太坊随着时间的推移变得更有价值。(事实上,这种附带影响可能是舆论最终倾向于改用 EIP-1559 交易费机制的原因)。然而,通缩的想法会让传统训练有素的宏观经济学家感到畏惧,让人回想起 20 世纪 90 年代日本的滞胀。
谁是对的?就我个人而言,我并不认为主权法定货币是以太坊这种加密货币的正确类比。但正确的类比应该是什么呢?这是一个悬而未决的问题,区块链研究人员可以进一步探讨: 为什么通缩货币可以作为区块链协议的加密货币,而不能作为主权国家的法定货币?
6. 底层堆栈不可忽视
在计算机科学领域,我们所追求的目标之一就是模块化和简洁抽象,使得人们能够信赖系统的某些部分。在设计和分析系统的某个部分时,我们可能需要了解系统其他部分输出的功能;但理想情况下,我们不需要了解这些功能在底层是如何实现的。
在区块链协议中,我们还没有达到这种理想状态。虽然构建者和机制设计者可能希望专注于应用层,但他们不能忽视基础设施层如何运作的现实和细节。
例如,如果你正在设计一个自动做市商,你就必须考虑到这样一个事实:不受信任的区块生产者负责交易排序。或者,当你在考虑(第 2 层)Rollup 交易的交易费机制设计时,你不仅要支付第 2 层的资源消耗,还要支付底层第 1 层协议所产生的任何成本(例如,存储 calldata 所产生的成本)。
在这两个例子中,某一层的有效机制设计需要其他层的详细专业知识。也许,随着区块链技术的成熟,我们会把不同的层完全分开。但现在肯定还没有。
7. 需要在计算受限的环境中工作
区块链协议实现的「空中计算机」是一个计算受限的环境。传统的机制设计只关注经济激励,忽略了计算问题(例如,著名的 VCG(Vickrey-Clarke-Groves)机制对于足够复杂的分配问题来说是不可行的)。
Nisan 和 Ronen 在 1999 年介绍算法机制设计时指出,我们确实需要某种计算上的可操作性,这样机制才能在现实世界中具有实际意义。因此,他们建议将注意力限制在那些计算量和通信量与问题参数成多项式(而非指数)函数关系的机制上。
由于区块链协议虚拟机中的计算量非常稀缺,因此链上机制必须非常轻量级--多项式时间和通信量是必要的,但还不够。例如,这种稀缺性是自动做市商完全主导以太坊 DeFi 赛道的主要原因,而不是限价订单簿等更传统的解决方案。
8. 时间还早
通常,当人们说 Web3 仍处于早期阶段时,他们指的是投资机会或采用情况。但从科学的角度来看,我们甚至比这更早。尽管这是一个巨大的机遇,但这一事实只会让事情变得更加困难。
在一个成熟的研究领域工作,会给每个人带来理所应当的裨益。成熟的研究领域有公认的模型和定义,对最重要的问题也有共识。在如何衡量进展方面,有非同一般的协调力。有共同的词汇和庞大的共同知识库,还有帮助快速上手的通道,包括经过严格审核的教科书、在线课程和其他资源。
反观区块链领域,我们还不知道「正确」的模型和定义,无法清晰地思考重要问题并取得进展。例如,在区块链协议中,最重要的激励兼容性概念是什么?Web3 堆栈有哪些层?最大可提取价值(MEV)应包含哪些内容?而这只是其中一部分问题。
总结
对于有意从事区块链科学工作的人来说,该领域的不成熟是一个挑战。 但是,尽早进入这个领域也是一个独特的机遇。
机制设计一直是互联网应用层的有用工具,例如实时广告拍卖,或者当今大多数在线消费应用(从电子商务到共享出行)中普遍存在的双面市场的设计。
而在 Web3 中,机制设计也为基础设施本身的设计决策提供了参考。
回想上世纪七八十年代,人们还在讨论和设计互联网路由协议。但据我所知,当时在激励和机制设计方面具有专业知识的人并不能占有一席之地。事后看来,这些人才本可以为设计提供有用的信息。反观 Web3,随着比特币白皮书的发布,激励机制从第一天起就成为了讨论的一部分。
围绕 Web3 的「正确」模型、定义和成功指标所产生的混乱,实际是在告诉我们,我们正处于一个黄金时代。后世的学生和科学家会羡慕我们在正确的时间出现在了正确的地点,有机会塑造这项技术的发展轨迹。因此,虽然这个领域的教科书可能不多,但总有一天会有的,而这些教科书中所描述的会是现在正在进行的各项研究。


