共有コントラクトと独自コントラクト
●NFTの発行方法には、共有コントラクトと、独自コントラクトの2つがあります。
●簡単に説明しますと、共有コントラクトとは、OpenSeaのようなマーケットプレイス内で、OpenSeaが持つ一つのコントラクト(契約)で、複数のNFTコレクションを発行することを指します。
そして、そのNFT発行者がOpenSeaになっているのです。
つまり、不特定多数のユーザーのNFTについて、発行者の代表として「OpenSea」の名前がブロックチェーン上に表示されているのです。
さらにこの場合、そのNFTを他のマーケットプレイスで表示させたり、販売することができません。OpenSeaの中だけでの表示、販売に限定されます。
●一方、独自コントラクトは、マーケットプレイスの外で、独自にプログラミングなどを行ってNFTを発行することを指します。もちろんそれなりの専門知識を必要とします。
この場合、NFT発行者は、そのプログラムを行った人が自由に名前を設定できます。
そして、この独自コントラクトによるNFTは、審査が無い自由出品が可能なOpenSeaやRaribleなどのマーケットプレイスでは表示、販売が可能となっています。
つまり、複数のマーケットプレイスでの同時出品が可能なのです。
●NFTの場合のコントラクトとは、「Contract」=「契約」という意味であり、スマートコントラクトというブロックチェーン上での契約になります。
●ここで重要になってくるのが、この契約方法になりますが、特定のマーケットプレイス名義がNFT発行者になるのか?
それとも自分自身が発行者になるか?この違いが、共有コントラクトと独自コントラクトなのです。
●NFTの魅力と言えば、ブロックチェーン上に取引履歴が刻印されることで、NFTの所有者や発行者が記録・保証される、という性質が思い浮かぶと思いますが、知識の無いままOpenSeaで出品してしまうと、この「発行者」がOpenSeaになってしまうのです。
自分が主体的に発行した唯一無二のNFTのつもりだったものが、発行者が他人名義になっていた、という事実に気づいた時にも既に時遅しです。もちろん、バーン(消去)して、再発行するという手もありますが。
●これが意外と知られていない事実であり、初心者やNFTをやりたいけれど、あまり詳しくない人が注意すべきことなのです。
●もちろん、発行者なんて関係ない、そこはどちらでもいい、というかたは共有コントラクトのままでもよろしいかと思います。ここでの解説は、これらの事実を知った上で、各自でご判断いただくためのものですので、共有コントラクトでのNFTだからといって、それがNFTではありませんとか、価値がないというようなことではございません。共有コントラクトでもブロックチェーン上に記録されたデジタル証明書の価値があることは言うまでもありません。
●この問題につきましては、昨年からのNFTブームに乗って、個人が自由に自分の作品をNFT化して出品、販売できるプラットフォームで、断トツ世界NO1のユーザー数のOpenSeaについて特に顕著にみられる問題です。
●大切な思い出や、販売目的のデジタルアート等をNFT化する際に、この点を知らないで安易に共有コントラクトでNFT化してしまうと、後々大変な事態に遭遇する可能性がありますので、ここではぜひ最低限の知識を身に着けてください。
ERC-721とERC-1155の違い
●一つのコントラクトアドレス(契約情報)に複数のNFTが結びついている方式を「共有コントラクト」と呼びます。
前述の例のように、発行者がOpenSeaなどのマーケットプレイスになっているのです。
これは一般的に、「ERC-1155」という規格を用いた同一コントラクトで、複数トークンを紐づける形式のことです。
Cryptopunksなどの有名なNFTは、ほぼすべてが独自コントラクトで生成されていますが、あまり知識を持たないまま最近のNFTブームに乗って、OpenSeaで出品しているコレクションのほとんどが「共有コントラクト」になっていると思われます。
●それに対して「独自コントラクト」とは、各NFTがそれぞれ特有のコントラクトアドレス(契約情報)を持ちます。
これは主に「ERC-721」という規格に基づいたNFTになります。
今後このキーワードはNFTに関係する人は必ず目にする言葉になるでしょう。
それだけ重要なキーワードなので、今回は「独自コントラクト」「ERC-721」だけでも覚えておきましょう。
確認方法
共有コントラクトの確認方法
●次図「共有コントラクトの確認方法①」をご参照ください。
ここでは例として弊社で事例用に作成したものをチェックしてみます。
「Shirakaba@Yachiho」というNFTです。
●この中の「Details」のを見ると、Token Standardが「ERC-1155」となっているのが確認できます。
●Contract 「0x495f...7b5e」をクリックするとEtherscanというブロックチェーン上の契約情報を確認できるサイトに飛びます。
●次図「共有コントラクトの確認方法②」をご参照ください。
画面左上の「Contract」の文字列がコントラクトアドレスであり、ここに、複数のユーザーのNFTコレクションが紐づけられています。他人同士、コンセプトもまったくバラバラの異なるコレクションの契約が一つにまとめられているのです。
●さらにコントラクトアドレスの下の①の部分に「OpenSea」と表示されています。
そして②のトークントラッカー(発行者)の部分に、
「OpenSea Shared Storefront(OPENSTORE)」
と表示されています。
これが、OpenSeaの共有コントラクトであるという証拠になります。
独自コントラクトの確認方法
●次図「独自コントラクトの確認方法①」をご参照ください。
独自コントラクトである証拠を確認してみましょう。
Bored Ape Yacht Club「#3749」をピックアップしてコントラクトを見てみましょう。
●共有コントラクトの事例同様に「Details」という項目をチェックしてみましょう。
●Token Standardが「ERC-721」となっているのが確認できます。
これにより、このNFTが1つのコントラクトに、1つのNFTコレクションがあることを示しています。
●「Contract Address」の「0xbc4c…f13d」の部分をクリックすると、Etherscanが表示されます。
●次図「独自コントラクトの確認方法②」をご参照ください。
Etherscanの画面内の①にコントラクトアドレスが表示されています。
共有コントラクトのように、OpenSeaとは書かれていませんが、ここだけ見ても、これが独自なのか共有なのかがよく分かりません。
●そこで同じ画面内の②です。
トラッカーが「BoredApeYachtClub(BAYC)」と表示されています。
これが独自コントラクトである確固たる証拠になります。
●このようにトラッカー、またはトークントラッカーに固有の名称がつけられているのです。
共有コントラクトの事例のような「OpenSea Shared Storefront(OPENSTORE)」ではないのです。
●このトラッカー名称はBored Ape Yacht Clubの発行者が決め、NFT化をする際にこのようにプログラムに書き込むのです。
データの保存先は?
【IPFSについて】
●NFTの画像や動画などのデータは数MBに達する場合もあります。
これらのデータは、どこに保存されているのでしょうか?
意外と知られていないことですが、ブロックチェーン上には、数KBしか保存できず、保管可能なデータ容量が非常に小さいのです。
●では、どうするか?
OpenSeaの場合、共有コントラクトではOpenSeaのサーバーに置くことになります。
この場合、OpenSeaが破綻、もしくはハッキングされた場合は、そのデータが消える可能性があります。
クラウドサービスではGoogle DriveやAmazon Webサービス、Dropboxなどは中央集権型システムに基づくストレージサービスになります。
母体企業が倒産、さらにはハッキングされたらデータも危険にさらされます。
GoogleフォトやAmazonフォトなどのクラウドアルバムなどがこれに該当します。
大切な写真画像は、クラウド上には保管せずに、NFT化するなどしてブロックチェーン上に記録することも重要だと考えます。
●一方、独自コントラクトの場合は、保存先は「IPFS」になります。
「InterPlanetary File System」の略で、より詳しい内容はここでは割愛させていただきます。
IPFSは、インターネットでつながる世界中にあるノード(パソコンなど)上に分散して保存、データを永続化(ピン留めと呼びます)していく技術です。
この場合は中央集権的な管理者が不在なので、企業倒産の心配は不要になります。
長期保存のための自律分散型システムに基づくストレージと言われています。
OpenSeaが破綻しても、保存しているNFTのデータは存続していきます。
★クラウドアルバムとNFTアルバムの違い
- クラウドアルバム
(Googleフォト、Amazon Photosなど)
・ここにある写真はNFTではないので、複製、改ざんが可能。
・ブロックチェーン上ではなく、企業のサーバー上に保管されている。
・アルバムを保管するストレージの管理主体が1企業である。リスクが分散されていない。
・その企業が倒産したり、サーバーが攻撃されたら、保管してある写真も消える可能性がある。 - NFTアルバム(独自コントラクト)
・一つ一つの画像がNFT化されているので、ブロックチェーン上に記録されている。
・データ保管先は、「IPFS」に保管。
・企業としての管理主体が存在せず、リスクが世界中のインターネット上にあるコンピューターなどに分散されている。
★OpenSeaでIPFSに保存?
●ところでOpenSeaでは、実は保存先をIPFSに設定できます。これは一度共有コントラクトで発行したNFTを「編集」することで後から設定できます。具体的には、NFTの編集画面にて「Freeze metadata」という項目で設定します。どこにもIPFSと書かれていないので、初めてのかたには分かりずらいと思いますが、詳細が書かれたリンク先を見ると、IPFSと書かれています。
これによると、メタデータをFreezeすることで、下記のデータがロック(書き換えできない)されることになると書かれています。
- item name(NFTの名前)
- media (JPG, PNG、MP4などの画像、動画など)
- description(NFTの説明)
- properties, levels, and stats(プロパティーなど)
●逆に、Freeze metadataを行いIPFS上に保存する前の段階では、共有コントラクトで発行したNFTの上記のデータは書き換えができるということです。
つまりメタデータがブロックチェーン上に書き込まれていないということです。
「えっ?NFTって後から修正はできないのでは?」
と思うかもしれませんが、確かに妙な話です。
この点からも共有コントラクトで発行したOpenSea上のIPFSに保存していない段階のNFTは、NFTとしては不完全な状態であると言えます。
この点は、すべてのユーザーが認識すべきことだと考えますが、意外と知られていない点でもあります。
独自コントラクトでの発行方法は?
●マーケットプレイスのOpenSeaでは、現状、独自コントラクトでのNFTコレクションの発行はできません。
●アーティスト申請などが不要で自由出品ができて、独自コントラクトでのNFT発行ができるマーケットプレイスは存在します。有名なところではNFTradeやRaribleがあります。
●次の図は主要な自由出品OKのマーケットプレイスの比較表です。
他にも多くのマーケットプレイスがありますが、自由出品でかつ、ある程度の取引額があるところは限られてきます。
●NFTradeやRaribleでは、コレクション作成の際に、ERC-721規格での発行が選択できるのです。
しかし検証した結果、これらで独自コントラクト(ERC-721)にて発行したNFTをOpenSeaで販売することができない場合があるのです。
●NFTrade
発行した独自コントラクトのコレクションをOpenSeaにインポートし、販売までは可能ですが、コレクションの編集時にロイヤリティー設定をしようとするとうまくいきません。
必ずエラーが出てしまいます。NFTrade側でロイヤリティーを設定してことが要因かもしれません。OpenSea側でロイヤリティー設定をしないままだと販売できます。
しかしこれだと問題です。OpenSea上ではロイヤリティーが0%と表示されても、実際にはNFTrade側で設定済の10%などの利率が差し引かれる可能性があるからです。
取引額については、OpenSeaの1/276の規模です。
●Rarible
NFTradeと同様にOpenSeaにインポートした後、OpenSeaでの販売自体ができません。
販売(Sell)を行う際に、自分のウォレット(メタマスク)に接続し、ロック解除を行う段階で必ずエラーが出てしまいます。これができないとSellまでたどり着けません。
仮想通貨歴も長く、NFTも一通りの手順を何度も経験している人が試してみても上手くいかないので、この作業は初心者のかたはほぼ無理かと思います。
取引額についてはOpenSeaの1/2562です。
●繰り返しますがOpenSeaでは現状、独自コントラクトでのNFTコレクションの発行はできません。
それにも関わらず、なぜOpenSeaがここまで世界で最も利用されているのかを考察してみます。
【OpenSeaが最も利用されている理由】
- 自由に自分の作品をNFT化できる。
- 有名NFTコレクションのほぼ全てが出品されているマーケットプレイスは魅力。
- ユーザー数が圧倒的世界No1なので自分のNFTを注目してもらえる可能性も高いと考え、さらに人が集まってくる。
- 優れたインターフェース:画面構成が見やすい、扱いやすい。
- 共有コントラクトであることを知らない人がほとんど。
●OpenSeaを使ったことがあるかたなら分かると思いますが、ここを最初に使ってしまうと、他のマーケットプレイスが使えなくなる程、インターフェースが使いやすく、きめ細かい部分にまで手が届いている感じがします。
ツールとして大変優れていることも、人気の大きな理由だと考えます。
●そもそも共有コントラクトの問題を認識しないままNFTを発行している人が多いと思います。
しかしNFTは一度発行してしまうと、後から独自コントラクトに修正することも不可能なのです。
最初に行う必要があります。
●自分の大切な思い出のNFTはもちろんですが、販売目的でNFT化したものは、自分の手を離れた後も価値を大きくしてゆく努力が必要です。
その際に共有コントラクトであるために、マーケットプレイスの突然の方針変更などによる制約を受けてしまい、購入者(オーナー)の不満を募らせる可能性もあります。
この点は十分にご注意ください。
安易に共有コントラクトのままでNFT化はなさらないように、事前にじっくりご検討されることをお勧めします。
●このように考えてくると、圧倒的に取引額・ユーザー数が多く、使いやすいOpenSeaで独自コントラクトでのNFTの販売ができたら最高だと思いませんか?
そのためにはマーケットプレイスの外部で独自コントラクト発行を行うしかありません。
マーケットプレイスの外部での独自コントラクト発行
●有名NFTのほとんどがRaribleやOpenSeaなどの複数のマーケットプレイスで販売されています。
この理由としては、それらの有名NFTは、独自コントラクトでのNFT発行を、OpenSeaやRaribleのマーケットプレイスの外部でプログラミングしているからです。
●この方法は弊社でも検証したことがありますが、それなりのコードの知識が必要です。
一度やってみると、これがスマートコントラクトなんだ!と実感が沸くこともあります。
しかしこの方法は、NFT初心者にはかなりハードルが高いと思います。
●他の方法としては専用のツールがいくつかあるようですが、画像がアップロードされる場合とされない場合あったり、OpenSea上で表示されなかったりと、動作が安定しない場合があります。
そして、ツールを使うこと自体、NFT初心者にもこちらもかなり難しいでしょう。
●そもそも独自コントラクトではなく、OpenSeaの共有コントラクトで発行するにしても、初心者のかたには、いくつかハードルがあります。
●まず初心者のかたは仮想通貨を持ったことが無い人が多いと思います。
そこから始めるとなると、多くのステップが必要になってきます。
●以下はポリゴンチェーンでのNFT発行をする際の手順になります。
- 日本円で日本の暗号資産取引所に入金
- イーサリアムを買う
- 海外取引所にイーサリアム送金
- イーサリアムをポリゴン(MATIC)に変換
- メタマスクを準備し、そこにMATICを送金
- OpenSeaに接続
●ここまで来てやっとOpenSea上での出品準備が完了となりますが、5段階に渡る準備で挫折してしまうか、または仮想通貨の取り扱いかたを間違えて、紛失などの可能性もあります。
さらに出品に際しては、コレクションの画像バナーなどを3種類準備する必要があります。この作業はそれなりに画像制作の知識が求められます。
●このように、初心者のかたにとって、独自コントラクトでプログラミングしてNFT化するなどということは、現実的ではありません。
●OpenSeaで独自コントラクトでのNFTコレクションを表示または販売をしたい、さらに他の複数のマーケットプレイスでも表示・販売をしたいという希望を叶えるには、自分でスマートコントラクトのコードを学んでNFT発行する技術を習得するしかないと思いますが、弊社では、この最も面倒な部分を代行しております。
ご希望のかたは当サイト「NFTアルバム」のページをご覧の上、お問合わせください。
●最後に共有コントラクトと独自コントラクトのメリット&デメリットをまとめておきます。