どうも、イーサリアムnavi運営のでりおてんちょーです。
先日
- フルオンチェーンNFT
- サーバー管理(ホスト)型NFT
の違い、及び第3の選択肢として「IPFS」の可能性についてTwitterで言及したところ、かなり大きな反響がありました。
フルオンチェーンNFTというのは、画像データがsvg形式などによって直接ブロックチェーン上に保持されているタイプのNFTのことです。
— でりおてんちょー|derio (@yutakandori) October 20, 2021
一方で、一般的なサーバー保管型NFTは、NFTの画像部分がデータベースへのリンクになっていて、要はブロックチェーンの外の世界から画像情報を引っ張ってきています。 pic.twitter.com/LXWDbrQ5ZJ
NFTのmetadata(画像・属性・説明書きなどのデータ)がどこにホストされているのか、意外と知らないという方も多かったようです。
それどころか、すべてのNFTがフルオンチェーンかのように誤解されていた方も多く、ここに関しては消費者保護のためにもしっかり周知しておく必要があると個人的に感じました。
ということで今回は、NFTの「画像データの管理方法」に焦点を当てながら、IPFSをサブテーマに解説していこうと思います。
はじめに、この記事の構成について説明します。
まずは、大きく2種類に分けて、NFTにおけるmetadataの管理方法について解説していきます。
次に、第3の選択肢として活用事例が増えてきているIPFSとは何なのかについて解説します。
最後に、現在発行されている有名なNFTのmetadataがどこにホストされているかを見ながら、NFTにおける画像データの管理方法についての理解を深めていただくことを目指します。
本記事が、皆さんの「NFT」や「IPFS」への理解の一助となりましたら幸いです。
※本記事は一般的な情報提供を目的としたものであり、法的または投資上のアドバイスとして解釈されることを意図したものではなく、また解釈されるべきではありません。ゆえに、特定のFT/NFTの購入を推奨するものではございませんので、あくまで勉強の一環としてご活用ください。

NFTの画像データはどこにホストされている?

まず、画像データのホストされる場所という文脈で、NFTを大きく
- フルオンチェーンNFT
- サーバー管理型NFT
の2つに分けて考えてみます。
フルオンチェーンNFTは上側のイラストの通り、
- NFTの情報(額縁部分)
- 画像データ含むNFTのmetadata(イラスト部分)
が、どちらもブロックチェーン上に保持されているタイプのNFTです。
Ethereumはpublicブロックチェーンであり、データの改ざんが非常に困難であるという特性から、フルオンチェーンNFTが消失してしまうケースは「Ethereumが稼働停止したとき」「ハッキングによりデータを改ざんされたとき」と限定されます。
このことから、publicブロックチェーンの分散的な仕組みを好む方々は、フルオンチェーンNFTを好む傾向が高いと考えられます。

一方、サーバー管理型NFTは、NFTの情報はブロックチェーン上に保持されているものの、画像データ含むNFTのmetadataに関しては、ブロックチェーン外のサーバーにホストされています。
より詳しく説明すると、NFTの画像部分の情報は「運営サーバーへのURL」になっていて、要はブロックチェーンの外の世界から画像情報を引っ張ってきています。
つまりこの場合、OpenSeaなど表示されているNFTのイラストは、Ethereumブロックチェーン外の情報を参照していることになります。

