从纸上到链上:拍卖理论如何为智能合约实施提供信息 PlatoBlockchain 数据智能。垂直搜索。人工智能。

从纸上到链上:拍卖理论如何为智能合约实施提供信息

拍卖在加密货币中无处不在。 从 制造者 抵押品拍卖,以 闪光机器人 密封投标区块空间拍卖和 NFT 拍卖 外海,拍卖适用于需要价格发现、流动性或稀缺资源分配的各种情况,无论是链上还是链下。 

然而,与关于拍卖的大量(且不断增长的)学术研究并列,很明显,我们只是触及了这些机制可能在链上提供的功能的皮毛——例如,优化隐私、效率、买家盈余和其他关键设计目标。 鉴于 2020 年 Curve 和 Sushiswap 之后自动做市商 (AMM) 设计的“寒武纪大爆发”——以及第三代区块链的同时爆发——链上拍卖似乎已经成熟,可以出现类似的进化高潮。 . 

尽管拍卖形式曾经被松散地采用(并受制于)区块链的技术限制,但我们现在开始看到更多特别适用于区块链的新颖设计。 遵循传统 市场设计,这篇文章是旨在弥合拍卖理论与实践之间差距的系列文章的一部分:理论原则如何为实施决策提供信息? 反过来,链上实现又如何为理论研究提供新的方向? 尽管理论可以引导我们走向某种拍卖设计,但从理论角度分析看似无害的实施细节本身可能会很有趣。 

我们首先沿三个轴比较四种典型的拍卖类型: 信息披露, 竞标策略链上实施注意事项. 然后,我们将特别关注密封投标格式,深入研究使它们在链上相对未被探索的实现细节,并介绍我们的 开源 Solidity 实现 Vickrey 拍卖——我们希望其他人可以将其用作进一步实验的参考和基础。 

但首先,简要介绍一下拍卖形式

我们之前已经在最近的一篇文章中详细介绍了拍卖设计——包括传统格式以及应用于和适应区块链的方式。 播客 与 a16z 加密研究合作伙伴(以及哈佛商学院教授)Scott Kominers 和 a16z 加密研究负责人(哥伦比亚大学教授)Tim Roughgarden。 利用他们为加密协议提供建议的专业知识,他们在理论和实践中概述了拍卖类型和激励设计——包括 市场出清价格和天然气战争 (我们在这个正在进行的 web3 拍卖设计系列的第二部分中进行了介绍)。

但要为以下实施设置一些快速背景:拍卖理论历来围绕四个规范 拍卖类型, 首先分类为 威廉·维克瑞 于 1961 年,并在此处以单一商品拍卖的背景进行描述。

链下可用拍卖设计的快照。 资源: 维基百科上的数据

  • 英语 (升价):在英式或升价拍卖中,拍卖师以保留(最低)价格开始投标,投标人逐渐提高出价,直到只剩下一个愿意支付当前价格的投标人,此时最后出价者获胜。 这是流行文化和媒体中最常见的拍卖形式,通常是在出售古董、艺术品或 未切割的宝石
  • 荷兰人 (降价):在荷兰式或降价拍卖中,开盘价按照规定的时间表递减。 在荷兰式拍卖中,第一个出价的是获胜者,拍卖会立即结束。 从历史上看,荷兰式拍卖的多单位版本经常被用来出售大量保质期有限的商品, 切花、鱼或烟草。 最近,美国财政部引入了荷兰式证券拍卖(1974),以及 2004 年的谷歌 IPO (臭名昭著) 通过荷兰式拍卖出售其股份。
  • 密封投标第一价:每个投标人向拍卖人提交密封的投标(例如在密封的信封中)。 提交所有出价后,拍卖师会私下阅读它们并宣布获胜者(出价最高的人)。 然后获胜者支付他们出价的金额。 密封投标第一价拍卖通常用于 房地产 当一处房产引起多个买家的兴趣时。 
  • 封标二价 维克里拍卖”): Vickrey 的同名拍卖与密封出价的第一价拍卖相同,只是这种拍卖类型中的获胜者支付了 第二- 最高出价。 尽管具有有趣的理论特性,但 Vickrey 拍卖很少出现在链上(部分原因是难以实施密封投标)。

