CryptoPunkは世界初の分散型NFT取引市場です
CryptoPunk はトップの優良 NFT プロジェクトであるだけではなく (最低価格は 70 ETH 約 15 W)、これは、その後の ERC 721 標準プロトコルのインスピレーションの源でもあります。
NFT取引市場は現在、イーサリアム自体を除くブロックチェーン業界全体で最も収益の高いトラックであり、OpenSea、x2y2、LooksRareが現在トップ3プラットフォームであり、それらの合計取引量は99%以上を占めています。
今日は、CryptoPunk のわずか 230 行のソース コード、その注文モデルとトランザクション プロセスの実装を解釈します。内蔵の専用NFTマーケットプレイスのメリットとデメリットを探る、また、その後の3つの主要なNFT取引市場の契約モデルの段階的なソースコード分析への道も開かれました。
最初のレベルのタイトル
CryptoPunk の組み込み取引市場
画像の説明

参考文献:【ソースコード解釈】あなたが購入したNFTとは一体何ですか?
最初のレベルのタイトル
1. パンクの美しいオーダーモデル
私たちが実際に商品を売り買いする方法には、おそらく 3 つのカテゴリーがあることを思い出してください。
売り手が見積もり、買い手が支払う → スーパーでの購入と同等
買い手が価格を提示し、売り手が同意する → 野菜市場での値切り交渉と同じ
オフライン交渉、オンチェーン取引→オフライン公証オークションと同等
いずれにせよ、最終的に取引に至るためには、売主が商品を渡さないことを防ぐだけでなく、買主がお金を渡さないことを防ぐために交換を行う必要があります。
ブロックチェーン技術はお金を渡さないという問題を完璧に解決しますが、交渉が難しいという難点ももたらします。結局のところ、「ナイフで価格を切る」ということはチェーンにアップロードする必要があり、絶対に切ることはできません。 Pinduoduo のような小数点 6 桁 (- .-)
Punk's Market は、これら 3 種類の取引を同時にサポートします。売り手による見積もり、買い手による見積もり、または交渉後の取引完了に役立つ契約書を作成できます。プロセス全体でロイヤルティが差し引かれることはありません。 230 行のショート コードにより、バックドアの可能性も排除されます。
彼の注文構造は非常にシンプルで、次の 2 つのタイプに分かれています。副題
1.1. 売り手のオファーリスト オファー
標準の NFT と同様に、各パンクには一意の ID があるため、各パンクには専用のオファー注文書があります。これは、値上げまたは値下げのいずれであっても再見積もりすると、前のオファーを置き換えることを意味します。 。
ここでは、売りに出されているかどうかは isForSale によってマークされ、指定された購入者は OnlySellTo によってマークされます。これは、オフチェーンの交渉とトランザクション機能のオンチェーンの実行に使用されます。

注文モデルは非常にシンプルで、共通の注文有効期間さえ存在しないことがはっきりとわかります。未決注文の売り手が率先してキャンセルしない限り、買い手はいつでも購入することが可能です。それをこの価格で
特記事項: これはopenseaの長期認定売り注文と似ていますが、Punkは転送時に過去の相場記録をキャンセルするため、異常な価格取引はありません。
1.2. バイヤーの入札入札
入札フォームも非常にシンプルで、基本的に(私、買いたい、これ、これでいくら)の4倍に相当します。
売り手が入札して購入を待つフォームに加えて、誰でも入札を送信することで、x の金額でどのパンクを購入するかを宣言できます。現在の入札が有効かどうかを反映するために、hasBid 変数もここに提供されます。
購入者はいつでも前の入札をキャンセルできますが、より高い価格の補償がない場合は、元の入札価格が保持されます(無効になっていますが)。これは、他の購入者の入札価格設定を支援するための情報共有設計です。

