(この記事は2022年01月19日に作成されました。)
昨年から大きく話題になっているNFTですが、興味はあるけどどのような仕組みでつくられ販売されているのか知らない方は多いと思います。
今回はNFTを発行する上で欠かせない、「スマートコントラクト」について焦点を当てて解説していきます。
NFT発行についての方法はこちらの記事をご覧ください ↓
スマートコントラクト(smart contract)ってなに?
スマートコントラクトとは一言で表すと
コンピュータプログラムによる契約の自動化
のことです。「契約(コントラクト)の自動化」を意味するスマートコントラクトは、事前定義から決済に至るまで、一連の契約のスムーズな検証、執行、実行、交渉を狙いとしています。
1994年にNick Szabo(ニック・スザボ)という法学者・暗号学者によって提唱され、Vitalik Buterin(ヴィタリック・ブリテン)がEthereum基盤上で開発・提供され始めました。
本来契約には多くの手間がかかりますが、事前に定義されたうえで売り手と買い手の合意で取引が完結するため、この仕組みがNFTの販売に多く使われています。
スマートコントラクトを例えるなら自動販売機
スマートコントラクトを簡単に例えるなら自動販売機であるといえます。
①購入者が欲しい商品を選択
②お金を入れる
③売買成立。購入者は飲みもの。販売元はお金をゲット
ざっくりですが、これがスマートコントラクトであるといえます。
事前に飲みもの販売の定義を飲料会社が行い、購入する人は欲しい飲み物を選べばそれで売買が成立しています。
なぜNFTにはスマートコントラクト機能が必要なの?
NFTのトランザクションにはイーサリアムのスマートコントラクト規格である「ERC721」が使われています。
このERC721の規格を持つデジタルデータを一般的にNFTと呼んでいるわけです。NFTがこのERC721のトランザクションを持つことで様々なメリットが生まれます。
・自動売買ができる
・所有者を変更できる
・新たなNFTを作成できる
・二次販売時に製作者にも利益が分配できる
このように、販売するNFTにスマートコントラクト機能を使うことで販売側にも購入側にも有益なことが起こります。
openseaコントラクト機能( opensea collection )とは
このように、NFTには「ERC721」規格のトランザクションが組み込まれて生成されるわけなのですが、
openseaでミントした場合は、独自のスマートコントラクト規格である「opensea contract」が使われます。
イーサリアム規格のERC721で発行されがNFTのトランザクションデータはEtherscan(https://etherscan.io/)で確認ができます。(Polygonの場合はPolygonscan)
openseaにて生成したNFTのトランザクションを確認してみると、
token trackerは「opensea collection」となっており、openseaのコントラクトが付与されています。
openseaでのミント時にはこの 「opensea collection」 がトランザクションとして残る形になります。そのため発行元がopenseaになってしまうという懸念点があり、仮にopenseaが無くなってしまった場合に発行元を証明できないといったことにもなり兼ねません。
一方でこのような、独自でNFTを生成した、openseaなどプラットフォームのトランザクションはないものを独自コントラクトを呼びます。
openseaコントラクト(opensea collection)のメリット、デメリット
それでは、openseaでのスマートコントラクト機能の 「opensea collection」 などのプラットフォームでの規格にて発行された場合のメリットとデメリットについてご紹介します。
openseaコントラクト (opensea collection) のメリット
・独自でNFTを発行する手間が省ける
・手数料(ガス代)が安く済む
openseaコントラクト (opensea colection) のデメリット
・NFTの発行者がOpenSeaのコントラクトアドレスになるので将来的に不安
・製作者のロイヤリティが貰えない可能性がある
・発行後にRaribleなど別のプラットフォームに紐づけできない
以上のように、将来的にOpenseaでNFTを発行した場合は発行元もOpenseaになってしまい損をする可能性があります。
Openseaコントラクトと独自コントラクトについてまとめ
独自コントラクトでNFTを発行すれば、NFTの発行元としては製作者がデータとして残るようになります。
しかし、発行手数料が高い(Gas代が4万円〜5万円くらい)という部分もあるため
とりあえずNFT発行してみたい → Opensea でもOK
自分のNFTでしっかり稼ぎたい → 独自コントラクトでの発行
がいいのではないかと考えられます。以上でした。独自コントラクトでの発行については別途記事作成できればと思います。
さわかぜ