a16z:紙上からチェーン上へ、オークション理論はどのように実践されるのか?
原文标题:《紙上からチェーン上へ:オークション理論が実装にどのように影響を与えるか》
著者:Michael Zhu,a16z
編訳:老雅痞
オークションは暗号通貨の至る所に存在しています。Makerの担保オークションからFlashbotsの密封入札ブロックスペースオークション、OpenSeaでのNFTオークションまで、オークションは価格発見、流動性、または希少資源の配分が必要なさまざまな状況に適用されます。これはオンチェーンでもオフチェーンでも同様です。
しかし、オークションに関する膨大な(そして増え続ける)学術研究に並行して、これらのメカニズムがオンチェーンで提供できる機能の表面をわずかに触れただけであることは明らかです。たとえば、プライバシー、効率、バイヤー余剰、その他の重要な設計目標を最適化することです。2020年のCurveとSushiswap以降の自動マーケットメイカー(AMM)設計の「大爆発」、および第3世代ブロックチェーンの同時発生を考慮すると、オンチェーンオークションは成熟し、類似の進化の高潮が現れる可能性があります。
オークションの形式はかつてブロックチェーンの技術的制約により緩やかに採用されていましたが、現在ではブロックチェーンに特に適した新しい設計が増えてきています。市場の伝統に従い、本記事はオークション理論と実践の間のギャップを埋めることを主な目的としています:理論的原則はどのように意思決定の実施に情報を提供するのか?逆に、オンチェーンの実装はどのように理論研究に新しい方向性を提供するのか?理論は私たちをある種のオークション設計に導くことができますが、実施の詳細を理論的に分析すること自体が興味深い場合があります。
まず、情報開示、入札戦略、オンチェーン実装の考慮事項という3つの軸に沿って、4つの典型的なオークションタイプを比較します。その後、特に密封入札形式に焦点を当て、オンチェーンで相対的に未探索の実施の詳細を深く掘り下げ、私たちのVickreyオークションのオープンソースSolidity実装を紹介します。私たちは他の人々がそれを参考にし、さらなる実験の基盤を築くことを期待しています。
オークション形式の簡単な紹介
私たちは以前、a16z暗号研究のパートナー(およびハーバードビジネススクールの教授)Scott Kominersと、a16z暗号研究の責任者(およびコロンビア大学の教授)Tim Roughgardenと議論しました。彼らは暗号プロトコルに関するアドバイスを提供する専門知識を活用し、オークションの種類とインセンティブ設計を理論と実践の両面から概説しました。これには市場清算価格やGas Warの微妙な違いが含まれます。
しかし、以下の実装の背景を設定するために:オークション理論は歴史的にWilliam Vickreyによって1961年に最初に分類された4つの典型的なオークションタイプを中心に展開されており、ここでは単一商品オークションの文脈で説明されます。
オフチェーンで利用可能なオークション設計のスナップショット。出典:ウィキペディア
イギリス式オークション(上昇入札):イギリス式または上昇入札オークションでは、オークショニアが保留(最低)価格で入札を開始し、入札者は徐々に入札額を上げていき、最後に現在の価格を支払う意志のある入札者が残ります。この時、最後の入札者が勝者となります。これはポップカルチャーやメディアで最も一般的なオークション形式であり、通常はアンティーク、アート、または未カットの宝石の販売に関連しています。
オランダ式オークション(下降入札):オランダ式または下降入札オークションでは、開始価格が定められたスケジュールに従って減少します。オランダ式オークションでは、最初に入札した者が勝者となり、オークションは即座に終了します。歴史的に、オランダ式オークションの多単位バージョンは、切り花、魚、またはタバコなどの期限のある商品を大量に販売するために頻繁に使用されてきました。最近では、米国財務省が1974年にオランダ式証券オークションを導入し、2004年にはGoogleが初めての公開株式をオランダ式オークションで販売しました。
密封入札第一価格:各入札者はオークショニアに密封入札を提出します(たとえば、密封された封筒の中に)。すべての入札が提出された後、オークショニアはそれらを非公開で読み上げ、勝者(最高入札者)を発表します。その後、勝者は自分の入札額を支払います。物件に複数の買い手の関心が集まると、密封入札の第一価格オークションは通常、不動産に使用されます。
封入札二価格(「ビックリーオークション」):ビックリーの同名オークションは、封入札第一価格オークションと同じですが、このオークションタイプの勝者は第二高入札の価値を支払います。興味深い理論的特性を持っていますが、ビックリーオークションはオンチェーンではほとんど見られません(部分的には密封入札の実施が難しいためです)。
これら4つのオークションタイプは異なる属性とダイナミクスを持ち、スマートコントラクトの実装に変換されるとさらに複雑になります(後で詳しく説明します)。
情報開示によるオークションタイプの比較
各オークションタイプを比較する自然な方法の1つは、入札の可視性(公開入札と密封入札)によるものです。他のすべての条件が同じであっても、変化する入札の可視性はオークションのダイナミクスと結果に深遠な影響を与えます。
イギリス式とオランダ式オークションは公開入札オークションであり、価格が上昇または下降する際に口頭で発表され、入札(その金額を含む)はすべての潜在的な買い手に公開されます。しかし、密封入札オークションは、いくつかの異なるプライバシーの方法を採用する可能性があります:
最終公開:すべての入札はオークション終了後に公開される
公開価格:落札価格のみが公開され、他の入札価格は公開されない
完全秘密:入札や落札価格は公開されない
これらの入札可視性に関する仮定は、オークションが情報開示の面でも異なることを意味します。異なるオークション形式は、プロセスの異なる段階で入札者の評価(上限または下限)に関する異なる量の情報を明らかにします。イギリス式オークションでは、入札は実質的にその入札者の評価の下限を決定します。一方、オランダ式オークションでは、現在の価格はすべての入札者の評価の上限として解釈できます。密封入札オークションは、オークション終了後にのみ情報が開示されます。
注目すべきは、オランダ式オークションは公開オークションと密封オークションの特性を兼ね備えることができる点です。単一のオランダ式オークションは、公開価格密封入札オークションに似たプライバシー属性を持っています(最初の入札者が勝者となり、他のすべての低い入札は秘密にされます)。しかし、後で見るように、オランダ式オークションがオンチェーンで実行されると、これらの属性は顕著に変化します。
共同価値と個人価値
公開入札と密封入札オークションにおける共同価値商品と個人価値商品の販売を調査することは、これらの形式を比較するための別の視点を提供できます。共同価値商品を販売するオークションでは、その商品にはすべての入札者間で共有される内在的な価値が存在しますが、入札者はその価値に関する異なるまたは不完全な情報を持っている可能性があります。ノーベル賞受賞者で行動経済学者のRichard Thalerの共同価値の典型的な例は、コインの入った瓶がオークションにかけられることです。入札者は誰も瓶の中の物品の正確な価値を知らず、各自が自分の推定を持っています。個人価値商品を販売するオークションでは、各入札者はオークションの物品に対して独自の価値を持ち、同行者とは独立しています。Web3の例では、個人的な楽しみのために(再販の意図や将来の効用を期待せずに)購入されたNFTは個人価値商品であり、Makerの保険庫からの清算担保は共同価値商品です。
同時に、木材オークションデータを調査した別の研究の著者は、公開入札と比較して、密封入札オークションが「より多くの小規模入札者を引き付け、これらの入札者に配分され、さらに「より高い収入を生む可能性がある」と発見しました。著者は、これらの結果は個人価値モデルによって説明できることを発見しました(個人価値は木材オークションの特性に応じて変化します。たとえば、「入札者のコストや契約の違い」など)、彼らのモデルの共同価値を完全に無視しました。これは、入札者の動機、背景、または落札物の用途が異なる場合、売り手が密封入札オークションを選択することで利益を得る可能性があることを示唆しています。
イギリス式オークションは、共同価値が支配的で価格発見が目標である場合に非常に有用です。前述のように、入札者は入札が行われる際に他の人がそのプロジェクトをどのように評価しているかを理解し、それに応じて自分の戦略を調整できます。オンライン労働市場の逆オークションに関する研究では、著者は、密封入札オークションがより多くの入札を引き付けた一方で、公開入札オークションの結果が、これらの買い手により良い価格(またはより多くの買い手余剰)をもたらすことを発見しました。分析は、これらの違いが「オークションITサービスの共同価値(個人価値に対して)の相対的重要性」に大きく依存していることを示しています。言い換えれば、公開入札形式は入札者がサービスの価値に対する理解を動的に再調整することを可能にし、これはオークション開始時には通常不明です。(競争)
実際には、オークションは通常、共同価値と個人価値の特性の組み合わせを示します。これらの商品特性間の相互作用、およびオークション形式がどのように(そしていつ)情報を表示するかは、入札戦略に複雑な下流の影響を与えます。これにより、次のような疑問が生じます:私たちは「単純な」入札戦略の概念を正式化できるか(顧客がどのように入札するかを過度に考慮する必要はない);そのような戦略に最適なオークションは存在するのか?
入札戦略によるオークションタイプの比較
これまでのところ、4つの典型的なオークションタイプの中で、ビックリーオークションの分析が明らかに不足しています。注意深い読者は、ビックリーオークションの支払いルールに驚くかもしれません:勝者は自分の入札額ではなく、第二高の入札額を支払います。これは直感に反するように思えます。対照的に、イギリス式オークションは他の入札者が満たす意志のない最低入札額で終了します。勝者は自分の評価がはるかに高くても、さらに入札する理由がありません。実際、イギリス式オークションとビックリーオークションは、オランダ式オークションや密封入札第一価格オークションと比較して、理論的な利点を持っています:支配戦略のインセンティブ互換性(DSIC)。
大まかに言えば、これは各入札者の効用最大化戦略が、彼らが実際にオークション物品の価値だと考える金額で入札するだけであることを意味します(共同価値オークションでは、これは入札者の情報に基づく物品の期待価値です)。より深く理解するために、これらの講義は優れた入門書として機能します。
第一価格オークションには、このような優位な入札戦略はありません。入札者は、正の効用を得るために、自分の評価を下回るように入札額を下げる必要があります。正確には、彼らが考慮すべきことは、他の参加者よりも高い入札をする場合にどれだけの金額を節約できるかであり、これはベイジアンゲームです。オランダ式オークションも戦略的に似ています。正の効用を得るために、入札者は価格が自分の評価を下回るまで待たなければなりませんが、その閾値を超えてどれだけ待つべきかは別のベイジアンゲームです。さらに驚くべきことに、4つのオークションタイプの期待収入はすべて同じです(特定の仮定の下で;定理1を参照)。
ビックリーオークションは理論的には利点がありますが、実際にはあまり一般的ではありません。なぜこのようなことが起こるのでしょうか?『Lovely but Lonely Vickrey Auction』の中で、経済学者Lawrence AusubelとPaul Milgromは、いくつかの説明を提供しています。著者は、戦略的には等価であるにもかかわらず、イギリス式オークションは入札者が推論するのが直感的に容易であると指摘しています。この直感は明白な戦略証明メカニズムに形式化されており、イギリス式オークションはDSICであるだけでなく、真実の入札が「明らかに優位である」ことを示しています。
実際の例を挙げると、Googleは昨年、広告主がコンテンツ広告スペースのプロジェクトAdSenseで、第二価格オークションから第一価格オークションに移行することを発表しました。理由は、シンプルで他のデジタル広告エコシステムと一致させるためです。これらの可用性の考慮に加えて、AdSenseのようなプラットフォームは、第二価格オークションを行う際に信頼の立場を取ります:不誠実なオークショニアが第二高入札を過大評価することで、勝者からより多くの報酬を得る可能性があります。
これらの懸念が採用に影響を与えましたが、ビックリーオークションは新しい環境に拡張される際に新しいユースケースを見つけることができます。特に公共ブロックチェーンは、不誠実なオークショニアなどの問題を回避するのに役立つ信頼できる中立的なプラットフォームを提供します。この点に加え、潜在的なオンチェーンアプリケーションの多様性は、スマートコントラクトがビックリーオークションメカニズムに対して独自かつ効果的なテストプラットフォームを提供できることを示唆しています。
実施の考慮によるオークションタイプの比較
オフチェーンの同業者に対して、オークションをオンチェーンに持ち込むことは、新たな課題をもたらすことがあります。以下のセクションでは、オンチェーンオークションの現在の状況と各オークションタイプの実施上の注意点を探ります。
オンチェーンイギリス式オークション
今日、ほとんどのオンチェーンオークションは公開入札のカテゴリに属しています(つまり、イギリス式オークションまたはオランダ式オークション)。これには、価格が上昇するOpenSeaオークション、Maker担保オークション、Zora Auction Houseのスマートコントラクトが含まれます。
OpenSeaの基盤では、入札は入札額をエンコードしたオフチェーンメッセージであり、入札者によって署名されます。潜在的な買い手が入札すると、OpenSeaのUIは売り手と潜在的な入札者に入札額を表示します。しかし、Maker担保オークションやZoraオークションでは、入札者は自分の入札を示すためにトランザクションを提出します。その後、入札トランザクションはオークション契約内で入札者の担保を保管します。未混合のオンチェーン取引であるため、入札は本質的に公開されており、誰でもオークション契約の受信トランザクションを確認することで、入札者が何を提供したかを確認できます(公共メモリプール内であっても、チェーンに含まれたときであっても)。
全体として、スマートコントラクトに変換される際、イギリス式オークションのダイナミクスは依然として比較的完全です。顕著な違いは、オンチェーン入札がGasコストを生じることであり、このコストは実際の入札価値に計上されます。オークションの入札期間中にガソリン価格が変動するため、最高入札を得る可能性のある入札者が高額なGas料金のために一時的に排除される可能性があります。
オンチェーンオランダ式オークション
NFTの販売を促進することからTokenSetのリバランス(およびGradual Duction AuctionsやVariable Rate GDAなどのさまざまな派生変種)まで、オンチェーンオランダ式オークションは大きな牽引力を得ています。この人気には十分な理由があります。シンプルなオランダ式オークションはスマートコントラクトとして比較的容易に実装でき、2回のオンチェーン取引(1回はオークションの作成、もう1回は最初で唯一の入札)だけで済みます。最も重要なのは、入札者の資金をロックしないことです。これは、他のオンチェーン入札を伴うオークションとは異なります。
オフチェーンのオランダ式オークションのダイナミクスは、効果的な即時入札に依存します。オランダ式オークションは入札が発表されると終了し、他の入札は行われません。しかし、オンチェーンで実行される場合、入札を放送してそれをチェーンに含める間に時間の間隔が存在し、予期しない結果を生じる可能性があります。最初の入札が公共メモリプールに放送されると(Flashbotsのようなプライベートトランザクションプールではなく)、Gas Warを引き起こす可能性があり、他の潜在的な買い手がますます高いGas価格の入札を放送します。したがって、トランザクションオーダーのオフチェーン上昇入札オークションがオランダ式オークション自体を超えると、Gas調整後の価格が突然上昇する可能性があります。
価格下降メカニズムの時間依存性は、他の欠点ももたらします。連続的な価格減少関数を仮定すると、入札者は特定の価格で入札するために正確にオンラインでいる必要があり、またはボット(たとえばGelato Networkを使用)を設定する必要があります。偶然(または悪意)で最初の入札の放送と同時に発生するネットワークの混雑は、最終的な決済価格を引き下げ、売り手の収入を損なう可能性があります。さらに悪いことに、DoS攻撃は合法的な勝者がオークションを失う原因となる可能性があります。
オンチェーン密封入札オークション、新しいオープンソース実装による証明
オフチェーン入札(たとえばOpenSea)のプラットフォームを利用することで、密封入札オークションを簡単に実施できますが、彼らはオークショニアに対して(a)入札を開示しないこと、(b)入札を審査しないこと、(c)オークションの結果を正しく決定することを信頼する必要があります。理想的には、スマートコントラクトは信頼せずにオークションを促進し、一定の程度の入札プライバシーを保持します。
デモンストレーションのために、私たちはgithub.com/a16z/auction-zooで超担保密封入札オークションのSolidity実装をオープンソース化しました。これはETHで評価された単一の(ERC721)ビックリーオークションです。私たちは実装時に密封入札オークションスマートコントラクトの3つの要件を考慮しました:
プライバシー:入札額は秘密に保たれるべきであり、観察者は入札中にその値を推測できないようにする必要があります。私たちはいくつかの情報漏洩を許可します(たとえば、入札額が特定の大きな範囲内にあることを明らかにすることなど)が、合理的な程度の曖昧さが必要です。
審査抵抗:これは通常、オンチェーンで入札を公開することで実現できます。
入札の約束:潜在的な買い手は入札を撤回すべきではありません。落札者は決済価格を支払うためにロックされるべきであり、同様に売り手は最高入札者に物品を販売するためにロックされるべきです(底値制限がある場合もあります)。
まず、前の2つの要件に基づいて、私たちはオンチェーンでプライベート入札を公開する問題に取り組む必要があります。コミット開示スキームは「最終公開」の入札に適用されます(入札額がオークション終了後に公開される場合)。潜在的な買い手は、指定された入札期間内にオークション契約に対して自分の入札のハッシュコミットを提供できますが、公開入札は行いません。後で、入札期間が終了した後、各潜在的な買い手は彼らのコミットした入札を明らかにします。入札が公開されると、スマートコントラクトは勝者を決定できます。私たちの実装では、ハッシュコミットはkeccak256(abi.encode(nonce, bidValue))として計算され、関数に渡されます。Gas効率のために、私たちはこのハッシュの最初の20バイトのみを保存します。入札期間が終了した後、ユーザーは契約commitBidとrevealBidを呼び出し、提供されたnonceとbidValueが保存されたコミットと一致するかを確認します。
3つ目の要件に移ると、さらに複雑さが明らかになりました。勝者の支払いを確保するために、スマートコントラクトは入札をロックする必要があります。私たちは入札者にETHを送信して彼らの入札を担保するように求めることができます。注意すべきは、commitBid機能が支払いを伴い、ユーザーがロックしたETHの量を記録することです。しかし、これらのトランザクションに付加されたETHは公開されており、混淆することは不可能です。「ロックされた」入札では、プライバシーを失います。
幸いなことに、私たちの考えを支持する簡単な方法があります:入札者が自分の入札を超過担保することを許可(および奨励)することです。つまり、入札額自体に必要な以上のETHをロックすることです。入札が超過担保される可能性があるため、観察者は入札額の上限しか理解できません。私たちの機能は、ユーザーがcommitBidのトランザクション内で任意の量のETHをロックすることを許可します。オークションが終了する際、超過部分は勝者に返金されます(担保が不足している場合、その入札は無視されます)。
残念ながら、この迅速な解決策には欠点があります:過剰担保はプライバシーと資本効率の間に直接的なトレードオフを生じさせます。大量の資金をロックする機会コストは、限界を超える可能性があり、資金が制限されている入札者は不利な立場に置かれます。
とはいえ、さまざまな方法を探求し続ける中で、超過担保は有用なベンチマークです。この実装の進化は、ユーザーが多数のオークションに入札し、各オークションで担保を再利用できる設定で特に有用です。この場合、担保は自然に特定のオークション内の入札よりもはるかに大きくなります。
私たちはより良いオンチェーンソリューションを見つけることができるでしょうか?特定の状況では超過担保が適切であるかもしれませんが、資本効率と入札プライバシーの間のトレードオフは、入札者にとって難しい決定をもたらす可能性があります:より強いプライバシーを得るためにより多くの資金をロックするか、他の場所で使用するために資金を解放するためにいくつかのプライバシーを犠牲にするか。しかし、オンチェーンオークションが引き続き急増し、以前の作業の上に構築される中で、私たちはオークションデザイナーが彼らが行うことを望むトレードオフに基づいて、より多くの形式と実装を選択することを期待しています。