サーバー管理型NFTのメリット
サーバー管理型NFTのメリットは、データ容量の大きな画像・イラストであってもNFTのイラスト情報として指定できることです。
実は、Ethereumブロックチェーンに載せられるデータ容量はかなり小さく、一般的なイラスト等はデータ容量が大きすぎるため、チェーン上に保持することが難しいといった事情があります。
つまり、データ容量の大きなイラストそのもののデータをチェーン上に保持することはできないが、外部のサーバーへのURL(https://~~のような文字列)であれば載せられるということです。
サーバー管理型NFTのデメリット
逆にデメリットは、NFTプロジェクトの運営を信じ続けたり、管理サーバーのオペレーションミスによるデータ削除など単一障害点ある分「一定のトラストリスク」が生じるという点です。
つまり、後者のNFTでは
— でりおてんちょー | イーサリアムnavi (@yutakandori) October 20, 2021
・データベースが無くなる
・データベースの情報を書き換えられる
・アクセス制限などを受ける
ことにより、NFTの画像は表示されなくなってしまいます。
改めて、私が3年前に購入したサーバー保管型NFTをOpenSeaで見てみると、画像が消失していたNFTがちらほら見当たりました。 pic.twitter.com/cwKzV5oal0

また、NFTプロジェクトの運営・ハッカーなどにデータベースの情報(ここではイラストを表す)などを変えられると、当初の画像とは違ったイラストが表示されるようになってしまいます。

本当にそんなことあるの?
と思う方もいらっしゃるでしょうが、実際にいくつか事例があるのでご紹介します。
事例1. Raccoon Secret Society


Raccoon Secret SocietyというNFTプロジェクトで、運営がすべてのNFTを骨のイラストに変更したことが話題になりました。
▼コレクタブルNFTラグプル事件
— でりおてんちょー|derio (@yutakandori) September 11, 2021
上が元のNFT画像(メタデータ)で、下が運営によってすり替えられた画像
恐ろしいのは、これを事前に計画してやっていることで、NFTの技術やプロジェクトについての認識をコミュニティにもたらすためとはいえ、かなりタチが悪い実験ですね。https://t.co/rUPt4qrfWG pic.twitter.com/S1J5RIa4CP



自分が購入したNFTのイラストが、ある日突然、しかも意図的に変えることができる、サーバー管理型NFTにはそういったリスクもあるんだよ
ということを、この運営チームは伝えたかったそうです。
事例2. AtMyWhim
こちらの「AtMyWhim」というNFTは、OpenSeaやRaribleなどで見ても普通にイラストが表示されます。(それぞれ出力されるイラストは異なる仕様)




しかし、購入するとう○このイラストにすり替わるという、なんともお茶目心満載なNFTです。


これに関して開発者のマーリンスパイク氏は、以下のように述べています。
マーリンスパイク氏はこのNFTを使った悪戯について、紐付けられたものの保有権を証明するはずのNFTが持つ脆弱性にスポットライトを当てることが目的だとしています。
NFTは技術的にはブロックチェーン上に保存されるユニークなデジタルトークンです。しかしほとんどの場合、実際にそこに保存されるのは記録だけで、アート作品などのデータは別のどこかで管理されることになります。
つまり、NFTに高額の代金を支払ってオリジナルデータとされる画像を購入したつもりでも、肝心のオリジナルデータはブロックチェーンとは異なるところにあり、保存先のなすがままに「いつでもNFTの画像を別のものに差し替えられる」可能性があるということです。
マーリンスパイク氏はOpenSeaおよびRaribleの説明書きに「あなたはこのファンクションコール」を保有しているかもしれませんが、私はファンクションそのものを保有しています」と記しています。
暗号技術者、購入するとデジタルアートが「ウ〇コ絵文字」に変わってしまうNFTをリリース
これに関しては直接データベースの画像をすり替えた事例ではないものの、後からNFTのイラストを別物に変えることができる事例といえるでしょう。
ここまで踏まえて、



フルオンチェーンNFTだとドット絵みたいなデータ容量の小さなイラスト限定で、サーバーホスト型だと運営を信じなければならないのか。
どっちもどっちだな〜
と思われた方もいらっしゃるかもしれません。
これは実際その通りで、フルオンチェーンNFTとサーバー管理型NFTの間には、実際いろんな意味で大きな溝があるのです。
では、この大きな溝の間に位置するようなmetadataの管理方法は存在しないのでしょうか?
はい、ここで登場するのが第3の選択肢「IPFS」を使った画像のホスト方法です。
ここからは、画像データ含むmetadataをホストする場所という文脈で
- フルオンチェーンNFT
- IPFS管理型NFT
- サーバー管理型NFT
の3つに分類して、話を進めていきます。


第3の選択肢「IPFS管理型NFT」とは?
IPFS(Inter Planetary File System)は、アメリカの「Protocol Labs」という企業によって開発された、P2P(個人間で取引をおこなうタイプ)の分散型ファイルシステムです。
PCやスマートフォンのストレージの空き領域を使って、データを分散して管理することができます。
「特定の一つのサーバーが管理している」ではなく、「一人ひとりがサーバーとなり皆で管理している」イメージ。


よって、IPFS自体はブロックチェーンではないものの、概念は非常にパブリックブロックチェーンに近いものです。
「ロケーション指向プロトコル」とは


このあたりは詳しく解説すると長々となってしまうので、概念だけざっくり解説しておきます。
まず前提として、我々が普段よく使っている「https://anyoneserver.com/art1」のようなURLは、ロケーション指向型プロトコルである「HTTP」を用いています。


名前の通りロケーション(場所)を指し示すのですが、上記赤線部のURLを例にすると、



「anyoneserver.com」というサーバーにある「art1」という場所にアクセスするよ
となります。
つまり、「場所」をコンピュータに指定して表示してもらいます。
ということは、コンピュータからするとその「場所」の中身が変わっていようが消えていようが、関係ないわけですね。


この図を例にすると、「空き地にある右下の土管の中」を指し示していて、そこにあるものが林檎でも、ぶどうでも、何もなくても関係ないということです。



僕は「anyoneserver.com」というサーバーにある「art1」という「場所」を見に行くよ。
その場所の中身については変わっていようが消えていようが知らないよ。
ロケーション指向プロトコルは直感的に分かりやすいものの、
- 中身のデータ管理を運営に依存する必要がある
- 常に絶え間なく(サバ落ちしないようコストをかけて)稼働し続ける必要がある
など課題もあります。
IPFSはコンテンツ指向型プロトコル
これに対してIPFSはコンテンツ指向型プロトコルで、名前の通りコンテンツそのものにアクセスします。


コンテンツ自身のハッシュ値がアドレスとなり、それをキーにコンテンツにアクセスするといった方式です。


上画像で「これ!」と書いてある通り、ここでは林檎を指し示していて、それが空き地にあろうが、土管の中にあろうが、誰かの家の中にあろうがその場所は一切関係ないということです。



僕は「林檎」という「モノ(コンテンツID)」を見に行くよ。その場所についてはどこにあろうが知らないよ。
しかし課題として、
- IPFSに画像データをアップロードするのは技術的なハードルが高い
- 発行者が支払いを停止したらデータも消えてしまうので、永続性を担保する必要がある
- キャッシュが消されないためにピン留めが必要(filecoin/arweaveなどを用意)
などが挙げられます。


実際にいろんなNFTを見てみよう
ここまでで3種類のNFTについてある程度理解できたと思いますので、最後に有名なNFTをいくつかピックアップして、画像データ含むmetadataがどのようにホストされているか調べてみましょう。
見方や調べ方が分からないという方も、この手順通りにやれば簡単に調べられるので、ぜひお好きなNFTでお試しください。
なお冒頭でも記載した通り、本記事におけるNFTはEthereumブロックチェーン上のものを指します。
今回の手順では調べられるものは、Ethereumチェーン上にあるNFTとなりますので、あらかじめご了承ください。


Bored Ape Yacht Club
手順はこちらのBored Ape Yacht Clubの節で解説して、それ以降の節はザーッとみていく形式とします。
まずは、OpenSeaからNFTプロジェクトのページ(https://opensea.io/collection/boredapeyachtclub)にアクセスします。


次に、どれでも良いので、表示されているNFTからどれか一つクリックします。


左下にある「詳細」に「Contract Address」があるので、青くなっている英数字部分をクリックします。


そうするとEtherscanのサイトに遷移するはずです。そしたら下写真部の赤線で囲まれている「Contract」をクリックします。
「Contract」の右上に緑のチェックマークがない(verifyされていない)場合は、発行者がContractを公開していないため調べることができません。


こちらの「Code」を見れば、NFTを発行するコントラクトのソースコードを見ることができます。



イーサリアムnaviではコントラクト輪読会という勉強会もやっているので、興味のある方はぜひこちらの関連記事も見てみてください。


さて話を戻して、次に「Read Contract」をクリックします。


ここでは、「Code」で書かれた関数の一部を、wallet認証やgas代なしで呼び出すことができます。
下の方にスクロールすると「tokenURI」という項目があるので、クリックしてタブを広げます。


ここのtokenId (uint256)という欄に、数字のトークンIDを打ち込んでQueryをクリックすれば、metadataのURLを調べることが可能です。
試しに、「1」と入力してQueryしてみます。


すると「string : ipfs://QmeSjSinHpPnmXmspMjwiXyN6zS4E9zccariGR3jxcaWtq/1」と返されましたね。
よって、Bored Ape Yacht ClubのmetadataはIPFSにホストされていることが分かりました。
また、ここから実際どうやって画像データまで辿り着くのかについても解説しておきます。
今回は、Googleのブラウザ検索窓から調べてみます。
リンクを少し変更して、「ipfs.io/ipfs/QmeSjSinHpPnmXmspMjwiXyN6zS4E9zccariGR3jxcaWtq/1」にして検索してみてください。


するとこのようなJSON形式のデータが表示されます。
この「image」の部分が画像データを差しているので、こちらのリンク「ipfs://QmPbxeGcXhYQQNgsC6a36dDyYUcHgMLnGKnF8pVFmGsvqi」を形式を変えて「ipfs.io/ipfs/QmPbxeGcXhYQQNgsC6a36dDyYUcHgMLnGKnF8pVFmGsvqi」としてから、再度検索してみましょう。


するとこのように画像が表示されますね。おめでとうございます。
以上が、コントラクトアドレスから画像データ含むmetadataをホストしている場所を調べ、また画像を表示させるまでの一連の流れとなります。
Pudgy penguin


Pudgy penguinの「token ID=1」のtokenURIを調べたところ、返り値は「https://api.pudgypenguins.io/penguin/1」だったので、このNFTは「サーバー管理型NFT」に分類されます。




imageのURLについてもhttps://~~の型なので、そのまま検索すれば画像が表示されることが確認できます。


Cool Cats


Cool Catsの「token ID=1」のtokenURIを調べたところ、返り値は「https://api.coolcatsnft.com/cat/1」だったので、このNFTは「サーバー管理型NFT」に分類されます。


しかしながら、画像データに関してはIPFSにホストされていたため、
- metadataはサーバーへホスト
- 画像データはIPFSへホスト
していることになります。


よって、画像データが消失するリスクは一般的なサーバーホスト型のNFTと比較すると少ないと言えますが、metadata自体は運営管轄のサーバーで管理されていることには留意が必要ですね。


Loot (for Adventurers)


Loot (for Adventurers)の「token ID=1」のtokenURIを調べたところ、返り値はsvg形式の文字列だったので、このNFTは「フルオンチェーンNFT」に分類されます。


つまり、このNFTのmetadataはすべてEthereumブロックチェーン上に保持されているので、
- Ethereuチェーンの稼働が停止
- ハッキングによってEthereumチェーンのデータを改ざんされる
といったことがない限りデータは正当に保持されます。


0n1 Force


0n1 Forceの「token ID=1」のtokenURIを調べたところ、返り値は「ipfs://QmXgSuLPGuxxRuAana7JdoWmaS25oAcXv3x2pYMN9kVfg3/1」だったので、このNFTは「IPFS管理型NFT」に分類されます。




「ipfs.io/ipfs/QmcoavNZq2jyZGe2Zi4nanQqzU9hRPxunHAo8pgYZ5fSep/0001.png」としてから再度検索すると、カッコ良い画像が表示されました。


Generativemasks


Generativemasksの「token ID=1」のtokenURIを調べたところ、返り値は「https://ipfs.io/ipfs/QmdiWNpVVejSQNvNtgFXrqNYCGcQDANfsCNBY1iEivGxnf/3800.json」だったので、このNFTは「IPFS管理型NFT」に分類されます。




「ipfs.io/ipfs/Qma9s8wPPwxFsGAAZwtB2EPzCFGZmBtpDHq9QEfC1CoBRS」としてから再度検索すると、カッコ良い画像が表示されました。


✨🎉On-chain Celebration Giveaway🎉✨
— Generativemasks (@generativemasks) October 25, 2021
We’re giving away 5 Generativemasks for celebrating our on-chain support in 24 hrs!⏰🎊
To win:
1⃣QRT this post
2⃣Put an on-chain image you get from our webpage with the QRT
3⃣Add a Hashtag #masksonchain
Webpage: https://t.co/0NNPN9oK0K https://t.co/aZPCXexiyr pic.twitter.com/6hnKZEb7qw
MetaaniGEN


MetaaniGENの「token ID=1」のtokenURIを調べたところ、返り値は「ipfs://QmTiW6V5AG3tVJuewTV2NX1yqFJzLb28MpS7ctTHnPzKXT/1」だったので、このNFTは「IPFS管理型NFT」に分類されます。




「ipfs.io/ipfs/QmVtrbqqjnbzZR6x2RVLWr2MSKHZi8k7XPxHzeuMsjo1aS」としてから再度検索すると、カッコ良い画像が表示されました。


しかし、実際にはMetaaniGENはOpenSea上でアニメーションとして表示されるので、animation_urlの方(ipfs.io/ipfs/QmYpcnYwcVVgaJqbuEcJZyajKUDDEU4pZPT7VdgCWQfPhW)を検索すると、カッコ良い動画が表示されます。


Autoglyphs


AutoglyphsはフルオンチェーンNFTの起源とも言われていて、CryptoPunksやMeebitsといった超有名プロジェクトを生み出したLarva labsが出した、2019年発のフルオンチェーンgenerativeartNFTプロジェクトです。
Autoglyphsの「token ID=1」のtokenURIを調べたところ、返り値はものすごく長い文字列だったので、このNFTは「フルオンチェーンNFT」に分類されます。





昔この仕組みを見たときに感動しましたが、ソースと詳細を忘れてしまったので、また勉強会のネタにもしたいですね。
ということで、このNFTのmetadataはすべてEthereumブロックチェーン上に保持されているので、
- Ethereuチェーンの稼働が停止
- ハッキングによってEthereumチェーンのデータを改ざんされる
といったことがない限りデータは正当に保持されます。


Hashmasks


この記事を書くまで知らなかったのですが、HashmasksにはtokenURI関数が用意されていないみたいです。
これは前述の通り、tokenURI関数がNFT(ERC721規格)において必ず必要なものではなく、任意だからと考えられます。
有名なHashmasksとか見るとわかりますが、tokenURIがなくて最初驚きます。おそらく別途OpenSeaとかとは連携してトークン画像を表示してるのかなと推察。
— Toshi | tsh.eth (@toshiaki_takase) July 20, 2021
早く合わせてにいく側ではなく、合わせてもらう側になりたい。(なる)
そのため今回は調べることがEtherscanから調べることができないのですが、結論だけいうとHashmasksの画像データはIPFSで管理されているみたいです。
いい話速報。#Hashmasks のIPFSURLのメタデータと16,384個のマスクすべての明示的特性がオンチェーンに。また、全マスクの画像データは2018年からサービスインしているArweaveという分散型ストレージ上でIPFS pinning(どう訳したらいいのか!)されました。https://t.co/asHy7Kx5f3
— MaskJiro (@interest_about) March 17, 2021
Blitmap


Blitmapの「token ID=1」のtokenURIを調べたところ、このNFTは「サーバー管理型NFT」に分類されます…





えっ!ちょっと待って!BlitmapはフルオンチェーンNFTって習いましたよ!


しかし、実際に今までの手順通りにtokenURI関数からmetadataを確認してみると、画像データもサーバーにホストされていることが分かります。


そのため、最後になってしまいましたが、tokenURI関数を見ただけではmetadataの管理方法を確実に確認できるわけではないことは抑えておきましょう。
もし興味がある方は、baseURI関数なども合わせて確認してみてください。
まとめ


Nouns DAO JAPANは世界で一番Nounsを広げるコミュニティを目指します。Discord参加はこちら
本記事では、NFTの「画像部分」に焦点を当てて、IPFSをテーマに解説したり、実際にいろんなNFTを見ながらmetadataの保管場所について解説しました。
すべてのNFTがフルオンチェーンであると誤解されていたという方もいたので、この記事で少しでも理解を深めていただけたのであれば幸いです。


イーサリアムnaviを運営するSTILL合同会社では、以下などに関するお問い合わせを受け付けております。
- 広告掲載
- リサーチ代行業務
- アドバイザー業務
- その他(ご依頼・ご提案・ご相談など)
まずはお気軽に、ご連絡ください。
- Webサイト:still-llc.co.jp
- Twitter:@STILL_Corp
- メールアドレス:info@still-llc.com