这四种拍卖类型具有不同的属性和动态,当转换为智能合约实现时会更加复杂(稍后我们将详细介绍)。

通过信息披露比较拍卖类型

表征每种拍卖类型的更自然的方法之一是 出价可见性 (公开与密封投标)。 即使在所有其他条件相同的情况下,不断变化的出价可见度也会对拍卖的动态和结果产生深远影响。

英国和荷兰的拍卖是 公开喊价 拍卖,这意味着价格在上升或下降时以口头形式公布,并且出价(包括其金额)对所有潜在买家都是公开的。 然而,密封投标拍卖可能会采用几种不同的隐私方式:

  • 最终公开: 所有出价在拍卖结束后公开
  • 公开价格: 只显示中标价,不显示其他出价
  • 完全私有: 没有公开任何关于投标或中标价格的信息

这些围绕出价可见性的假设意味着拍卖在以下方面也有所不同 信息披露; 不同的拍卖形式在过程的不同阶段揭示了关于投标人估值(通常是上限或下限)的不同数量的信息。 在英式拍卖中,出价有效地确定了该投标人估值的下限。 另一方面,在荷兰式拍卖中,当前价格可以解释为所有投标人估值的上限。 密封投标拍卖只有在拍卖结束后才会披露信息,如果有的话。 

值得注意的是,荷兰式拍卖可以兼具公开拍卖和密封拍卖的品质。 单项荷兰式拍卖具有与公开价格密封投标拍卖类似的隐私属性(因为 第一 出价中标,所有其他较低的出价都保密)。 但正如我们稍后将看到的,当荷兰式拍卖在链上运行时,这些属性会发生显着变化。 

共同价值和私人价值

检查销售额 私立 共同价值 公开投标和密封投标拍卖可以为比较这些格式提供另一个视角。 在拍卖会上出售 共同价值好,该项目具有在所有投标人之间共享的一些内在价值,但投标人可能对该价值有不同或不完整的信息。 在获得诺贝尔奖的行为经济学家中 理查德·泰勒 共同价值的典型例子,一罐硬币正在拍卖; 没有一个投标人知道罐子里的确切价值,但每个人都有自己的估计。 在出售私人价值商品的拍卖中,每个投标人对拍卖的物品都有单独的价值,独立于他们的同行。 举个web3的例子,一个纯粹为了个人享受而买的NFT(无意 转售或对未来效用的期望)是一种私人价值商品,而来自清算 Maker 保险库的抵押品是一种普通价值商品。

与此同时,另一位作者 查看木材拍卖的数据发现,与公开投标相比,密封投标拍卖“吸引了更多的小型投标人,将分配分配给这些投标人,并且还可以产生更高的收入”。 值得注意的是,作者发现这些结果可以通过私人价值模型来解释(私人价值根据木材拍卖的特性而变化,例如“投标人成本和合同安排的差异”),完全忽略了他们模型中的共同价值。 这表明,在投标人对拍卖物品的动机、背景或用途不同的情况下,卖方可能会从选择密封投标拍卖中受益。

英式拍卖在具有共同价值的环境中很有用 主导和价格发现是一个目标——如前所述,投标人在投标进入时了解其他人如何评估该项目,并可以相应地调整他们的策略。 在一项关于反向拍卖的研究中 在线劳动力市场,作者发现,虽然密封投标拍卖吸引了更多投标,但公开投标拍卖导致这些买家获得更好的价格(或更多的买家盈余)。 分析表明,这些差异“很大程度上取决于拍卖 IT 服务的共同价值(相对于私人价值)部分的相对重要性。” 换句话说,公开投标格式允许投标人动态地重新调整他们对服务价值的理解,这在拍卖开始时通常是不清楚的。

在实践中,拍卖通常表现出共同价值和私人价值特征的结合。 这些商品的特性之间的相互作用,以及拍卖形式如何(以及何时)显示信息对投标策略具有复杂的下游影响。 这就引出了一个问题:我们能否将“简单”出价策略的概念正式化(我不需要过多考虑您可能会如何出价); 是否存在此类策略最佳的拍卖?

