見出し画像

【NFT】ERC721,ERC1155とは何か?

はじめましてのヒトは、はじめまして。
いつもの皆様、こんにちわ。
大葉さんです。

前回のお話

NFTをある程度触っていると聞こえてくる「ERC721」「ERC1155」という謎の文字列。

いったい、何を意味しているかの「 NFTアート クリエイター向けの解説サイト」があまり見つからなかったので、まとめてみました。クリプト向けはいっぱいあるんですけどね、プログラミング専門用語の羅列なので、「NFTを使う目的が自作イラスト発表」の方々向けではないなぁと…

思ったので、作りました!

ちょっとだけ、まっくろクロな、応用編もあるよ!!


なぜこの記事を書いたのか?

NFTアートクリエイターな方々に向けて、以下の内容を簡単に伝えるためです。

・ERCについての概要、仕組み、管理サイトの紹介
・ERC-721/1155の説明
・ERC-721の亜種の紹介、その問題点
・ETH以外のチェーンにあるNFTアートと、ERCの関係性

踏み込みすぎると沼にハマるジャンルですが、OpenSeaさんの大幅仕様変更等もあったので、ERCの概念はNFTの一般教養として覚えておいても良い時期かなって思いました。

■そもそも「ERC」とは何か?

【結論】
ERCはEthereum Request for Commentsの略称で、イーサリアムブロックチェーン上で構築されるスマートコントラクトやトークンの標準化に使われる規格のことです。

「721」「1155」という数字が一人歩きしていますが、重要なのは「ERC」という文字列です。日本語記事だと、このサイトが簡潔にまとめてくれているので、おすすめ。

重要なのは「『イーサリアム』のためのルールを決める規格」という点です。NFT全般のためのルールを決める場所ではありません。

ERC の一覧は、以下のサイトで確認できます。

20,55,137…いろんな数値がありますね。このリストに含まれる「No.721」「No.1155」 に、ETHおよびETH互換チェーンにおけるNFTのルールが書かれています。

(※ERC1155以降の数字は省略しています)

繰り返しになりますが、ERCの主語は「イーサリアムのための」規格書です。一部に、NFTの内容が書かれているに過ぎません、ここ、絶対にテストに出ます。

【応用編】

ビットコインNFTであるordinalsの規格として、BRCという言葉が見受けられます。また、ビットコインNFTトークンの規格としてBRC-20/721/1155という言葉も散見されます。この用語達は「ERCの表面的な文字列をコピーした、単なるMEME」です。

ERCにおける数字は規格書の発行No以上の意味を持ちませんし、カウントアップしかしません。BRCは721の後に20が新たに提案されたようですが、原理原則的にありえません。つまりBRC-20/721/1155は「ブラックジョークであることを前提に、真面目ぶって議論するお遊び」でした(※この辺りを理解した上で「あえて吊り橋の上で遊んでいる方々」に対しては、ワタクシからは何も申し上げることはございません)

もし、ビットコインNFTを本気の本気で広めるつもりなら、彼らは、別のタイトルの規格書を作成し、Noを1から積み重ねるべきでした。

■ERC採用までの流れ

3回目になりますが、ERCはイーサリアムのための規格書です。規格書なので、書類を書いて、即採用ってことはありえません。現実社会でもそうですね。イーサリアムの世界でもそうです。

  1. Draft:下書き

  2. Review:レビュー

  3. Last Call:最終チェック

  4. Final:正式採用

この手順を踏まえる必要があります。

また、正式採用されたからと言って、使われるかどうかは別の問題です。ERC-20の拡張機能であるERC-777はステータスがFinalですが、イマイチ人気が出ておらず、採用しているマーケットプレイスは皆無です。現実って厳しいですね。

規格書なので、以下のステータスになることもあります。

  1. Stagnant:議論停滞中

  2. Withdrawn:廃止

  3. その他、レビューステータスで数年放置状態

現実って厳しいですね(2回目)


ただし、ETHはオープンソースなので、上記の議論の結果や現在のステータス、提案書の内容の細部についてまで、全て、いつでもどこでも誰でも閲覧できます。

この透明性への異常なまでのこだわりこそが、イーサリアムがビットコインと肩を並べられた大きな理由のひとつです。

【応用編】

Web3スタートアップが盛り上がっていた頃「イーサリアムの新機能であるERC-xxxを採用した、仮想通貨モバイルウォレットを作成しました!」みたいなものを、いくつか拝見しました。

看板に掲げられているERCの番号を上記サイトで検索するのが私の密かな楽しみでした。

「Draft:下書き」に登録されたばかりの機能を、おひとり様プログラミングで独自実装して、プレスリリースを打ち出して「世界初!」ええ、はい、確かに世界初ですけど、その機能がWithdrawnになったらどうするの?

安定性を求めるなら「Final:正式採用」のみで固めて欲しい。βテスト版であれば「Last Call:最終チェック」まで、実証実験(PoC)ならば100歩譲って「Review:レビュー」までの規格を選んで欲しい。下書きはやめて欲しい、下書きは。4833とか、5521とか。

6551は、レビューへの格上げ、おめでとうございます。3年後くらいに使い物になると革命だなと思っているので、Finalになるまで、ゆっくり待ちますね!(2023年10月現在)

■ERC-721/1155

全ては公開されたドキュメントの中に書いてあります。ブラウザの翻訳機能を使って日本語に置き換えて、ざっくり読んでみましょう。プログラムに関する説明は飛ばせば良いです。

ERC-721: 代替不可能なトークン標準

【ポイント部分抜粋】

次の標準により、スマート コントラクト内の NFT 用の標準 API の実装が可能になります。この規格は、NFT を追跡および転送するための基本的な機能を提供します。

