
NFT取引におけるAMMモデル設計の継承と革新
TechFlow厳選深潮セレクト

NFT取引におけるAMMモデル設計の継承と革新
ゼロからDEXを設計するには?
記事:@Buidler DAO
著者:@Joseph Xu
著者の言葉
ここ1〜2年で、市場によって有効性が証明されたAMMモデルのアルゴリズムは、ほとんど更新・反復されていません。AMMの核心的な問題も、効率的で合理的なアルゴリズムの設計から、金融市場の本質である「流動性」へと再び回帰しつつあります。現在のNFTというタイプの資産も、同様に流動性不足などの問題に直面しています。しかし、NFT市場には、流動性の集約という観点から取引マッチングや価格発見の問題を真に解決できるDEXがいまだ存在していません。今回のテーマはAMM DEXから始め、私たちがMidaswap ProtocolというNFT流動性プロトコルを設計する過程で、既存のAMMソリューションからどのようなインスピレーションを得たのか、またそれらの既存ソリューションをどう改良・革新し、NFT市場特有の課題やニーズに対応したのかについて共有します。
―― Joseph
Q3以降、NFT市場は激しい変動を迎え、ブルーオールNFTも次々と価格を下げました。プロジェクト側や発行側のさまざまな操作の影響を無視しても、流動性は依然としてNFT市場における最も重要な問題です。現時点では、EVMチェーン上においてNFTをETHの一種の派生商品と大まかに位置づけることができるでしょう。

さらに、NFT取引に参加したことがない方も、おそらくblur.ioの急速な成功に注目していることと思います。流動性ソリューションに関して、Blurは中心化取引所/アグリゲーターとして優れた回答を提示しているように見えます。現在、ほぼ市場内で最大の買い手流動性シェアを占めており、後発でありながら、OpenSeaが長年にわたり首位を守ってきた状況下でもこれほど迅速に台頭しました。実際、Blurは中心化された流動性ソリューションを非常にうまく実現していると言えるでしょう。しかし、dApp開発者や各パブリックチェーンのエコシステムにとって、中心化はこの取引市場の一部にすぎないと私たちは考えています。私たちが求めているのは、チェーン上で私たち自身のNFT取引所、つまりNFT DEXを構築することです。そこで、以下の問題について議論したいと思います:
-
去中心化NFT取引所を構築するには、どのような流動性ソリューションを採用すべきか?
-
去中心化NFT AMMを考え・設計する際、既存DEXのAMMソリューションから何を学べるか?
-
ERC721とERC20という全く異なる資産標的において、そのAMMモデル設計にはどのような違いがあるか?
これらの問題を念頭に置きながら、皆さんと一緒に考察・学習を深めるとともに、私たちの製品であるMidaswapのモデル設計における思考の経緯を共有したいと思います。
ゼロからDEXを設計するには
まず抽象的な問いから始めましょう。DEXを設計するとき、どのような思想的葛藤を経験する必要があり、あるいはどのような選択をしなければならないでしょうか?

