原文标题:《OnPapertoOn-Chain:HowAuctionTheoryInformsImplementations》
作者:MichaelZhu,a16z
编译:老雅痞
拍卖在加密货币中无处不在。从Maker抵押品拍卖到Flashbots的密封投标区块空间拍卖和?OpenSea??上的?NFT??拍卖,拍卖适用于需要价格发现、流动性或稀缺资源分配的各种情况,无论是链上还是链下。
然而,与关于拍卖的大量学术研究并列,很明显,我们只是触及了这些机制可能在链上提供的功能的皮毛——例如,优化隐私、效率、买家盈余和其他关键设计目标。鉴于2020年?Curve??和?Sushiswap??之后自动做市商(AMM)设计的「大爆发」——以及第三代区块链的同时爆发——链上拍卖似乎已经成熟,可以出现类似的进化高潮。
尽管拍卖形式曾经被松散地采用区块链的技术限制,但我们现在开始看到更多特别适合区块链的新颖设计。遵循市场的传统,这篇文章是主要是想弥合拍卖理论与实践之间的差距:理论原则如何为决策实施提供信息?反过来,链上实现又如何为理论研究提供新的方向?尽管理论可以引导我们走向某种拍卖设计,但从理论角度分析实施细节本身可能会很有趣。
我们首先沿着三个轴比较四种典型的拍卖类型:信息披露、竞价策略和链上实施考虑。然后,我们将特别关注密封投标格式,深入研究使它们在链上相对未被探索的实施细节,并介绍我们的Vickrey拍卖的开源Solidity实施——我们希望其他人可以将其用作参考和为进一步实验奠定基础。
简要介绍一下拍卖形式
我们之前已经在与a16z加密研究合作伙伴ScottKominers和a16z加密研究负责人TimRoughgarden讨论过。利用他们为加密协议提供建议的专业知识,他们在理论和实践中概述了拍卖类型和激励设计——包括市场清算价格和GasWar的细微差别。
但是为下面的实现设置一些背景材料:拍卖理论在历史上一直围绕着四种典型的拍卖类型,由WilliamVickrey于1961年首次分类,并在此处以单一商品拍卖的背景进行描述。
?链下可用拍卖设计的快照。资料来源:维基百科
英式拍卖:在英式或升价拍卖中,拍卖师以保留价格开标,投标人逐渐提高出价,直到只剩下一个愿意支付当前价格的投标人,此时点最后一个投标人获胜。这是流行文化和媒体中最常见的拍卖形式,通常是在出售古董、艺术品或未切割宝石的背景下。
荷兰式拍卖:在荷兰式或降价拍卖中,开盘价按照规定的时间表递减。在荷兰式拍卖中,第一个出价的是获胜者,拍卖会立即结束。从历史上看,荷兰式拍卖的多单位版本经常用于出售大量保质期有限的商品,例如切花、鱼或烟草。最近,美国财政部引入了荷兰式证券拍卖,2004年谷歌首次公开募股时候,就是通过荷兰式拍卖出售了其股票。
密封投标第一价:每个投标人向拍卖师提交密封投标。提交所有出价后,拍卖师会私下阅读它们并宣布获胜者。然后获胜者支付他们出价的金额。当房产引起多个买家的兴趣时,密封投标的第一价格拍卖通常用于房地产。
封标二价:维克里的同名拍卖与封标一价拍卖相同,只是这种拍卖类型中的获胜者支付第二高出价的价值。尽管具有有趣的理论特性,但Vickrey拍卖很少出现在链上。
这四种拍卖类型具有不同的属性和动态,当转换为智能合约实现时会更加复杂。
通过信息披露比较拍卖类型
比较每种拍卖类型的一种更自然的方法是通过投标可见性。即使在所有其他条件相同的情况下,不断变化的出价可见度也会对拍卖的动态和结果产生深远影响。
英式和荷兰式拍卖是公开叫价拍卖,这意味着价格在上升或下降时以口头方式宣布,并且出价对所有潜在买家都是公开的。然而,密封投标拍卖可能会采用几种不同的隐私方式:
最终公开:所有投标在拍卖结束后公开
公开价格:只公开中标价,不公开其他标价
完全保密:没有公开披露投标或中标价格
这些关于投标可见性的假设意味着拍卖在信息披露方面也有所不同。不同的拍卖形式在过程的不同阶段揭示了关于投标人估值的不同数量的信息。在英式拍卖中,出价有效地确定了该投标人估值的下限。另一方面,在荷兰式拍卖中,当前价格可以解释为所有投标人估值的上限。密封投标拍卖只有在拍卖结束后才会披露信息。
值得注意的是,荷兰式拍卖可以兼具公开拍卖和密封拍卖的品质。单项荷兰式拍卖具有与公开价格密封投标拍卖类似的隐私属性。但正如我们稍后将看到的,当荷兰式拍卖在链上运行时,这些属性会发生显着变化。
共同价值和私人价值
检查公开投标和密封投标拍卖中私人和共同价值商品的销售情况可以为比较这些格式提供另一个视角。在出售共同价值商品的拍卖中,该物品具有一些在所有投标人之间共享的内在价值,但投标人可能拥有关于该价值的不同或不完整的信息。在诺贝尔奖获得者行为经济学家RichardThaler的共同价值的典型例子,一罐硬币正在拍卖;没有一个投标人知道罐子里物品的确切价值,但每个人都有自己的估计。在出售私人价值商品的拍卖中,每个投标人对拍卖的物品都有单独的价值,独立于他们的同行。以Web3为例,纯粹为了个人享受购买的NFT是一种私人价值商品,而来自清算Maker保险库的抵押品是一种共同价值商品。
同时,另一篇研究木材拍卖数据的论文的作者发现,与公开投标相比,密封投标拍卖「吸引了更多的小型投标人,将分配给这些投标人,并且还可以「产生更高的收入」。值得注意的是,作者发现这些结果可以通过私人价值模型来解释,完全忽略了他们模型中的共同价值。这表明,在投标人动机、背景或拍品用途不同的情况下,卖方可能会从选择密封投标拍卖。
英式拍卖在共同价值占主导地位且价格发现是目标的情况下很有用——如前所述,投标人在投标进入时了解其他人如何评估该项目,就可以相应地调整自己的策略。在一项关于在线劳动力市场反向拍卖的研究中,作者发现,虽然密封投标拍卖吸引了更多投标,但公开投标拍卖的结果,导致这些买家获得更好的价格。分析表明,这些差异「很大程度上取决于拍卖IT服务的共同价值部分的相对重要性。」换句话说,公开投标格式允许投标人动态地重新校准他们对服务价值的理解,这在拍卖开始时通常不清楚。
在实践中,拍卖通常表现出共同价值和私人价值特征的结合。这些商品的特性之间的相互作用,以及拍卖形式如何显示信息对投标策略具有复杂的下游影响。这就引出了一个问题:我们能否将「简单」出价策略的概念正式化;是否存在此类策略最佳的拍卖?
按出价策略比较拍卖类型
迄今为止,在四种典型的拍卖类型中,明显缺少对Vickrey拍卖的分析。细心的读者可能会对Vickrey拍卖的付款规则感到惊讶:获胜者支付第二高的出价,而不是他们自己的出价。这似乎违反直觉。对比来说,英式拍卖以没有其他投标人愿意满足的最低出价结束;获胜者没有理由进一步出价,即使他们自己的估值要高得多。事实上,英式拍卖和Vickrey拍卖与荷兰拍卖和密封投标第一价格拍卖相比,具有很好的理论优势:主导策略激励相容性(DSIC)。
粗略地说,这意味着每个投标人的效用最大化策略只是按照他们实际认为拍卖物品的价值来出价。为了更深入地了解,这些讲义可作为出色的入门读物。
在第一价拍卖中,没有这种优势竞价策略。投标人需要降低他们的出价以低于他们的估值,才能获得正效用。确切地说,他们需要考虑的是,在出价高于其他参与者的情况下,可以省下多少钱,这就是贝叶斯博弈。荷兰式拍卖在战略上是相似的。为了获得正效用,投标人必须等到价格低于其估值,但在该阈值之后等待多长时间是另一个贝叶斯博弈。也许更令人惊讶的是,所有四种拍卖类型的预期收入都是相同的。
尽管Vickrey拍卖在理论上具有优势,但在实践中却并不常见。为什么会出现这种情况?在TheLovelybutLonelyVickreyAuction中,经济学家LawrenceAusubel和PaulMilgrom提供了几种解释。作者指出,尽管在战略上是等效的,但英国拍卖在直觉上比Vickrey拍卖更容易让投标人推理。这种直觉在明显的策略证明机制中被形式化,这表明英国拍卖不仅是DSIC,而且如实出价是「明显占优势」。
为了提供一个真实的例子,谷歌去年宣布,一个广告商竞标内容广告空间的项目AdSense——将从第二价格拍卖转向第一价格拍卖,理由是简单并与其他数字广告保持一致生态系统。除了这些可用性考虑之外,像AdSense这样的平台在进行次价拍卖时,也采取了信任的立场:通过高估次高的出价,不诚实的拍卖师可能会从获胜者那里获得更多的报酬。
尽管这些担忧影响了采用,但Vickrey拍卖可以在扩展到新环境时找到新的用例。特别是公共区块链提供了一个可信的中立平台,可以帮助规避诸如不诚实的拍卖师等问题。这一点,再加上潜在链上应用的多样性,表明智能合约可以为Vickrey拍卖机制提供一个独特有效的测试平台。
通过实施考虑比较拍卖类型
相对于链下同行,将拍卖带到链上有时会带来新的挑战。在以下部分中,我们将探讨链上拍卖的当前格局以及每种拍卖类型的实施注意事项。
链上英式拍卖
今天,大多数链上拍卖都属于公开投标类别。这其中包括价格上涨的OpenSea拍卖、Maker抵押品拍卖和ZoraAuctionHouse智能合约。
在OpenSea的底层,投标是对投标值进行编码的链下消息,由投标人签名。当潜在买家出价时,OpenSeaUI会向卖家和潜在投标人显示出价。然而,在Maker抵押品和Zora拍卖中,投标人提交交易以表明他们的投标;然后,投标交易在拍卖合同中托管投标人的抵押品。由于是一个未混淆的链上交易,投标本质上是公开的——任何人都可以通过查看拍卖合约的传入交易来查看他们的投标人提供了什么)。
总体而言,当转化为智能合约时,英式拍卖动态仍然相对完整。一个显着的区别是,链上投标会产生Gas成本,该成本被计入实际的投标价值。由于汽油价格在拍卖的竞标期间波动,否则可能会获得最高报价的竞标者可能会因昂贵的Gas费而暂时被淘汰。
链上荷兰式拍卖
从促进NFT销售到重新平衡TokenSet,链上荷兰式拍卖已经获得了巨大的牵引力。这种受欢迎程度是有充分理由的——简单的荷兰式拍卖作为智能合约相对容易实施,并且只需要两次链上交易。最重要的是,它不会锁定投标人的资金,这与其他具有链上投标的拍卖不同。
链下荷兰式拍卖的动态取决于有效的即时竞价。荷兰式拍卖在出价一经宣布即告结束,不得再进行其他出价。然而,在链上进行时,在广播出价和将其包含在链中之间存在时间间隔,这可能会产生一些意想不到的后果。如果第一个出价被广播到公共内存池,它可能会引发一场GasWar,其他潜在买家会广播出越来越高的Gas价格的出价。因此,当交易订单的链下升价拍卖超过荷兰式拍卖本身时,Gas调整后的价格可能会突然上涨。
价格下降机制的时间依赖性也带来了其他缺点。假设一个连续的价格衰减函数,投标人必须在需要时准确地在线以特定价格投标,或者设置一个机器人来投标。偶然与第一个投标的广播同时发生的网络拥塞可能会降低最终结算价格,从而损害卖方的收入。更糟糕的是,DoS攻击可能会使合法的获胜者失去拍卖。
链上密封投标拍卖,由新的开源实施证明
利用链下投标的平台可以轻松实施密封投标拍卖,但他们需要信任拍卖师不透露任何投标,不审查任何投标,以及正确确定拍卖的结果。理想情况下,智能合约将不信任地促进拍卖,同时保留一定程度的投标隐私。
为了演示,我们在github.com/a16z/auction-zoo上开源了一个超抵押密封投标拍卖的Solidity实现,作为以?ETH??计价的单项(ERC721)Vickrey拍卖。我们在实施时考虑了密封投标拍卖智能合约的三个要求:
隐私:投标值应保持私密,这意味着观察者无法在投标进行时推断值。我们允许一些信息泄露,但应该有合理程度的模糊。
审查阻力:这通常可以通过在链上发布投标来实现。
投标承诺:潜在买家不应退出投标。中标者应被锁定以支付结算价格,同样,卖方应被锁定以将物品出售给出价最高的人。
首先,根据前两个要求,我们需要解决在链上发布私人投标的问题。承诺披露方案适用于「最终公开」的投标。潜在买家可以在指定的投标期内向拍卖合同提供其投标的哈希承诺,而不是公开投标。稍后,在投标期结束后,每个潜在买家都会透露他们承诺的投标。当出价公布时,智能合约可以确定获胜者。在我们的实现中,哈希承诺被计算keccak256(abi.encode(nonce,bidValue))并传递给函数。为了Gas效率,我们只存储这个散列的前20个字节。投标期结束后,用户调用和合同commitBidrevealBid检查提供的nonce并bidValue匹配存储的承诺。
当转向第三个要求时,我们发现了更多的复杂性。为确保获胜者付款,智能合约必须锁定投标。我们可以要求投标人发送ETH来担保他们的投标——注意该commitBid功能是支付的,并记录用户锁定了多少ETH——但附加到这些交易的ETH是公开的,不可能被混淆;在「锁定」出价中,我们失去了隐私。
幸运的是,有一种简单的方法可以支持我们的想法:允许投标人对其投标进行超额抵押,即锁定比投标价值本身所需的更多的ETH。由于投标可能被超额抵押,观察者只能了解投标价值的上限。请注意,我们的功能允许用户在commitBid他们的交易中锁定任意数量的ETH;拍卖结束时,任何超出部分都会退还给获胜者。
不幸的是,这种快速解决方案有一个缺点:过度抵押在隐私和资本效率之间产生了直接的权衡。锁定大量资金的机会成本可能超过边际,资金受限的投标人处于劣势。
也就是说,当我们继续探索不同的方法时,超额抵押是一个有用的基准。这种实现的演进在用户可能在大量拍卖中出价并且可以为每个拍卖重复使用抵押品的设置中可能特别有用。在这种情况下,抵押品自然会比任何特定拍卖中的出价大得多。
我们能找到更好的链上解决方案吗?尽管在某些情况下超额抵押可能是合适的,但资本效率和投标隐私之间的权衡可能会给投标人带来一个艰难的决定:锁定更多资金以获得更强的隐私,或者牺牲一些隐私来释放资金以供其他地方使用。但随着链上拍卖继续激增并建立在以前的工作之上,我们预计拍卖设计师将根据他们愿意做出的权衡来选择更多的格式和实现。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。