私たちは、NFT が個人によって所有および取引されるだけでなく、第三者のブローカー/ウォレット/オークション運営者 (「運営者」) に委託されるユースケースを検討しました。NFT は、デジタル資産または物理資産に対する所有権を表すことができます。私たちは多様なアセットの世界を検討しましたが、皆さんはさらに多くの夢を想像できるでしょう。

物理的特性 — 住宅、ユニークなアートワーク
仮想収集品 — 子猫のユニークな写真、収集可能なカード
「マイナス価値」資産 — ローン、負担金、その他の責任
一般に、どの家も個性があり、同じ子猫は 2 匹としていません。NFT は区別できるため、それぞれの所有権を個別に追跡する必要があります。

ERC-1155: マルチトークン標準

【ポイント部分抜粋】

ERC-20 や ERC-721 などのトークン標準では、トークンの種類またはコレクションごとに個別のコントラクトを展開する必要があります。これにより、イーサリアム ブロックチェーン上に多くの冗長なバイトコードが配置され、各トークン コントラクトを独自の許可されたアドレスに分離するという性質上、特定の機能が制限されます。ブロックチェーン ゲームや Enjin Coin のようなプラットフォームの台頭により、ゲーム開発者は数千種類のトークンを作成する可能性があり、それらをサポートするには新しいタイプのトークン標準が必要です。ただし、ERC-1155 はゲームに固有のものではなく、他の多くのアプリケーションでもこの柔軟性の恩恵を受けることができます。

この設計では、複数のトークン タイプを一度に転送してトランザクション コストを節約するなどの新しい機能が可能になります。複数のトークンの取引 (エスクロー / アトミック スワップ) はこの標準に基づいて構築でき、個々のトークン契約を個別に「承認」する必要がなくなります。また、単一のコントラクト内で複数の代替可能または代替不可能なトークン タイプを記述して混合することも簡単です。

つまり、以下のように使い分けをすれば良いのです。

・1枚限定NFTアート、フィジカル紐付きNFT:ERC721
・複数枚mintNFTアート、チケット:ERC1155
・その他、よく分からない時:ERC721

NFTの基本はERC721です。1155は複数枚NFTを発行するときのオペレーションやgas代を改善するために作られた新規格です。こだわりなければ、721にしておけば、間違いありません。

■それでは、なぜ、今まで混乱していたの?

NFT作成時に「ERC1155形式で1枚だけ発行したNFT」を標準設定にしていた、某大手マーケットプレイス様がいらっしゃったからです。gas代を安くしたかったんでしょうね。

OpenSea Studioリリースにより、本問題は解決・・・していませんでした。

某大手様、しっかりしてください!!

■ERC-721A、Lazy minting等の位置付け

この辺りのNFT作成機能と、ERC-721/1155との関係も説明します。

あとは、数日前に注目を浴びた、Lazy mintingですね。


結論から言うと、上記、全部、ERCに記載が載っていない非公認規格です。

ERC-721/1155のサンプルプログラムは公開されているので、これらを独自(魔)改造して、もっともらしい名前をつけて一般公開していただけです。

✓ ERC-721Aの特徴
ERC-721Aは、作品を1枚ミントしたときのガス代で作品を複数ミントすることができます。

「いや、ERC-1155使えよっ!」て思ってしまうわけですが、ERC-721のマーケットプレイスで作品を売買したかったんでしょうね。男の子なので、電源タップにON/OFFスイッチつけたり、バイクにツノやドリルを生やしたりしたくなる気持ち、わかります、とってもわかります。

プラスアルファで、ERCの議論を進めている方々に対して提案書の1枚も出してくれれば(結果として却下されたとしても)半公認の肩書を得られたかもしれないのですが、「独自規格を作った、オレ達すげーぜ!」で止まっているあたりが、ちょっとだけ残念。

動くか動かないかで言えば動くのですが、ERC採用までの流れで言うと、レビューをすっ飛ばしてドラフトのまま、本番稼働しているようなものなので、どうしても細部で問題は出てしまいますね。具体的には某大手様のコレクション整合性問題とか。もはや、過去のお話ですが。

OpenSea Studioリリース、本当におめでとうございます。

■ETH以外のチェーンにあるNFTアートと、ERCの関係性

最後まで繰り返すのでもう忘れないと思いますが、ERCは「イーサリアムのための」規格書です。

ビットコインを初めとした、ETHとの互換性がないチェーンで作成されるNFTとERC-721/1155との関係性は、一切ございません。

Polygonを初めとするETHと互換性があるチェーンのNFTと、ERCは、密接に関係があります。なぜなら、その互換性はERC-20にて成立しているからです。

【ポイント部分抜粋】
<簡単なまとめ>
トークンの標準インターフェイス。

<概要>

次の標準により、スマート コントラクト内のトークンの標準 API の実装が可能になります。この標準は、トークンを転送するための基本的な機能を提供するだけでなく、トークンを承認してチェーン上の別のサードパーティがトークンを使用できるようにします。

<モチベーション>

標準インターフェイスにより、ウォレットから分散型取引所に至るまで、イーサリアム上のあらゆるトークンを他のアプリケーションで再利用できます。

基本的に、MetaMaskのアドレスで移動できるチェーンについてはERC絶対準拠です。

逆に言えば、MetaMaskを使わないアドレスで発行されたNFTは、ERC関係がないと考えていただければ良いかと。具体的には、BTC、MONA、DOGE、XRP、BNBあたりですかね。Astar networkのNFTも、ここに属します。

かのように、ERC-721/1155を含むERCは偉大で大切なルールなので、きちんと守らなきゃ色々と危ないのです、というのが、今回のまとめでした。

最後に、ETH互換のNFTアートは、迷ったらERC-721、これ鉄板。


本日はここまでです。
では〜


次のお話

いいなと思ったら応援しよう!