まず、おそらく皆さんはご存知だと思いますが、AMM曲線の選定は、すべてのAMM設計者が最初に確立すべき方向性です。確かにx+y=kやx・y=k、あるいはBalancerのような多通貨プール向けにさらに改造された恒定関数など、これらすべてをCFMM(Constant Function Market Maker)と呼ぶことができます。ここでいうxやy、およびBalancer式の中のbなどは、対応する市場、すなわち流動性プールに関係する資産残高、言い換えれば供給量を表しています。これらのモデルは、供給量間の比率や他の数量関係に基づいて、市場内での価格付けを再マッチングします。したがって、どのような曲線を選ぶかという検討は、その流動性プロトコルが獲得を目指すターゲット資産標的と密接に関連しています。例えばステーブルコイン取引のCurve V2は、平衡点付近では恒和式に近く、平衡点から遠ざかるとUniswap v3の恒積式に似た混合型恒定関数を採用しています。つまり、完璧なAMM曲線は存在せず、むしろ自分たちの市場に適したAMM曲線を見つけることが重要です。
続いて二つ目の問題に直面します。流動性をどのように配置したいかという点です。これは二つの側面に関わります。つまり、流動性を全区間にわたって配置するか、固定価格帯に限定するか、あるいはLPが指定する価格範囲内で提供するかです。これがUni V2とUni V3の違いです。Uni V2はシンプルなモデルで、両トークンを全区間にわたって配置し、厳密にxy=kのAMM曲線に従います。しかし、この方法には一端または他端で資本効率が大きく低下するという問題があります。Uni V3はこの点を革新し、LPが希望する価格帯に流動性を提供できる新機能を導入しました。つまり、Uni V3が定義するrange order機能です。そのため、そのAMM曲線は単純なxy=kではなく、無数のxy=kの重ね合わせになります。このような流動性区間の配置を選択することは、背後に別の問題も含みます。流動性を水平に配置するか、垂直に配置するかです。今のところ、この二つの違いを直感的に説明する方法はありませんが、後ほど詳しく説明します。
三つ目、そして最も重要な問題は、LPへのインセンティブをどう設計するかです。LPはDEXやゲームにおける最も重要な参加者です。LPがいなければ流動性の深さもなく、良好な取引体験も得られません。そのため、すべてのDEXは「どうやってLPを引き寄せるか」という問題に直面しています。当然ながら、すべてのDEXは取引手数料収益を使ってLPを惹きつけます。近年では、流動性プロトコルがLPのためにより複合的な収益機会を創出しており、流動性のステーキングや流動性トークンを使った組み合わせ的な利用などが挙げられます。Paraspaceのように、UniswapのLPがローンを通じてレバレッジを活用するような組み合わせも可能です。こういった工夫はすべて、流動性プールのLPに対する魅力を高めるためのものです。前述の通り、LPはこの流動性プロトコルというゲームを成立させるために最も重要な要素です。LPを惹きつける良い仕組みがなければ、好循環は成立しません。
四つ目の問題は、トレーダーに対してどのように課金するかです。この点に関しては、既存DEXは比較的一致しています。つまり、手数料率は流動性プール作成者が決定します。UniswapやJoeではマルチレベルの手数料が設定可能です。ここで触れておきたいのは、Joe V2では動的手数料を採用している点です。また、Uni V4もこれに追随し、hook形式で動的手数料を導入しています。動的手数料率はより先進的なプロダクト設計であり、市場をバランスさせる負のフィードバックシステムを形成でき、ある意味でLPの無償損失をヘッジすることも可能です。ここでは深入りしませんが、AMM設計者としては必ず考慮すべき要素です。
そして最後にLPの証明書(LP Token)の選択があります。ここには多くの流派があります。Uni V2はERC20、Uni V3はERC721、Joe V2はERC1155を採用しています。実際、LP Tokenの形式は前述の4つの選択によって決まります。流動性の分布方法と、流動性プロトコル内での流動性の定量化方法が最終的にLP Tokenの形態を決定します。Uni V2とUni V3の違いを例にすると、Uni V2は全区間にわたって流動性を分散しているため、同じ流動性プール内で、二つのLPが提供する資産の全体に占める割合が同じであれば、それらの流動性は等価とみなされます。そのため、Uniswap v2の同一プール内のLP Tokenはすべて同質的です。すべての価格ポイントにおいて、市場への資本貢献が公平に評価されるからです。一方、Uni V3はrange order(指値流動性)を導入したため、流動性自体の有効性に新たな定義が加わりました。すべての流動性が常に市場取引に参加するわけではなく、価格帯がカバーされている範囲内にある流動性のみが真に市場に資本貢献します。そのため、各LPのポジションを非同質的にカプセル化し、ERC721トークンでラップする必要があります。現時点では、これが比較的良い解決策と考えられています。Uni V4が今後どうなるかはわかりませんが、流動性スキームに大きな変更がない限り、ERC721がLP Tokenの最良の選択肢だと考えられます。
以上5つの重要な決定と葛藤を経ることで、AMMプロトコルの大まかな方向性が定まります。ここで紹介したプロセスは、皆さんの頭の中でブレインストーミングを行う助けになるはずです。この5つの段階に問題がなければ、ようやくAMMモデル設計の扉を開くことができ、より詳細な問題に取り組めるようになります。
NFT AMMの困難な三角

