![見出し画像](https://assets.st-note.com/production/uploads/images/74021529/rectangle_large_type_2_6752bd06523f69b542f39d161ba33b60.png?width=800)
【NFT】独自コントラクト/共有コントラクト
はじめましてのヒトは、はじめまして。
いつもの皆様、こんにちわ。
大葉さんです。
前回のお話
最近は流行ばかり追い過ぎていた感もあるので、久しぶりに気分を一新して基礎講座。2021年の年末年始に盛り上がっていた「独自コントラクト」について触れてみたいと思います。
思ったより単純でしたが、思ったより細かくてなかなか伝わり難かったです。整理せねば!
なぜこの記事を書いたのか?
独自コントラクト/共有コントラクトの違いについて、学ぶ為です。
シンプル!
それでは早速、詳細に行ってみましょう!!
■「スマートコントラクト」って何?
「スマートコントラクト」とは、ブロックチェーン上で契約を自動的に実行する仕組みのことです。しばしば「スマコン」「コントラクト」と省略されていますが、示す内容は同じになります。
■NFTを発行する際に結ぶ「スマートコントラクト」って何?
NFT作成に関するパラメータを登録する為の「スマートコントラクト」です。具体的なパラメータは多岐に渡りますが、重要になってくる設定値の例を挙げると以下になります。
・NFT Standard(ERC721 or ERC1155)
・MetaDataの保存先
・Collection名称
・契約元になるアドレス
もう少し現実に即した例えをします。
・ETH上でNFTを作成する場合には、申込用紙的なものを事前に提出する必要があります。
・申込用紙の項目を全部埋めないと、NFTは発行できません。
・事前にコントラクトを作っておく事により、申込用紙の一部を記入済にした「あなただけのNFT申込書フォーマット」を作ることが出来ます。
・2枚目以降のNFTを発行する時、既存のコントラクトを再利用することで、申請書類記入の一部を省略できます。
こんな感じです。
■OpenSeaでNFTを発行する場合
では、具体的に有名サイトを使って実感していきましょう。
OpenSeaでNFTを作成する場合、以下の過去記事で紹介した手続きで、パラメータを入力していきました。
さて、ここで問題です。
・NFT Standard(ERC721 or ERC1155)
・MetaDataの保存先
・契約元になるアドレス
上記、入力しましたか?していないですよね?
それでは、これらの値は「誰のコントラクト」に基づいて補完されたのでしょうか?
調査対象NFT( BLUE ICONS様 : https://twitter.com/blueicons2022 )
![](https://assets.st-note.com/img/1646961789322-kFfxzdC8yr.png?width=800)
ここをクリックします。
![](https://assets.st-note.com/img/1646961919392-n4iUS5hVAR.png?width=800)
このContractはどうやら「OpenSea」のアドレスに紐づいており「OpenSea Shared Storefront(OPENSTORE)」というコレクションとして管理されているようです。
![](https://assets.st-note.com/img/1646962578551-zhtLt9MFAk.png?width=800)
以上の結果より、上記NFTは「OpenSea」が保有する「OpenSea Shared Storefront」というコレクションにおける「23313208483802283135666443883800867521842685144162947101067955514838941171713」のIDを持つNFTと判明しました。
未入力の項目は全て「OpenSea Shared Storefront」による設定値が適応されています。設定値を変更できる権限を持つのは、契約者である「OpenSea」のみです。我々は何も出来ないので、問題が発生した場合はOpenSeaのサポートセンターに連絡をしなければなりません。はて、Web 3.0とは?
■つまり「共有コントラクト」とは?
NFTマーケットプレイスが保有するアドレスが契約元になっている「NFT発行に関するコントラクト」をクリエイターが間借りしているケースを示します。
メリット:
詳しい仕組みを知らなくてもNFTが発行出来る。問題が発生したとしても、マーケットプレイス側がフォロー&サポートしてくれる可能性がある。
デメリット:
契約元(OpenSeaなど)が倒産した場合、契約内容が変更or破棄される可能性がある。NFTが爆発的に売れた場合、自分ではなくマーケットプレイス側の知名度が上がる(ブロックチェーンに刻まれているのは、OpenSeaなどが保有するアドレスの●●枚目、という情報のみ)
■つまり「独自コントラクト」とは?
【広義の意味】
「共有コントラクト」の対義語です。自分自身の保有するETHアドレスを契約元にして「NFT発行に関するコントラクト」をクリエイター自身が全て定義しているケースを示します。
メリット:
「共有コントラクト」(OpenSeaなど)を保持したマーケットプレイスが倒産した場合においてもNFT資産は保護される。NFTが爆発的に売れた場合に、自分自身が保有するブランド名の知名度向上に直結する。
デメリット:
ある程度のプログラムあるいはイーサリアムに関する知識が必要。メタデータ等の維持・死活管理・管理は全て自己責任。契約元のETHアドレスがハックされた場合は、致命傷を負う。
【本来の意味】
「自分でSolidityというプログラミング言語でコードを書いたスマートコントラクト」の事を示します。
「コントラクト作成サポートツール」や「WebGUIサイトの支援」を経て作成したコントラクトは、広義の「独自コントラクト」には含まれますが「本来の独自コントラクト」には含まれません。
![](https://assets.st-note.com/img/1647055795950-HrhAIbyQqv.png?width=800)
✌️🐷✌️様( https://twitter.com/PigThePersona )ご指摘ありがとうございます。
■独自コントラクト確認方法
それでは、独自コントラクトを設定しているNFTをOpenSeaから確認し、共有コントラクトとの差分を比較して行きましょう。
調査対象NFT( unagi189_eth様 : https://twitter.com/unagi189_eth )
https://opensea.io/assets/0x4b214ab4f9f32d26ebd453b62bc010f8b8c2eaa3/1
![](https://assets.st-note.com/img/1646976405396-ZuTTkNT8Ms.png?width=800)
「Contract Address」が先程のサンプルと異なる点がお分かり頂けますか?また「Token ID」は、この契約上では初めてのNFT発行となりますので「ID:1」です。
次にCotract Addressのブルー部分をクリックしてみましょう。
![](https://assets.st-note.com/img/1646976983798-Yw2dN9nAyF.png?width=800)
このContractは「0x4b以下略」のアドレスに紐づいており「u-nagiworks(UNAGI)」というコレクション上で「1」のIDを持つNFTと判明しました。
スクロールして下方向へ。
![](https://assets.st-note.com/img/1646977558260-SL5Nv6w7wB.png?width=800)
Transactionには「コントラクトに紐づく全てのIDの履歴」が掲載されます。本コントラクトを元に2枚目のNFTを発行すれば「ID:2」、3枚目を発行すれば「ID:3」と増えていくのですが、これらの全てのアクションがTransaction欄に永久に残ります。まさに、あなたの活動履歴ですね。
(参考)
「u-nagiworks(UNAGI)」コレクション ID 2の作品:
https://opensea.io/assets/0x4b214ab4f9f32d26ebd453b62bc010f8b8c2eaa3/2
「u-nagiworks(UNAGI)」コレクション ID 3の作品:
https://opensea.io/assets/0x4b214ab4f9f32d26ebd453b62bc010f8b8c2eaa3/3
そうです、親子関係が明確なので、OpenSeaのURLリンク的には、末尾の数字が変わっているだけです。
最後に確認すべきは、契約内容。
![](https://assets.st-note.com/img/1646977782961-UjvZeOTbUw.png?width=800)
ソース公開されておりますので、該当の「独自コントラクト」が怪しいと感じた場合は直ちに調査し、必要に応じてrebokeして下さい。全て可視化されてます。フェアです。これぞWeb 3.0!
■結論
Web 3.0の定義に従い、全てを可視化する為にも「最終的には独自コントラクトに移行した方が良い」「自分の作品を守るための鍵は、全て自分の手の届く範囲に置くべきである」「最終的に独自コントラクトは、あなたの作品の履歴書になる」です。
ただし、今日明日変更しなければ、即座に財産を失くす訳ではない為、十二分に検討と検証を重ねた上で移動しましょう。
■とはいえ「独自コントラクト」作成時の設定パラメータは多すぎるので
「独自コントラクト作成支援サイト」的なものが公開されています。積極的に活用して行きましょう。
ETHの場合
Manifoldの使い方、本来の意味での「独自コントラクト」定義については、✌️🐷✌️様( https://twitter.com/PigThePersona )作成の下記サイトをご確認ください。
Polygonの場合(ここ以外、知りません)
(補足)本来の意味での「独自コントラクト」を設定する為には、以下のブログで紹介されているようにプログラミング&サーバ構築が必要になります。ただし、高度な知識が必要な上に、失敗すると致命傷なのでプログラマー以外の方にはお勧めしません。特にNFTアートクリエイターの方々の本業は「作品を世に生み出す事」です。時間は有限です。素直にWebGUIサイトを使いましょう!
OpenSea以外の(重要)マーケットプレイスで「Collection」を作成する事によって、独自コントラクトを簡単に立ち上げる事も可能です。
個人的には、Foundationがお勧め。
ただし、まだまだ制限あり、詳しくは以下を参照です。
https://help.foundation.app/hc/en-us/articles/4419475117083-FAQ-Foundation-Collection
■【おまけ】Foundationの方針変更「共有コントラクト廃止」
本題からは少し外れるのですが、1月28日にFoundationが共有コントラクト上へのNFT mintをサポート終了しました。一連のツイートが素敵なので、メモを残しておきます。
ᴀɴɴᴏᴜɴᴄᴇᴍᴇɴᴛ
— Foundation 🌐 (@foundation) January 26, 2022
We are closing minting access to the Foundation Collection on Friday, January 28.
Let’s all take a moment to ground ourselves in why this matters, and how this decision empowers creators even more in web3.
↓
When we launched in 2021, creators began by minting their first NFTs to a shared smart contract—the Foundation Collection.
— Foundation 🌐 (@foundation) January 26, 2022
The collection marks a historic moment in time, and houses NFTs made by artists from all over the world.
We all had to get our start somewhere.
Now, artists can deploy their own smart contracts with Collections on Foundation.
— Foundation 🌐 (@foundation) January 26, 2022
We believe that your history should be preserved on your contract—not ours.
In web3, having clear provenance of your work and owning your smart contract is key. 🗝️
This ability to own our own smart contracts is something that should not be overlooked when putting work out into the metaverse. And sometimes we have to make the difficult decision to go through processes such as this to enable the best position for our work.
— pixelpete (@pixelpete) January 20, 2022
With Collections, creators are in control of their own smart contracts.
— Foundation 🌐 (@foundation) January 26, 2022
Works created together, stay together—you can take your contracts wherever you want to.
By closing our shared contract, we're making way for this future.
Read our FAQ → https://t.co/ssQv8foArO
本日はここまで。
ではでわ!!
次のお話
この記事が気に入ったらサポートをしてみませんか?