按出价策略比较拍卖类型

在四种典型的拍卖类型中,迄今为止我们的分析中明显缺少的一种是 Vickrey 拍卖。 细心的读者可能会对 Vickrey 拍卖的付款规则感到惊讶:获胜者支付 第二 最高出价而不是他们自己的出价。 起初这似乎违反直觉,但英国拍卖最终以类似的方式解决。 英式拍卖以没有其他投标人愿意满足的最低出价结束; 获胜者没有理由进一步出价,即使他们自己的估值要高得多。 事实上,English 和 Vickrey 拍卖在理论上比荷兰拍卖和密封投标的第一价拍卖具有很好的理论优势: 主导战略激励相容 (DSIC)。 

在高层次上,这意味着每个投标人的效用最大化策略只是出价他们实际认为拍卖物品的价值(在共同价值拍卖中,这只是物品的预期价值,以投标人的信息为条件) . 为了更深入的潜水, 这些 讲义是很好的入门读物。

在第一价拍卖中,没有这种优势竞价策略。 投标人需 (或降低)他们的出价低于他们的估值以获得正效用。 他们在出价仍然高于其他参与者的情况下到底能逃脱多少? 贝叶斯博弈. 荷兰式拍卖在战略上是相似的。 为了获得正效用,投标人必须等到价格低于其估值,但在该阈值之后等待多长时间是另一个贝叶斯游戏。 也许更令人惊讶的是,预期收入 所有四种拍卖类型 是相同的(在某些假设下;见 定理1). 

尽管维克里拍卖在理论上具有优势,但在实践中却并不常见。 在 可爱但孤独的维克里拍卖会,经济学家劳伦斯·奥苏贝尔和保罗·米尔格罗姆提供了几种解释为什么会出现这种情况。 作者指出,尽管在战略上是等效的,但英国拍卖在直觉上比 Vickrey 拍卖更容易让投标人推理。 这种直觉形式化为 明显的策略证明机制可见,英式拍卖不只是DSIC,如实出价“明显占优”。 

为了提供一个真实的例子,谷歌 公布 去年,AdSense——一个广告商竞标内容广告空间的项目——将从第二价格拍卖转向第一价格拍卖,理由是简单并与数字广告生态系统的其他部分保持一致。 除了这些可用性考虑之外,像 AdSense 这样的平台在进行次价拍卖时也采取了信任的立场:通过高估次高的出价,不诚实的拍卖师可能会从获胜者那里获得更多的报酬。 

尽管这些担忧减缓了采用,但 Vickrey 拍卖可以在扩展到新环境时找到新的用例。 特别是公共区块链提供了一个可信的中立平台,可以帮助规避诸如不诚实的拍卖师等问题。 这一点,再加上潜在链上应用的多样性,表明智能合约可以为 Vickrey 拍卖机制提供一个独特有效的测试平台。

通过实施考虑比较拍卖类型

相对于链下同行,将拍卖带到链上有时会带来新的挑战。 在以下部分中,我们将探讨链上拍卖的当前格局以及每种拍卖类型的实施注意事项。 

链上英文拍卖

今天在野外发现的大多数链上拍卖都属于公开投标类别(即英语或荷兰语)。 其中包括价格上涨的 OpenSea 拍卖、Maker 抵押品拍卖和 Zora Auction House 合同。 

在 OpenSea 的底层,投标是对投标值进行编码的链下消息,由投标人签名。 当潜在买家出价时,OpenSea UI 会向卖家和潜在投标人显示出价。 然而,在 Maker 抵押品和 Zora 拍卖中,投标人提交交易以表明他们的投标; 然后投标交易在拍卖合同中托管投标人的抵押品。 由于是一个未混淆的链上交易,投标本质上是公开的——任何人都可以通过查看拍卖合约的传入交易(无论是在公共内存池中,还是在它们被包含在链中时)来查看他们的投标人提供了什么)。 

总体而言,当翻译成智能合约时,英国的拍卖动态仍然相对完整。 一个显着的区别是链上投标会产生汽油成本,该成本被计入事实上的投标价值。 由于汽油价格在拍卖的竞标期间波动,否则可能会获得最高报价的竞标者可能会因昂贵的汽油费而暂时被淘汰。