これまでの話はUni、Curve、Balancerなど、現在主流のERC20 AMM DEXの設計に関するものでした。しかし、今回のテーマはNFT AMMです。NFT AMMでは、ペアの一側がERC721のNFT、もう一側がERC20またはETHのような同質化トークンとなります。このような二種類の資産を一つのAMM流動性プールに入れると、根本的な矛盾に直面します。
まず第一に重要なのは、従来のNFT取引市場ではbid ask(指値注文)取引モデルに依存しており、これはオーダーブック市場に似ています。オーダーブック市場では、片側の流動性が不足している場合、流動速度は非常に悪くなります。そのため、NFT市場には良いマーケットメイキングツールや十分な買い手流動性が欠けています。これまで、NFTの内生的価値が欠如していること、そしてどのパブリックチェーンでも買い手流動性が極度に不足していることは批判されてきました。このため、回転率が著しく不足し、結果として流動性が枯渇するのは必然です。そこで私たちが考えるのは、NFT AMMを現行のAMM DEX市場にそのまま導入した場合、何も変更しなければ、ETH側またはERC20側の流動性が深刻に不足する可能性が高いということです。これが最初に直面する問題です。
二つ目の重要な、かつ現実的な問題は、NFTは丸ごと取引されるということです。NFTは非同質化資産であり、追加設計なしでは、NFT保有者が自分のNFTの10%を他人に売却することを望むとは考えにくいです。資産の性質としても成立しません。これにより問題が生じます。従来のAMM DEXでは、トークンの精度範囲内で無限に細分化可能です。主流のERC20が18桁の精度を持つ場合、18桁まで分割可能です。つまり、価格曲線は連続曲線に限りなく近づけられます。しかしNFTは断続的な流動性を持ち、大きな流動性ギャップが生じます。点と点をつなぐためにどのような曲線を用いるべきか、これは重要な問題です。
また別の視点から見ると、Token ID自体が整数単位で取引されるため、NFTの取引ハードルは常に比較的高いです。ETHを購入する小口投資家がUSDTで1ETH分買えなくても、100USDT分だけ購入できます。しかし、NFTが1ETHの価値を持つ場合、ユーザーは100USDTでNFTの一部を購入することはできません。過去に市場ではNFTにフラグメンテーション(分割)設計を導入する流動性プロトコルがありました。フラグメンテーションは簡単で直接的な解決策ですが、同時に困難な三角の第三の問題も引き起こします:分割されたNFTは、もはやNFT本来の取引属性を持っているのでしょうか?
任意のNFTコレクションが発行されると、Metadata内の属性に基づいて特定のNFT IDまたはグループの希少性が決定されます。希少性の違いは、NFT保有者の価格期待にも影響を与えます。しかし、フラグメンテーションにより、このフラグメント化された流動性プールに投入されたすべてのNFTが平等に扱われてしまいます。なぜなら、すでにフラグメント化された流動性プール内では、特定のフラグメントが高希少性NFT由来かどうかを判別できないからです。
これがまさに、NFTの非中央集権型プロトコルが直面する3つの核心的な課題です。これらの問題に対して何らかの妥協や選択を行わなければ、NFT AMMの設計は大きな困難に直面します。
既存のNFT AMM市場のソリューション

では、既存のNFT AMM市場でどのような成熟したソリューションがあるかを見てみましょう。例えばNFTXは、NFTを差別なくERC20にフラグメント化し、Sushi Swapのプールでペアを作成します。これは単純かつ直接的にToken Decimal Conflictの問題を回避していますが、取引者や保有者がNFTの希少性に対して持つ価格期待の差異を無視しています。希少性の高いNFTは、このようなAMMモデルでは適切な価値発見ができません。
もう一つのプロジェクト、Sudoswapは、ネイティブNFT資産初のAMM風DEXです。なぜ「AMM風」と言うかというと、一般的に理解されるAMMの役割設定とは若干異なるからです。簡単にSudoswapを紹介しましょう。このプロジェクトでは、各流動性提供者が取引者の相手方になります。LPは自身が設定したボンディングカーブに基づき、流動性提供プランを設計します。各LPが独自の流動性プールを持ち、それが双方向プールか単方向プールかを決定します。双方向プールとは、NFTの購入・売却の両方が可能で、流動性が両面にあることを意味します。つまり、両方の資産交換を受け入れられます。また、単方向プールも提供可能で、例えばETHのみを提供する場合、これはLPがNFTの買い注文を出したようなもので、取引者はNFTをこの純ETHプールに売却できます。逆に、純NFTの流動性プールを提供すれば、これはNFTの売り注文を出したようなものです。
このプロセスでは、LPの役割が薄れ、LPは取引者のもう一つの形態となり、ある程度カスタマイズされた取引機能を享受できるだけになります。しかし、これには二つの問題があります。第一に、各LPが独自の流動性プールを持つ場合、各プール間の流動性は統合できません。前述の通り、NFT市場で最も重要な問題は買い手流動性の不足です。この前提のもと、すべての流動性を個々のLPのプールに分断すれば、それは流動性の孤島化を助長します。流動性の統合は、AMMの本来の目的に反します。AMMは市場内で流動性を集約し、より深い流動性を提供することで、市場の感情に合った真の価格を形成しようとするのです。この点で、Sudoswapは達成できていません。各流動性プールは互いに孤立しており、相互に影響しません。もう一つの視点として、単一流動性プール内では、NFTの希少性はデフォルトで同じとみなされます。つまり、LPが自分のプールに3つのNFTを提供しても、それぞれ個別に価格設定はしません。LPが希少性の異なる3つのNFTを持ち、それぞれ異なる価格期待があれば、そのニーズを満たすために3つの流動性プールを作成する必要があります。
したがって、これら二つのプロジェクトはNFT AMM市場で比較的成熟した存在です。どちらも前述の3つの問題の一部を解決していますが、独自のトレードオフがあり、一部の問題を意図的に無視または妥協しています。そこで私たちが考えるのは、これらの問題をうまく解決できるNFTモデルがあるかどうか、あるいは一連のNFTモデルでこれら3つの問題を許容可能なレベルまで解決できるかどうかです。
ボンディングカーブ

