作者:Tim Roughgarden,a16z crypto研究负责人;翻译:0xxz@金色财经
对一个领域的深入研究会教会你认识到,现实世界中出现的问题不过是那些已被妥善解决的问题的拙劣伪装。例如,当我教授算法基础知识时,学生们学习了如何识别归结为最短路径计算或线性规划的问题。
这种模式匹配在机制设计中同样有效,这是一种利用激励来实现理想结果的“逆博弈论”。机制设计的工具和经验教训在拍卖理论、市场设计和社会选择理论中尤其有用。
Crypto和web3充斥着机制设计问题。人们可能会认为,许多问题都可以通过套用教科书中的内容来解决,对旧思想进行新调整。但是,无需许可区块链协议的独特挑战和限制往往迫使人们对看似已决问题的基本原则进行重新思考。这使得web3中的机制设计变得复杂。但也正是这些挑战使web3机制设计让人着迷。
我将在本文探讨web3机制设计面临的一些挑战。这些挑战对于加密原生用户来说可能很熟悉,但更深入地理解机制设计应该能为所有建设者提供一个新的视角,让他们了解为什么解决这些问题如此难。对于机制设计人员来说,如果你正在思考新的应用程序,那么你可能会对无需许可环境所带来的挑战感兴趣。
但首先,我们要知道的是,什么是机制设计?
机制设计领域的形成至少可以追溯到1961年,当时哥伦比亚大学(Columbia University)经济学家、后来的诺贝尔获奖者威廉•维克瑞(William Vickrey)正式提出了第二价格密封拍卖方式。早在1797年,这种拍卖方式在作者约翰·沃尔夫冈·冯·歌德(Johann Wolfgang von Goethe)出售他的史诗《赫尔曼与多萝西娅》的手稿时就开始使用了,并在19世纪被集邮者普遍使用,但直到1961年才被维克瑞正式提出,现在常被称为“Vickrey auction(维克瑞拍卖)”。在维克瑞拍卖模式下,出价最高的人获胜,但支付的是第二高的出价。这种拍卖激发了竞标者的真正偏好,并将拍品交付给估价最高的人。
维克瑞拍卖是一种优雅而高效的设计,已应用于现实世界,会根据新情况进行调整和更新,实践为理论提供了信息,反之亦然。与维克瑞拍卖一样,机制设计作为一门正式学科的发展史是理论与实践交织的历史,既深沉又美丽。
与博弈论相反——博弈论建立了战略互动维度,探索行为最合理的结果——机制设计领域并非从游戏开始,而是从期望的结果开始。机制设计的目的是对某种形式的游戏进行逆向工程,使期望的结果(可能以效率、公平或某些行为为特征)达到平衡。在维克瑞拍卖的案例中,最终目标是在不惩罚参与者的情况下,吸引参与者支付愿意支付的最大金额。
Web3中的机制设计应用机会非常多。例如,区块链协议可能希望实现协议参与者诚信行为(而不会偏离预期行为)的结果。或者,协议可能希望获得有关交易价值的准确信息,以便有效地将区块空间分配给最有价值的交易。
这样的机制设计问题总是具有挑战性的,而在区块链环境中挑战则更加独特。
1、 缺乏信任
如果没有可信的一方来执行机制,区块链领域的设计就会变得更加困难。
使用无需许可的区块链协议的全部意义在于,你不必信任任何一个实体或个人,只需要“平均水平”的信任假设,即运行协议的节点中有足够多的节点都是诚信的。
但许多区块链架构的讽刺之处在于,添加到链历史中的每一批要在协议维护的虚拟机中执行的交易,都是单个节点单方面决策的产物。
你不清楚是否可以信任这个节点。
这就是为什么在区块链领域很少看到维克瑞拍卖的原因。天真地实施维克瑞拍卖很快就会遇到不受信区块生产者操纵的问题。问题是,一个区块生产者可以制造一个“shill bid”假出价,出价略低于即将成为获胜者的出价,从而迫使获胜者支付几乎他们的全部出价(而非真正的次高出价)。
不受信的区块生产者的假出价有效地导致了维克瑞拍卖退回到第一价格拍卖模式,这也是第一价格拍卖在web3中如此普遍的原因之一。(传统机制设计文献关于“可信机制”的最新分支也考虑了关于不受信拍卖人的拍卖设计,但角度有所不同。)
2、时有串通
区块链机制设计困难的另一个原因就是区块链参与者之间会串通勾结。例如,第二价格拍卖很容易与补偿支付相勾结。道理很简单:既然中标者支付第二高出价,因此竞标者可以贿赂第二高的竞标者,使其出价低得多。
机制设计的学术文献并没有过多地担心这个问题。其中一个原因可能是,串通(尤其是与补偿支付的串通)在现实世界中很难实现。在串通后,赢家大可以拒绝支付贿赂,所以很难获得可信的补偿支付。(俗话说:“贼间无道”。)
然而,在区块链背景下,潜在的串通者通常可以使用智能合约提供可靠承诺,让串通真正发挥作用。第二个原因是缺乏抑制与补偿支付串通的机制——“价格公示”机制,这种机制只提供报价,再无其他。
更糟糕的是,协议用户不仅可能彼此串通,还可能与(不受信的)区块生产者串通(相当于现实世界拍卖中投标人与拍卖商的串通)。
对最后一种串通的抵御是以太坊EIP-1559交易费机制中burn部分交易费的主要动机之一。如果没有“burn”(或以其他方式从区块生产者那里扣留这些收入),区块生产者和最终用户就可以通过补偿支付串通并逃避该机制试图施加的任何保留价格。
3、不能只靠法治
串通问题显然不是什么新问题。几个世纪以来,它一直困扰着现实生活中的各种机制,但如果你查看机制设计文献,就可能会惊讶地发现它几乎没有解决这个问题。这些文献确实正面讨论了个体参与者单方面操纵机制的动机,但通常都把问题留给了一些未现模式的“法治”概念。例如,该机制的参与者可能会签署一份法律合同,合同规定他们不会进行串通。如果发现有串通行为,则会将其交往法律渠道。机制设计者可以通过创建一种相对容易检测串通行为的机制来提供帮助。
在很多机制设计文献中都有一个心照不宣的秘密:对法治的依赖。虽然我们不能说在无需许可区块链协议领域没有法治——我们经常看到执法部门成功地起诉无需许可区块链上的犯罪行为——但法治程度要比传统的机制设计应用程序少得多。
如果你不能在该机制外依靠法治,那么设计师就有责任在机制内解决问题。这种方法普遍存在于区块链领域的机制设计决策中。特别是在以太坊协议中,从EIP-1559燃烧基础费用收益到在其共识协议中罚没行为不当的验证者,示例比比皆是。
4、设计空间更大
web3中的设计空间比机制设计人员所习惯的要大。因此,设计人员必须重新思考所有给定的问题。例如,许多机制涉及到支付,在传统的机制设计应用程序中,这些支付将以美元等法定货币进行。许多区块链协议都有自己的原生货币,并且这种协议内的机制是能够操纵这些货币的。
想象一下,如果你撰写了一篇传统机制设计的文章,你的机制描述的部分内容是:“印一堆新货币,然后分给一群参与者。”跳出区块链的背景来看,这很荒谬。但当你在区块链协议的背景下谈论机制设计时,你完全可以做到这一点。协议控制货币,因此协议的部分机制可以铸造代币或燃烧代币。
这意味着一些没有原生货币就不可能实现的设计成为了可能。例如,你如何激励比特币矿工按照预期执行协议?通过通胀奖励:印新币(比特币)来激励这些区块生产者。如果没有原生货币,这样的设计就不可能实现。
5、原生货币可能会带来其他问题
上一点原因强调了原生货币的力量。你可以用原生货币做两件事:“铸币”(比特币协议铸造新比特币以激励矿工的方式)和“燃烧代币”(以太坊EIP-1559交易费机制燃烧ETH抵御串通的方式)。原生货币潜伏着在传统机制设计中不存在的危险:微观经济设计决策可能会产生宏观经济后果。
在传统的机制设计中,没有理由担心宏观经济力量。传统拍卖方式没有对美国的货币供应或通货膨胀率产生有意义的影响。这对web3设计领域来说是全新的挑战。会发生什么问题呢?我来告诉你两个例子,一个关于比特币的铸造,一个关于ETH的燃烧。
由于使用区块奖励——通过印新币来激励矿工——比特币被迫出现通货膨胀。因此,它还必须有相应的货币政策来决定通胀率以及通胀率如何随时间而演变。中本聪还设定了2100万比特币的硬供应上限。由于比特币的数量有一个硬上限,因此通胀率必须趋近于零。
如果通胀率真的为零,应该用什么来激励矿工继续运行协议,为比特币提供安全保障?人们一直希望交易费能够弥补缺失的区块奖励,尽管发生这种情况的机会相当渺茫。众所周知,如果交易费接近于零,那么比特币协议将遭受重大的安全问题。
普林斯顿大学计算机科学家Miles Carlston、Harry Kalodner、Matthew Weinberg和Arvind Narayanan在一篇文章中指出了交易费和区块奖励之间的另一个区别。虽然每个区块的区块奖励都是相同的(至少在区块奖励的连续两次的“减半”之间是这样),但交易费用可能会发生数量级的变化——这反过来又给协议引入了新的博弈论不稳定因素。从这个意义上说,固定供应上限的宏观经济决策对协议及其参与者具有负面的微观经济后果。
就像区块奖励铸造对比特币来说是一股通胀力量一样,EIP-1559中交易费用的燃烧对以太坊来说是一股通缩力量。在以太坊协议(确实使用通胀验证者奖励)中,这两股力量之间会上演一场拉锯战,通缩常常获胜。ETH现在是一种净通缩货币,这是协议交易费用机制中微观经济动机设计决策的宏观经济后果。
通缩对以太坊协议是好还是坏?ETH持有者喜欢通缩,因为在其他条件相同的情况下,随着时间的推移,他们的代币会变得更有价值。(事实上,这一副产品可能是最终促使公众舆论支持转向EIP-1559交易费机制的原因。)然而,通缩一词让受传统训练的宏观经济学家望而却步,让人想起上世纪90年代日本的经济滞胀。
谁才是对的?就我个人而言,我不认为主权法定货币是对像ETH这样的加密货币的正确类比。那么,正确的类比是什么呢?这仍然是一个悬而未决的问题,需要区块链研究人员进一步探索:为什么通缩货币可以作为支持区块链协议的加密货币,而不能成为支持主权国家的法定货币?
6、不能忽视底层堆栈
在计算机科学中,我们所追求实现的其中之一就是模块化和干净的抽象,这赋予了我们信任系统中某部分的能力。在设计和分析系统的一部分时,你可能需要知道系统的其他部分输出的功能。但理想情况下,你并不需要知道这个功能在底层是如何实现的。
在区块链协议中,我们还没有达到这种理想状态。虽然建设者和机制设计人员可能喜欢关注应用层,但他们不能忽视基础设施层的运作方式及其细节。
例如,如果你正在设计一个自动做市商,你必须考虑到不受信的区块生产者负责交易排序的可能性。或者,在你考虑为一个(L2)rollup设计交易费用机制时,你不仅必须为L2的资源消耗付费,还必须为底层L1协议产生的所有成本付费(例如,存储calldata)。
在这两个例子中,一个层的有效机制设计需要对其他层的详细了解。也许,随着区块链技术越来越成熟,我们将对不同的层进行清晰的分割。但我们现在肯定还没达到这个程度。
7、要求在计算受限的环境下工作
区块链协议实现的“computer in sky”是一个计算受限的环境。传统的机制设计只关注经济激励,而忽略了计算问题(例如,著名的维克瑞-克拉克-格罗夫斯机制对于高度复杂的分配问题是不可行的)。
当Nisan和Ronen在1999年提出算法机制设计时,他们指出,我们确实需要某种计算可追溯性,使机制在现实世界中具有实际意义。因此,他们建议将注意力限制在使用一定量作为问题参数的多项式(而非指数)函数扩展的计算和通信的机制上。
由于区块链协议虚拟机的计算量非常少,因此链上机制必须高度轻量级——多项式时间和通信是必要的,但还不够。例如,稀缺性是自动做市商完全主导以太坊DeFi的主要原因,而不是像限价订单簿这种更传统的解决方案。
8、尚处于早期阶段
通常,当人们说web3还处于早期阶段时,他们指的要么是投资机会,要么是采用情况。但从科学的角度来看,我们甚至比这更早。这只会难上加难——尽管机会巨大。
在成熟的研究领域工作带来的好处被所有人视为理所应当。有公认的模型和定义。在最重要的问题上达成了共识。在进展衡量方面也形成了关键协调。存在一个公共词汇表和一个庞大的公共知识库。还有一些提速途径,包括经过严格审查的教科书、在线课程以及其他资源。
与此同时,在区块链领域的很多方面,我们还不知道“正确”的模型和定义,无法清晰地思考并在重要问题上取得进展。例如,在区块链协议背景下,兼容性激励最重要的概念是什么?web3栈有哪些层?最大可提取值(MEV)有哪些组成部分?这都是些悬而未决的问题。
对于那些对区块链科学感兴趣的人来说,该领域的不成熟的确是一个挑战。但是,尽早参与其中——趁现在——也会带来独特的机会。
机制设计一直是互联网应用层的有用工具——比如实时广告拍卖,或者从电商到拼团等如今大多数的在线消费应用中普遍存在的双边市场设计。
但是在web3中,机制设计也为基础设施本身的设计决策提供了信息。
回想上世纪七八十年代,当时互联网路由协议仍处于讨论和设计阶段。据我所知,没有一个激励和机制设计方面的专业人士在其中占据一席之地。事后看来,我们现在意识到这样的人本可以为设计提供有用的信息。与此同时,在web3中,随着最初的比特币白皮书的发布,激励机制从一开始就是讨论的一部分。
围绕web3的“正确”模型、定义和成功指标的困惑,实际上是在告诉我们,我们正处于一个黄金时代。后代的学生和科学家们会羡慕我们的,我们在正确的时间,在正确的地点,有机会塑造这项技术的发展轨迹。因此,虽然这个领域的教科书可能并不多,但总有一天会有的,而这些书中将要描述的内容就是我们现在正在做的工作。