入札するとき、お金はどこにありますか? ?実際、それはすでにパンク契約に含まれています。
1.3. 概要
1.3. 概要
注文書の中核構造を理解した後、マウスの尻尾を掴みました。実際、それに対応するメソッドはすべて、現在の取引が合理的かつ合法であるかどうかをレビューしています。合法であることを確認した後、注文データを追加、削除、確認、変更します。

たとえば、売り手は取引を行った後、balanceOf に記録されているユーザーが保有する Punk の合計額を変更し、どの PunkID 所有者がどの情報であるかを記録するコア punkIndexToAddress も変更します。
標準プロトコルの基礎となるデータの意味については、解釈を拡張できます。
NFTリース提案EIP-5006が最終審査に入ります!海外大型ゲームのチェーン変更が可能に
最初のレベルのタイトル
副題
2.1. 売り手が最初に見積もりを出し、買い手が再度入札する
Punk を Punk を持つ著名なユーザーの 1 人として販売したい場合、3 つのステップが必要です
売り手が見積を行う -> 買い手が発注書を送信する -> 売り手が収益を引き出す
拡大して見る
売り手のオファー: 売り手は OfferPunkForSale 設定を実行し、特定の nft を特定の価格で販売する意思がある場合、注文帳は次のようになります。

購入者が購入する: buyPunk メソッドを実行すると、トランザクションの値が販売者の minValue を超えて購入が成功します。 **
売り手は、現在の収入 (つまり、買い手が購入するときに契約に預けた金額) を引き出すには、再度draww を呼び出す必要があります。
売り手が突然売りたくない場合: punkNoLongerForSale に電話して見積もりを依頼してください
これより簡単なプロセスは他にあるでしょうか?
副題
2.2. 買い手が最初に入札し、売り手が最初に確認する
Punk を所有していないが、特定の ID に興味がある場合は、次の 3 つのステップで最初に入札することもできます。
買い手の入札 -> 売り手の受諾 -> 売り手の収益の引き出し
拡大して見る
バイヤーオファー: enterBidForPunk を呼び出し、値として eth を使用し、お金はパンクコントラクトに保存されます
売り手は受け入れます: acceptBidForPunk を呼び出し、買い手が提示した価格で取引を受け入れます。実行後、買い手はすでにパンク NFTID を取得しています。
販売者による収益の出金: 引き出し可能な金額をすべて引き出すには、もう一度出金を実行する必要があります
副題
2.3. オフチェーンの交渉とオンチェーンの実行
最後の方法はより単純です。つまり、価格は完全に交渉され、売り手はその価格を承認します。
offerPunkForSaleToAddress は、オーダーブックの価格を設定するだけでなく、一意の購入者のアドレス OnlySellTo も設定します。このアドレスのみが注文を完了できます。
最初のレベルのタイトル
3. パンクの取引市場をどのように評価するか?
一見すると、非常に標準的な最小NFTトランザクションモデルであり、実際にトランザクションのコアリンクを正確、安定、確実に実現できますが、得もあれば損もある、何が長所で、何が欠けているのか
3.1. ガス代が安い
チェーン上にはオファーとビッドの 2 つの単純な注文ブックのみが保存され、最新の最高価格部分のみが保持されるため (ストレージへの追加には高いガスが必要ですが、変更には低ガスが必要です) 詳細については、イーサリアム イエローを参照してください。以下の記事の最後にある論文で、ガス計算の解像度を定義します。【ソースコード解釈】あなたが購入したNFTとは一体何ですか?
したがって、パンク市場全体のガス消費量はそれほど多くはなく、購入、販売、抽出の全プロセスを完了した後のガス消費量は約 30 W (買い手と売り手の合計支出を含む) であると著者は計算しています。
トランザクションごとに並べ替え GAS: パンク< opensea < GEM < Genie < X2Y2< Looksrare
3.2. 手数料無料
現在、パンクには合計 21 W のトランザクションがあることがチェーン上で確認できます。1 つの注文で 5 つのトランザクションを完了できれば、4 W の転送が行われることになります。市場価値が数十億のトップの優良チップの場合、印税を請求しないというのは暴力にほかなりません。
もちろん、このような組み込みの取引サービスをフルタイムの取引市場と比較するのは不公平ですが、punk の組み込みのトランザクション完了機能が完全な機能システムには程遠いからこそ、さまざまな市場が存在します。
副題Punk( 0% )< X2Y2( 0.5% ) < Looksrare( 2% ) < OS( 2.5% )
3.3. 機構の欠点の評価
結論 1: 売買メカニズムは流動性プールに役立たない
NFT にとって流動性は非常に重要であり、見積りが作成されるたびにチェーンに行くのは明らかに冷や水です。売り手は資金が不足していなければ動きたがらず、買い手は価格を立てるのが難しい場合にはモチベーションが欠如します。したがって、入札者は料金を請求され、資産をパンクにロックインする必要があります 控除の失敗はありませんが、買い手の資産の時間的価値の損失にもつながります
この点、Osなどのプラットフォームではその後、オフチェーンで購入意思を照合する署名方式が採用され、見積にはガスがほとんど必要なく、注文結果のみをチェーンに登録するだけで送金が実行できるようになりました。
この打撃は、集中化と分散化の間の効率性をめぐる競争です。明らかに、現在の市場は依然として効率性を必要としています。
結論 2: 順序モデルはバッチ操作には適さない
パンク注文モデルのシンプルさはトランザクション モデルのモデルと見なすことができますが、バッチ トランザクションの需要はどうなるのでしょうか?
販売者: 各 ID と各注文を取得し、トランザクションを確認します。
購入者: すべての ID のすべての入札を取得し、取引を待ちます
インカムファンドは一括で積み立てたり引き出したりできる設計になっていますが、それがポイントではありません
今やNFT市場では一括見積取引が必須
x2y2 と Looksrare は、現時点では OS に対する包囲網として努力しており、Gem などのアグリゲーターを使用してトラフィック プールの制限を突破することもできます。また、OS の最新の SeaPort プロトコルでは、バンドル トランザクションの新しい注文モデルも実装されています。あらゆる資産の組み合わせに対応し、市場取引を直接実現
ただし、Punk のソースコードは高度すぎて承認を保留する機能がないため、バッチトランザクションの可能性はありません
結論 3: 単一のオークションプロセスでは、取引と価格設定を一致させることはできない
取引には妥協が必要であり、NFT の現在の価値も取引を通じてゲーム化する必要があります。NFT の価格設定は常に大きな問題です。
したがって、一般的なオークション メカニズムは 4 つあります。
イギリスのオークション。公開入札で価格を決定し、最も高い入札者が落札します
オランダのオークション。価格は高値から安値に下がり、最初の入札者が勝ちます
ファーストプライスオークション。他の入札者の入札を知らずに、ロットに個別に入札する
セカンドプライスオークション。上記と同様ですが、最終的に最高額の入札者が落札しますが、支払うのは 2 番目に高い価格のみです。
これらのオークション メカニズム (イングリッシュ オークションとダッチ オークション) は Opensea の基本機能であり、取引と価格設定の促進に役立ちます。
Yingpai: 期間限定のオークション。高額の優良チップの資本コストはかかりませんが、各グループのゲーム結果に合わせて時間のバッファーも設けられています。
ついに

ついに
いろいろ文句は言いましたが、このような合理化された美しいNFTプロトコル+NFT取引市場は、わずか230行のコードで2017年に実装され、世界で最も価値のある優良チップNFTの一つに進化した製品です。勉強する価値がある
将来的には、取引市場が唯一のものではなくなる可能性があり、StepN、Axie Infinity、NBA Top Shot、そして、Seaport がオープンソースでオープンになった後は、組み込みマーケットが凝縮バージョンを支持しない可能性があります。
フォローアップでは、著者は契約から始めてOpenSea、X2Y2、Looksrare、Gem、その他の主要なNFT市場プラットフォームを研究し続け、その利点と限界を確認します。