次に、後の詳細なソリューションの説明の前触れとして、ボンディングカーブについて詳しく説明します。ボンディングカーブとは、価格発見を実現するための一連の数学関数です。これは資産の供給量を資産価格にマッピングします。上の2つのカーブ図から明らかなように、左は線形ボンディングカーブ、右は指数関数型ボンディングカーブです。図中、緑の点はポジション内のERC20を示し、赤の点はERC721を示します。左の図を例にすると、このような流動性プールでは流動性がどのように分布しているでしょうか?価格が最低の地点、つまり設定された価格の起点と次の第二の点にはFT(ERC20)の流動性が配置されています。上の3つの点にはERC721の流動性が配置されています。取引者がプールからNFTを購入すると、中央の赤い点が緑に置き換わります。つまり、市場でNFTが1つ売れるごとに、価格は一定値分線形的に上昇します。NFTを1つ売るごとに、プールが提供するインデックス価格は一定値分下落します。指数関数の場合も同様で、公差が公比に変わるだけです。
Sudoswapの功績は、ボンディングカーブをNFT取引に革新的に導入したことです。これにより、流動性提供者に優れたマーケットメイキングの自由度が与えられました。しかし前述の通り、設計上、LP間の流動性プールは分断されており、そのボンディングカーブは市場全体の状況を描写する能力を某种程度で失っています。特定の流動性プールから、市場がどこまで取引されているかを真に把握することはできません。市場での取引インデックス価格も、NFTコレクション市場全体の特性を反映できず、「管の中の蛙」の状態に陥ってしまいます。
既存DEXから得たインスピレーション
以上のような課題と既存の成熟製品の設計を踏まえ、どのようなNFT AMMがこれらの問題を解決できるかを検討します。まず、市場で主流のERC20 DEXに戻り、私たちに啓発やインスピレーションを与える要素を探します。
まず、Uniswap V3を徹底的に研究しました。Uniswap V3は私たちに良いインスピレーションを与えました。LPが価格帯を限定して流動性を提供できる点です。これは前述のSudoswapで、LPが自身の流動性のボンディングカーブを設定し、その範囲内で流動性を提供するのと似ています。そこで私たちが思いついたのは、LPが何らかのボンディングカーブに従って、私たちの流動性プール内で自由に流動性を提供できるかどうかです。この場合、Non-Fungible LP Token、つまりERC721のLP証明書が必要になり、各LPのポジションが非同質的であることを確認できます。
さらにJoe V2のプロトコル設計を深く調査しました。これはUni V3の基礎をさらにアップグレードしたものです。まず、LPのカーブはカスタマイズ可能で、流動性の疎密度を選択でき、Range Orderの価格帯に流動性を全域にわたって配置するか、点状に提供するかも選べます。さらにLiquidity Bookの設計により、マイクロレベルでオーダーブックに類似した取引モードを実現しています。これはより新しい流動性分布のソリューションです。