链上荷兰式拍卖

链上荷兰式拍卖从促进 NFT 销售 再平衡 TokenSets (和产卵变种,如 渐变拍卖 V可变利率 GDA)。 这种受欢迎程度是有充分理由的——简单的荷兰式拍卖作为智能合约相对容易实施,并且只需要两次链上交易(一次用于创建拍卖,一次用于第一次也是唯一一次出价)。 最重要的是,它不会锁定投标人的资金,这与其他具有链上投标的拍卖不同。   

链下荷兰式拍卖的动态取决于有效的即时竞价。 单件荷兰式拍卖在出价一经宣布即告结束,不得再进行其他出价。 然而,当在链上进行时,在广播出价和将其包含在链中之间存在时间间隔,这可能会产生一些意想不到的后果。 如果第一个出价被广播到公共内存池(而不是像这样的私人交易池 闪光机器人),它可能会启动一个 气战,而其他潜在买家则以越来越高的汽油价格广播出价。 结果,天然气调整后的价格可能会随着脱链而突然上涨, 升序-交易订购的价格拍卖使荷兰式拍卖本身黯然失色。 

价格下降机制的时间依赖性也带来了其他缺点。 假设一个连续的价格衰减函数,投标人必须在需要以特定价格投标或设置机器人(例如使用 冰淇淋网络) 为他们出价。 偶然(或恶意)与第一个投标的广播同时发生的网络拥塞可能会降低最终结算价格,从而损害卖方的收入。 更糟糕的是,拒绝服务 (DoS) 攻击可能会使合法的获胜者失去拍卖。 

链上密封投标拍卖,由新的开源实施证明

利用链下投标(例如 OpenSea)的平台可以轻松实施密封投标拍卖,但他们需要信任拍卖师(a)不透露任何投标,(b)不审查任何投标,以及(c)正确确定拍卖的结果。 理想情况下,智能合约将 不信任 促进拍卖,同时保留一定程度的投标隐私。 

为了演示,我们开源了一个超额抵押密封投标拍卖的 Solidity 实现,位于 github.com/a16z/auction-zoo, 作为单项 (ERC721) Vickrey 拍卖,出价以 ETH 计价。 我们在实施时考虑了密封投标拍卖智能合约的三个要求: 

  1. 隐私: 投标值应保持私密,这意味着观察者无法在投标进行时推断出价值。 我们允许一些信息泄露(例如,揭示出价位于某个大区间内),但应该有合理程度的模糊性。 
  2. 抗审查性: 这通常可以通过在链上发布投标来完成。
  3. 投标承诺: 潜在买家不应该放弃他们的出价。 中标者应被锁定以支付结算价格,同样,卖方应被锁定以将物品出售给出价最高的人(可能受底价限制)。

首先我们需要解决发帖的问题 私立 根据前两个要求在链上投标。 承诺披露方案适用于“最终公开”的投标(当投标值在拍卖结束后公布时)。 潜在买家可以在指定的投标期内向拍卖合同提供其投标的哈希承诺,而不是公开投标。 稍后,在投标期结束后,每个潜在买家都会透露他们承诺的投标。 当出价公布时,智能合约可以确定获胜者。 在我们的实现中,哈希承诺计算为 keccak256(abi.encode(nonce, bidValue)) 并传递给 commitBid 功能。 为了气体效率,我们只存储这个散列的前 20 个字节。 投标期结束后,用户致电 revealBid 和合同 检查 所提供的 noncebidValue 匹配存储的承诺。

从纸上到链上:拍卖理论如何为智能合约实施提供信息 PlatoBlockchain 数据智能。垂直搜索。人工智能。

记得喝水并打包你的存储变量。

当转向第三个要求时,我们发现了更多的复杂性。 为确保获胜者付款,智能合约必须锁定投标。 我们可以要求投标人发送 ETH 来担保他们的投标以及每个承诺——请注意, commitBid 功能是支付和 记录 用户锁定了多少 ETH——但附加到这些交易的 ETH 是公开的,无法混淆; 在“锁定”出价中,我们失去了隐私。

