著者: bHeau
出典: bHeau のニュースレター
序文
以前はピアツーピアの手数料無料の資産交換で知られていたNFT取引所であるSudoSwapは、最近そのNFT AMM(Automated Market Maker)を開始しました。この動きは多くの誇大宣伝を引き起こしましたが、同時に混乱も引き起こし、人々は「では、なぜこれは別のNFTマーケットプレイスではないのですか?」という疑問を抱くようになりましたが、この記事はその混乱を少し解消することを目的としています。
SudoSwap の AMM モデルについての議論を始める前に、次の点に注意する必要があります。
1. 売買のための即時流動性
2. 完全にオンチェーン (集中注文なし)。
3. 価格が安くなる場合もある
市場手数料はわずか0.5%
ロイヤルティ料金はかかりません (当然のことですが、これは多少の物議を醸しています)
アグリゲーターは SudoSwap の価格設定を利用でき、SudoSwap に慣れていないユーザーでも機会があればより良い価格設定を利用できます。
4. 高まる魅力
おそらくツイッターで聞いたことがあるでしょう
いくつかの印象的なボリューム: Based Gools 730 ETH、Webaverse 755 ETH、CloneX 245 ETH
Duneによると、総取引量は 5,000 ETH 以上を超えています
5. 取引手数料を獲得できる
6. DCA(ドルコスト平均法:プログラム投資手法である定時投資法のことを指します)によるNFTシリーズの自動売買が可能
この記事は 4 つの部分に分かれています。
NFT 取引所: オーダーブック vs AMM
SudoSwap AMM アーキテクチャ
開発者への注意事項
SudoSwap についてどう思うか
NFT 取引所: オーダーブック vs AMM
OpenSea や LooksRare など、これまでに慣れ親しんだほとんどの NFT マーケットプレイスは、効率的なガス取引を促進するためにオフチェーンのオーダーブックに依存しています。これが何を意味するかを理解するために、例を見てみましょう。
あなたは 1 つの Bored Ape (BAYC) を 100 ETH で売りたいと考えています。 OpenSeaのような取引所に行き、それを売りに出します。
OpenSea を使用すると、BAYC を 100 ETH で売りたいというメッセージにウォレットで署名できます。明らかに、注文はより複雑になる可能性がありますが、この例ではシンプルにし、あまり詳しく説明しません。
署名された注文はオフチェーンの注文帳に保存され、取引所によってデータベースでホストされ、潜在的な購入者が閲覧できるように取引所のインターフェイスに表示されます (API 経由で公開されます)。
あなたの注文は、BAYC が販売されるまで、または注文をキャンセルすることを決定するまで存在します。
購入: 誰かがあなたの BAYC を気に入って 100 ETH で購入することに決めたので、あなたの注文 (その取引所のオフチェーン注文帳から取得したもの) を受け取り、それを約定するためのトランザクションを送信します。彼らは NFT を受け取り、あなたは 100 ETH (マイナス為替手数料 + ロイヤルティ手数料) を受け取ります。
キャンセル: 注文をキャンセルするには、トランザクションを送信する必要があります。注文はオフチェーンの注文帳に保存されているため、取引所のスマート コントラクトに「この注文を無効としてマークしたいのですが、誰かが注文を約定しようとした場合はやめてください」と指示しない限り、誰でも取引を送信して約定できます。彼らにそうさせてください。」
このモデルには、ユーザーが(NFTを移動するための交換契約を最初に承認した後)NFTを出品または入札するためにガス料金を支払う必要がないことなど、いくつかの利点があります。ガス料金は実行時のみお支払いいただきます。欠点は、取引所が注文帳全体をオフチェーンでホストしているため、すべての注文を取得することが困難になる可能性があることです。これは、OpenSea API キーの取得に関して一部の開発者が抱えている問題からも明らかです。
もう 1 つの欠点は、すべての価格設定が「アクティブ」である必要があることです。「最初の NFT が 1 ETH で販売された場合、次の NFT を 1.3 ETH で販売してみる」などの指定はできません。オーダーブックベースの取引所では、リストを手動で調整する必要があります(秘密鍵を渡して新しい注文をキャンセル/署名してもらえるほど取引所を信頼している場合を除きます。BAYC保有者が秘密鍵を持っていることを考えると、おそらく取引所はそうすべきでしょう)彼らのためにこれを調べてください)。
SudoSwap は、オフチェーンのオーダーブックではなくオンチェーン AMM モデルを使用する、まったく異なるルートを採用します。上記と同じ例を考えてみましょう。オーダーブックの代わりに AMM を使用して、1 つの BAYC を 100 ETH で販売します。
AMM を通じて 1 BAYC を 100 ETH で販売したいと考えています。 SudoSwap を選択しました。
SudoSwap を使用すると、NFT を「プール」スマート コントラクトに預け、売却する価格を指定できます。
他の人はあなたのプール契約をクエリして、NFT の価格を取得することができます。
あなたのNFTは、購入されるかキャンセルすることを決定するまでそこに残ります。
購入: 誰かが SudoSwap に来て、あなたの BAYC を購入したいと考えています。彼らはそれを購入するトランザクションを送信し、プールから削除すると、100 ETH が与えられます (マイナス 0.5% のトランザクション手数料ですが、ロイヤルティはありません)。
キャンセル: NFT をプールから引き出します。
AMM モデルでは、NFT をリストするためにガス料金を支払う必要がありますが、それらはすべてチェーン上にあり、公開で照会できます。しかし、全体的に見ると、今のところ 2 つのモデルは似ているように見えます。ただし、AMM ベースのモデルを使用すると、オーダーブックを使用した場合にはできないいくつかの興味深いことが可能になります。これを理解するために、SudoSwap が実際にどのように機能するかを見てみましょう。
SudoSwap アーキテクチャ
Uniswap V2 に精通している場合、SudoSwap の NFT AMM は「Uniswap V2 ですが、同じトークンに複数のカスタム流動性プール」と考えることができます。ここで、トークン = NFT シリーズ、カスタム流動性プール = 異なるオプションの価格曲線とスポット価格です。 NFTとERC20の代替不可能な性質を考慮すると、これらの違いは理にかなっています。
理解できない場合は、より簡単な方法で説明しようとします。NFT シリーズが SudoSwap でどのように機能するかに焦点を当てます。ベースのグールを例として使用します。 SudoSwap で「Based Kokus」ページを開くと、次の内容が表示されます。
上記 4 つのデータは何を意味しますか? 「最低価格」とは、入手可能な最低価格 (0.226 ETH) です。 「最良のオファー」は 0.219 です。これは、SudoSwap で 1 つのBasedグールを 0.219 ETH で即座に販売できることを意味します (これがどのように機能するかは後で説明します)。 「オファー TVL」は、SudoSwap 流動性プール内の 36.23 ETH 相当のベース グールを意味し (これも後で説明します)、「取引量」は単に、これまでの SudoSwap 上のベース グールの ETH 取引量を指します。
ここで、最低価格 NFT を見ると、AMM モデルとオーダーブック モデルの違いが明らかになり始めます。執筆時点では、0.226 ETHで21のベースグールがリストされています。これは、通常 1 ~ 3 個のアセットが最低価格でリストされている OpenSea や LooksRare とは大きく異なります。
この価格設定の理由は、SudoSwap で取引される NFT の売買が流動性プールを通じて行われるためです。これらの下限価格資産のほとんどは同じ流動性プール内にある可能性があり、NFT が購入されると価格設定が動的に変化します (現時点では、21 の下限価格 NFT をそれぞれ 0.226 の価格ですべて購入することは不可能です)。
繰り返しになりますが、「プール」の状況全体は、例を通して最もよく分かります。 SudoSwap には「トークン」、「NFT」、「取引所」の 3 種類の流動性プールがあります。「NFT」流動性プールから始めましょう。このタイプの取引ペアは、1 つ以上の NFT をシリーズで販売するために使用できます。私はベースグールNFTを持っていませんが、タビーキャットは持っているので、タビーキャット用のNFT販売プールを作成しようとすると、何が表示されますか。
最初の NFT を 10 ETH (「開始価格」 = 10 ETH) で販売するように流動性プールを設定しました。販売するたびに、次の NFT の価格は 0.1 ETH (「デルタ」= 0.1 ETH) ずつ増加します。つまり、誰かが私の最初の Tubby Cat NFT を購入した場合、彼らは私に 10 ETH を支払うことになり、2 つ目が欲しい場合は、そのために 10.1 ETH を支払うことになります — — 先ほど述べたように、NFT が販売されると価格が更新されます。デルタを「-0.5」(2 番目の NFT を 9.5 ETH で販売)などに設定することもできます。それはプールの設定方法によって異なります。
各 NFT シリーズは複数のプールを持つことができます (そして今後も)。これは、さまざまなユーザーが保有する NFT に基づいて異なる価格設定とデルタを望む可能性があることを考慮すると理にかなっています。
さて、これらすべてを聞いていくつかの疑問が残ったかもしれません。以下は、状況を理解するのに役立ついくつかの Q&A です。
1. 同じ価格で NFT を販売したい場合はどうすればよいですか?
デルタを0に設定すると、すべてのNFTを流動性プールの開始価格で販売できます。
2.レアなNFTを所有している場合はどうなりますか?最低価格の NFT よりも高い価格で確実に販売するにはどうすればよいですか?
レアな NFT 用に別の流動性プールを作成し、最低価格 NFT よりも高い開始価格を設定できます。
3. 人々は私のプールから購入することをどのようにして知ることができますか?
これは特に良い質問だと思います。 SudoSwap のスマート コントラクトは、取引をガイドする最も安いプールを自動的に見つけません。代わりに、人々は次の 2 つの方法であなたのプールから購入できることを知るでしょう。
彼らはあなたのNFTを購入したいと考えていますが、このNFTはあなたのプールからのみ入手できるため、彼らはあなたのプールから購入する必要があります。
彼らは「床を掃除」しています、つまり、10個のNFTの一回限りの購入の最安値です-そしてあなたの価格はシリーズの最も安い10個のNFTと一致します。その場合、SudoSwap (またはアグリゲーター) は、ユーザーに最適な価格を提供し、プールを通じて一部の取引をルーティングするために、すべてのシリーズにわたる価格を追跡するため、これを認識します。
4. NFT を販売するのではなく購入したい場合はどうすればよいですか?
NFTを購入するためのプール(「トークン」プールと呼ばれる)を作成し、ETHで資金を供給することができます。 NFT を購入する価格と、各取引後にオファーを調整するためのデルタを設定できます。最初の購入には 5 ETH、デルタ -1 で次回の購入には 4 ETH を提供できます。設定は NFT を販売するためのプールに非常に似ています。
5. SudoSwap ですぐに NFT を販売できると思いましたか?
最も高い入札オファーを提供する「購入 NFT プール」(「トークン」プール)に NFT を販売することで、それが可能になります。これは実際にオファーの内容を説明しています; 0.2 ETH でオファーするには、0.2 ETH を含むプールを作成し、「このシリーズの NFT を 0.2 ETH で購入します」と指定するだけです。その後、誰かが自分の NFT をあなたのプールに 0.2 ETH で販売し、あなたに NFT を与えることができます。
6. DCA についてはどうですか?
DCA と同様のことを実行したい場合は、最初のバイイン価格でプールを作成し、DCA を実行したい方向にデルタを移動できます。一定の時間間隔で売買しているわけではないので、DCA ではないと言えるかもしれませんが、少なくとも一定の価格で売買しているのです。おそらく、必要に応じて、購入間の「タイムロック」を含む結合曲線が将来展開される可能性があります。
7. 取引手数料はどうなりますか?
「トランザクション」のプールを作成し、特定の価格での NFT の購入と、わずかに低い価格での NFT の販売の両方を提供する場合、トランザクションごとに手数料の割合を指定できます。
開発者への注意事項
開発者ではない場合、または SudoSwap の AMM が下位レベルでどのように動作するかあまり気にしない場合は、このセクションをスキップしてください。
SudoSwap の LSSVMPairFactory コントラクトは舞台裏で新しいプール (コントラクト レベルでは「ペア」と呼ばれます) を作成しています。各プールは LSSVMPair という名前のコントラクトであり、プール作成者によって所有され、ペア タイプ (トークン、NFT) などのカスタム パラメーターを使用して作成されます。 、またはトランザクション)、結合曲線のタイプ(現在は線形または指数のみ)、スポット価格、デルタなど。その後、その資産のペアと価格相場を監視できます (下の図に示すように、「getBuyNFTQuote」を呼び出して取得します)。
LSSVMRouter コントラクトは、トークンの承認 (承認を 1 つのコントラクトに結合する) とスワップに使用されます。複数のスワップ タイプ (「ロバスト」と「ノーマル」) があり、それぞれが「スリッページや急激な値動きによりこの取引が実行できない場合はどうなるか?」を処理します。ロバスト タイプはジャンプ パスしてユーザーに返金します。過度の滑りが発生した場合、タイプは元に戻ります。また、開発者としては、スワップ関数が未使用のトークンの量を直接返すという事実もありがたいです。
アグリゲーターの包括性、MEV などのさまざまな理由により、価格を自分で取得したい場合があります。これを行うには、すべてのプールを追跡する (LSSVMPairFactory の NewPair イベント経由)、プール内の NFT を追跡する (LSSVMPairFactory の NFTDeposit イベント経由、またはプールの getAllHeldIds 関数経由)、プール内の資産を追跡する (プールの TokenDeposit および TokenWithdrawal イベントを介して)、価格を取得します (プールの getBuyNFTQuote および getSellNFTQuote 関数を介して)。何かを忘れているかもしれませんが、要点は次のとおりです。
SudoSwap についてどう思うか
私は新製品の「メンタル モデル」を構築して、それらが市場環境のどこに当てはまるのか、また何と比較できるのかを理解するのが好きです。実はメンタルモデルが何なのかは知りません、最近よく聞く言葉ですが、私がやっていることと似ているように思えます。
SudoSwap は、オーダーブックではなく AMM を使用する NFT 取引所の競合他社と考えるのが適切だと思われます。 SudoSwap は、「ガス料金が増加するが、完全にオンチェーン」と「新規ユーザーにとってはおそらくより複雑になるが、即時流動性が追加される」といったトレードオフを行っており、さまざまな状況でどちらを好むかを決めるのはユーザー次第です Exchange タイプ。
また、多くのNFTユーザー/トレーダーにとって、AMM/DeFiは関心のないものであることも十分に理解しています。そうは言っても、Sudowap は依然としてアグリゲーターとの統合を通じてより多くの取引量を獲得するのに有利な立場にあり (実際に私自身、Flip.xyz でこれを行っています)、Sudo の低い取引手数料と、通常は最低価格に集中する流動性により、一部の NFT シリーズでは、バッチ トランザクションの一部またはすべてを Sudowap プール経由でルーティングすると、ユーザーの実行価格が安くなり、ユーザーは Sudowap を学ぶ (または理解する) 必要さえありません。
前に述べたように、Sudoswap は取引にロイヤルティ手数料を含んでいません。これは興味深い選択であり、議論を引き起こしました。 「NFTシリーズはSudoSwapでコレクションのLPを作成し、LP料金を稼ぐことができます」これは一般的に「コレクションとその財務を罠に掛けている」と反論します。これについては私は確固たる意見を持っていませんが、どちらの側 (ロイヤルティの有無) が妥協するのか、あるいはコレクションが実際に SudoSwap を積極的に避けようとしているのかどうかを見るのは興味深いでしょう。
全体として、新しいプロトコル設計である NFT AMM がある程度の注目を集め、現実世界における NFT AMM とオーダーブックの間のトレードオフを実証しているのは良いことです。