この二つのERC20 DEXから得た最も重要なインスピレーションは、図に示された4点です。ERC20 DEXがNFT AMMの設計にどのような重要なインスピレーションを与えたかといえば、最も重要なのはNFTのToken ID間の差異を無視してはならず、LPが自身の流動性に対して差異のある価格期待を持つことを許容すべきだということです。また、LPの流動性を個々のプライベートプールに分断してはならず、買い手側の流動性を集約すべきです。集約された流動性こそが、取引者により良い取引体験、低いスリップページ、より迅速な取引を提供できます。流動性が不足し、集約できない場合、NFTを売却しようとするユーザーの体験は非常に悪くなります。
Midaswap AMMの設計思想
ここまで来て、どのようにして私たち自身のNFT AMMを設計すべきかを再考できます。その前に、少し話題が逸れますが、Uniswap V3の資料をご覧になった方はご存知でしょう。Uniswap V3には独自の価格表示システムがあり、これをTickと呼びます。Tickは1.0001の指数関数で、Tickが1増えるごとに、対応する価格に1.0001を乗じます。つまり、Tickと価格は一対一に対応しています。なぜこのような設計なのか?実はすべてのDEXには独自の価格尺度があり、ほぼ無限の価格の中からAMMにとって最も効果的な価格スケールを抽出するためです。これらの価格スケールの中間の流動性は無視され、流動性はあらかじめ設定されたTickにのみ提供されます。
これに対応するもう一つの主流設計がLiquidity Binです。Binは文字通り「箱」のようなもので、各価格スケール上の流動性を、LPがその価格で流動性深度を積み上げる箱の高さと見なせます。最も単純な例を挙げると、LPとしてETH=1000USDCの位置にUSDCの流動性を1000提供した場合、1000という価格のBinの流動性深度が1000高くなります。二人目が2000を提供すれば、流動性深度は3000になります。
なぜここでこれを説明するか?実はTickはUni V3の流動性インセンティブスキームに比較的適しています。一方、Binは垂直方向に積み上げる流動性ソリューションとして、離散的なNFT流動性に適していると考えます。NFT流動性を小さな箱と見なし、Binの価格上に積み上げることができます。NFT保有者やLPが特定の価格にNFT流動性を提供するたびに、その価格の上に一つの箱が置かれたと解釈できます。
なぜ単に特定のERC20 DEXを模倣しても、上記の3つの問題を同時に解決できないのでしょうか?まず、異なるNFT Token ID間には希少性の差異があり、この価格期待の差異はNFTという資産標的にとって本質的なものです。この点は、ほとんどのERC20 DEXとは大きく異なります。ERC20 DEXの流動性プールでは、特定の瞬間に異なる価格で複数の取引が成立することは不可能です。したがって、複合的なNFT市場を構築したい場合、中心化取引所のオーダーブックマッチングモードとDEXのAMMモデルにおける流動性集約手法の両方を学ぶ必要があるのです。
そこで、以下のような設計を提案します。中心化NFT市場特有のBest Offer(最高買値)とFloor Price(最低売値)という二つの概念を再導入します。まずBest Offerとは、現在市場内の最高NFT価格、つまりコレクションのNFTに対する買い手の理想価格の最高値を指します。Floor Priceは、現在市場内のNFT売り注文の最低価格です。この二つの価格により、流動性市場の分水嶺が形成されます:

-
Floor Price以上では、ボンディングカーブのような流動性提供方式を用い、NFT取引者にオーダーブックに類似した取引体験を提供できます。例えば、あるLPが3ETH~5ETHの範囲でNFTの流動性を提供する場合、これらのNFTは自身が設計したボンディングカーブに従って、3~5ETHの価格帯に分散します。取引者がいつでも参入すれば、自分の好みのNFTを選んで取引できます。このNFTはある程度、LPによって価格が限定されています。取引が行われるたびに、そのLPのボンディングカーブ上で価格が上昇します。
-
AMMモデルはBest OfferおよびBest Offer以下の価格帯に適用されます。ここでのFT流動性を提供するLPは、Blur市場で買い手流動性を提供するようなもので、同質的と見なせます。彼らは希望する価格帯にFT流動性を配置し、同じ価格点では流動性が等価かつ集約されると見なされます。この流動性を集約することで、市場の資本効率や取引効率が大幅に向上し、NFTを売却するユーザーの取引体験が大きく改善されます。
このようなNFT市場設計は、前述の3つの課題をある程度緩和できます。我々は比較的バランスの取れた点を選択しました。NFT Token IDの差異を無視しないまま、良好な流動性深度と低いNFT取引スリップページを提供できます。NFTの本質的な取引ニーズを無視しない観点から、これは現時点で考えられる最良のソリューションだと考えます。また一点補足すると、Best OfferとFloor PriceはNFT市場における重要な二つの価格指標であり、このような取引市場はチェーン上のOracleとして機能でき、特定のNFT市場に優れた価格発見機能を提供できます。外部のNFT市場に依存して価格を補助する必要がなくなります。さらに、完全チェーン上でのNFT取引市場はDeFiのコンポーザビリティにも多くの可能性を提供します。例えば、LP Tokenをさらにレンディングやレバレッジに利用でき、Oracleはチェーン上予言機の価格補助にも使えます。これらが、取引者とLPのニーズを解決できる効率的なNFT AMMが急務である理由です。
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News