幸运的是,有一种简单的方法可以支持我们的稻草人:允许(并鼓励)投标人 超额抵押 他们的出价,即锁定比他们的出价本身需要的更多的 ETH。 由于投标可能被超额抵押,观察者只能了解投标价值的上限。 请注意,我们的 commitBid 功能允许用户锁定 任何 交易中的 ETH 数量; 任何多余的东西 在拍卖结束时给获胜者(出价将是 忽视 如果它是 抵押)。

不幸的是,这种快速解决方案有一个缺点:过度抵押在隐私和资本效率之间产生了直接的权衡。 锁定大量资金的机会成本可能超过边际隐私,资金受限的投标人处于劣势。 

也就是说,当我们继续探索不同的方法时,超额抵押设计是一个有用的基准。 这种实现的演进在用户可能在大量拍卖中出价并且可以为每个拍卖重复使用抵押品的设置中可能特别有用。 在这种情况下,抵押品自然会比任何特定拍卖中的出价大得多。

**

我们能找到更好的链上解决方案吗? 尽管在某些情况下超额抵押可能是合适的,但资本效率和投标隐私之间的权衡可能会给投标人带来一个艰难的决定:锁定更多资金以获得更强的隐私,或者牺牲一些隐私以释放资金以供其他地方使用。 但随着链上拍卖继续激增并建立在以前的工作之上,我们预计拍卖设计师将根据他们愿意做出的权衡来选择更多的格式和实现。 

在本系列的下一部分中,我们将进一步深入设计空间并考虑以下问题:我们能否在不过度抵押的情况下保证强大的隐私? 这个存储库 将继续作为我们在整个系列中讨论的想法的实用参考,并为进一步探索提供基础。 我们希望您能跟随、分叉并尝试更多的实现,因为它们已被添加。

致谢:感谢 Joe Bonneau、Scott Kominers、Sonal Choksi 和 Tim Roughgarden 对本文提供的宝贵反馈; 和 Noah Citron、Sam Ragsdale 和 Matt Gleason 审查代码。 特别感谢 Stephanie Zinn 的编辑。

**
此处表达的观点是引用的个人 AH Capital Management, LLC (“a16z”) 人员的观点,而不是 a16z 或其关联公司的观点。 此处包含的某些信息是从第三方来源获得的,包括来自 a16z 管理的基金的投资组合公司。 虽然取自被认为可靠的来源,但 a16z 并未独立验证此类信息,也不就该信息的当前或持久准确性或其在特定情况下的适用性做出任何陈述。 此外,该内容可能包含第三方广告; a16z 未审查此类广告,也不认可其中包含的任何广告内容。

此内容仅供参考,不应被视为法律、商业、投资或税务建议。 您应该就这些事项咨询您自己的顾问。 对任何证券或数字资产的引用仅用于说明目的,并不构成投资建议或提供投资咨询服务的要约。 此外,本内容并非针对也不打算供任何投资者或潜在投资者使用,并且在任何情况下都不得在决定投资于 a16z 管理的任何基金时作为依据。 (投资 a16z 基金的要约仅通过私募备忘录、认购协议和任何此类基金的其他相关文件提出,并应完整阅读。)任何提及、提及或提及的投资或投资组合公司所描述的并不代表对 a16z 管理的车辆的所有投资,并且不能保证这些投资将是有利可图的,或者将来进行的其他投资将具有类似的特征或结果。 由 Andreessen Horowitz 管理的基金进行的投资清单(不包括发行人未允许 a16z 公开披露的投资以及对公开交易的数字资产的未宣布投资)可在 https://a16z.com/investments 获得/。

其中提供的图表仅供参考,在做出任何投资决定时不应依赖。 过去的表现并不预示未来的结果。 内容仅在所示日期生效。 这些材料中表达的任何预测、估计、预测、目标、前景和/或意见如有更改,恕不另行通知,并且可能与他人表达的意见不同或相反。 有关其他重要信息,请参阅 https://a16z.com/disclosures

时间戳记:

更多来自 安德森霍洛维茨