NFTのIPFSを解説|画像やメタデータはどこに保存される?

NFTの画像やメタデータがIPFSに保存・参照される仕組みを表したアイキャッチ画像

NFTを見ていると、「IPFS」という言葉を目にすることがあります。

特にNFTの画像やメタデータを確認すると、

ipfs://bafy...

のような見慣れない文字列が表示されることがあります。

IPFSはNFTの画像やメタデータを扱うときによく利用されていますが、IPFSそのものがNFT専用の保存場所というわけではありません。

また

「NFTの画像はすべてブロックチェーン上に保存されている」
「IPFSに保存すれば永久に消えない」

という理解も正確ではありません。

この記事では、IPFSの基本的な仕組みからCID、ipfs://の意味、NFTのメタデータとの関係、データが表示されなくなる可能性まで初心者向けに解説します。

💡 この記事でわかること

  • NFTで使われるIPFSとは何か
  • NFTの画像やメタデータがどこに保存されているのか
  • CIDやipfs://の意味
  • IPFSと通常のWebサーバーの違い
  • IPFS上のデータが消える可能性と確認ポイント

NFTで使われるIPFSとは

IPFSは「InterPlanetary File System」の略称です。

IPFS公式では、IPFSをコンテンツの内容を基準にデータを識別し、ネットワーク上で探索・転送するためのオープンなプロトコル群として説明しています。

一般的なWebでは

https://example.com/image.png

のように「どのサーバーの、どの場所にあるデータか」を指定してアクセスします。

一方、IPFSではデータの内容から作られるCID(Content Identifier)を使ってコンテンツを指定します。

IPFSの基本的な仕組みについてはIPFS公式ドキュメントで確認できます。

IPFSはストレージサービスそのものではない

ここは最初に押さえておきたいポイントです。

IPFSという名前から「分散型のクラウドストレージ」のように考えられることがありますが、IPFS自体がファイルを永久保存してくれるストレージサービスというわけではありません。

IPFSは、データをコンテンツベースで識別し、ネットワーク上から探索・取得できるようにする仕組みです。

実際にデータを保持するのは、IPFSノードやピンニングサービスなどです。

NFTの画像はどこに保存されている?

NFTというと、「画像そのものがブロックチェーン上に保存されている」と思うかもしれません。

しかし、NFTによって仕組みは異なります。

NFTからスマートコントラクトとメタデータを経由してIPFS上の画像を参照する仕組みを示した図解

多くのNFTでは、スマートコントラクトからメタデータを参照し、そのメタデータの中から画像や動画などのコンテンツを参照する構造が使われています。

イメージすると、

NFTのスマートコントラクト
↓
メタデータ
↓
画像・動画などのコンテンツ

という関係です。

このメタデータや画像の保存先としてIPFSが使われることがあります。

ただし、すべてのNFTがIPFSを利用しているわけではありません。

通常のHTTPSサーバーを利用するNFTもあれば、データの一部をブロックチェーン上に保存するNFTもあります。

NFTのメタデータについてはNFTのメタデータを解説で説明しています。

IPFSは「場所」ではなく「内容」でデータを探す

IPFSを理解するときに重要なのが、コンテンツアドレッシングという考え方です。

一般的なWebのURLは、基本的にデータが存在する「場所」を指定します。

たとえば、

https://example.com/nft/image.png

であれば、example.comというサーバー上にあるファイルへアクセスします。

一方、IPFSではコンテンツの内容をもとに作られるCIDを使います。

IPFS公式では、CIDはコンテンツを指し示すための識別子であり、そのデータがどの場所に保存されているかを示すものではないと説明されています。

CIDとは

CIDは「Content Identifier」の略です。

たとえば、

bafy...

から始まる長い文字列をNFTのメタデータなどで見たことがあるかもしれません。

CIDはコンテンツの暗号学的ハッシュなどをもとに構成されます。

データの内容が変われば、基本的にはそれを指すCIDも変わります。

つまり、同じURLにあるファイルの内容が知らないうちに差し替えられるような仕組みとは異なり、CIDによって「この内容のデータ」を指定できることがIPFSの特徴です。

CIDについて詳しくはIPFS公式|Content Identifiersで確認できます。

ipfs://とは

NFTのメタデータを確認すると、

ipfs://CID

ipfs://CID/image.png

のような形式が表示されることがあります。

このipfs://は、IPFS上のコンテンツを参照するためのURI形式です。

たとえば、

ipfs://bafy.../image.png

であれば、特定のHTTPサーバーを指定するのではなく、CIDを使ってIPFS上のコンテンツを指定しています。

普通のブラウザではそのまま開けないこともある

一般的なWebブラウザは主にHTTPやHTTPSを利用しています。

そのため、環境によってはipfs://をアドレスバーへ入力しても、そのまま表示できない場合があります。

そこで利用されるのがIPFS Gateway(ゲートウェイ)です。

例えば

ipfs://CID

というデータを

https://<ゲートウェイ>/ipfs/CID

のようなHTTP形式に変換することで、通常のブラウザからアクセスできます。

IPFS公式も、IPFSに直接対応していないクライアントからコンテンツへアクセスする方法としてHTTP Gatewayを案内しています。

IPFSと普通のWebサーバーは何が違う?

違いを簡単に整理すると、次のようになります。

IPFSと通常のWebサーバーでデータを指定する仕組みの違いを比較した図解
項目 通常のWeb IPFS
データの指定 サーバーやURLなどの場所を指定 CIDでコンテンツを指定
代表的な形式 https://~ ipfs://CID
内容が変わった場合 同じURLでも内容を変更できる 内容が変われば基本的にCIDも変わる
データの取得 指定されたWebサーバーなどから取得 そのCIDのデータを提供するノードなどから取得
永続性 サーバー運営状況に依存 データを保持・提供するノードが必要

IPFSの大きな特徴は「どこにあるか」ではなく「どの内容か」を基準にコンテンツを指定できることです。

そのためNFTの画像やメタデータの参照先としても利用されています。

ただし、「分散型だから必ず消えない」という意味ではありません。

NFTのメタデータとIPFSの関係

NFTでは、スマートコントラクトからメタデータを参照する仕組みがよく使われます。

メタデータには、

  • NFTの名前
  • 説明
  • 画像の参照先
  • 属性
  • その他の情報

などが含まれることがあります。

このメタデータ自体をIPFSへ保存することもあれば、メタデータ内の画像だけをIPFSへ保存することもあります。たとえば、メタデータが次のようなイメージです。

name: NFT #001
image: ipfs://bafy...

この場合、メタデータ内のimageからIPFS上の画像を参照しています。

一方で、スマートコントラクト → IPFS上のメタデータ → IPFS上の画像という構造になっているNFTもあります。

NFTによって設計は異なるため、「IPFSを使っているNFTなら画像もメタデータもすべてIPFS」とは限りません。

スマートコントラクトとの関係についてはNFTのスマートコントラクトを解説が参考になります。

IPFSに保存すれば永久に消えない?

IPFSを使っているだけで、データが永久に保存されるわけではありません。

これはIPFSについて特に誤解されやすいポイントです。IPFS上のデータを取得するためには、そのCIDに対応するデータを保持し、提供できるノードが必要です。

IPFSノードでは取得したデータがキャッシュされることもありますが、不要になったデータがガベージコレクションによって削除される場合があります。

IPFS公式も、IPFSはコンテンツを永久に利用可能にすることを保証するものではなく、長期間保持したいデータについてはピンニングなどが必要だと説明しています。

つまり、

IPFSに一度アップロードした
=世界中のノードが永久に保存してくれる

という仕組みではありません。

Pinning(ピンニング)とは

IPFS上のデータを継続して保持するために使われる仕組みのひとつがPinning(ピンニング)です。

ピンニングは、特定のCIDに対応するデータをIPFSノードから削除されないよう保持する仕組みです。

IPFSが永久保存を保証するものではなくピンニングでデータを保持する仕組みを示した図解

自分でIPFSノードを運用してピンする方法もあれば、外部のピンニングサービスを利用する方法もあります。

複数のノードでデータを保持すれば、ひとつのノードが停止しても別のノードから取得できる可能性が高まり、可用性を高められます。

ピンニングサービスを使えば絶対安全?

これも「絶対」ではありません。

ピンニングサービスも運営者が存在するサービスなので、サービス終了や契約終了などによってデータが保持されなくなる可能性があります。

重要なNFTデータを長期的に維持したい場合は、ひとつのサービスだけに依存せず、複数の保存手段やノードを検討することも重要です。

IPFS上のNFTデータを確認する方法

NFTの画像やメタデータがIPFSを利用しているかは、NFTの情報をたどることで確認できる場合があります。

たとえばブロックチェーンエクスプローラーなどから、

  1. NFTのコントラクトを確認する
  2. Token IDを確認する
  3. tokenURIやURIなどの情報を確認する
  4. ipfs://から始まっているか確認する
  5. CIDをIPFS Gatewayなどで開く

という流れです。

NFTのコントラクトとToken IDからメタデータ・CIDを確認してIPFS Gatewayで開く流れを示した図解

ただし、NFTやコントラクトによって確認方法は異なります。

また、ブロックチェーンエクスプローラー上で直接見やすく表示される場合もあれば、コントラクトの読み取り機能から確認する必要がある場合もあります。

エクスプローラーの基本的な使い方はNFTのブロックチェーンエクスプローラーの使い方で解説しています。

IPFSを使っていてもNFT画像が表示されないことはある?

あります。NFTのメタデータにIPFSのCIDが記録されていても、画像が正常に表示されない場合があります。

原因としては

  • データを提供するIPFSノードが見つからない
  • ピンニングが解除されている
  • 利用しているGatewayに問題がある
  • メタデータ内のURIが間違っている
  • マーケットプレイスやウォレット側で読み込みに失敗している

などが考えられます。

特に重要なのは、Gatewayで表示できない=IPFS上のデータ自体が必ず消えた、とは限らないことです。

特定のGatewayが停止していても、別のGatewayやIPFS対応クライアントから取得できる場合があります。IPFS公式も、特定のHTTP Gatewayが停止していても、別のノードがデータを提供していればIPFSネットワークから取得できると説明しています。

NFTがウォレットに表示されない場合についてはNFTがウォレットに表示されない原因が参考になります。

IPFSならNFTの画像を勝手に変更できない?

CIDで参照している特定のコンテンツそのものを同じCIDのまま別の内容へ置き換えることはできません。

内容が変われば、それに対応するCIDも変わるためです。ただし、ここで注意したいのは、NFT全体の設計です。

たとえばスマートコントラクト側から参照するメタデータURIを変更できる仕組みになっていれば、NFTが参照する先そのものが変更される可能性があります。

つまり

IPFS上のCIDが変更不可能
=NFTの表示内容が将来絶対に変わらない

とは限りません。

NFTのスマートコントラクトやメタデータの設計も合わせて確認する必要があります。

NFT購入時にIPFSについて確認したいポイント

NFTを購入するときに、すべての人がIPFSを詳しく調査する必要はありません。

ただし、高額なNFTや長期保有を考えている場合は、画像やメタデータがどのように保存されているか確認しておくと安心です。

確認したいポイントは

  • メタデータの参照先
  • 画像の参照先
  • IPFSを利用しているか
  • CIDでコンテンツを参照しているか
  • データの保持方法
  • 運営終了後もデータを維持できる設計か
  • スマートコントラクト側からURIを変更できるか

などです。

ただしIPFSを使っているNFTだから安全・本物・価値が高いという意味ではありません。

IPFSはデータの扱い方に関する技術であり、NFTプロジェクトそのものの信頼性を保証するものではありません。

NFTの真偽や安全性を確認するときは、公式情報やコントラクトアドレスなども合わせて確認しましょう。

詳しくは偽物NFT・詐欺の見分け方も参考になります。

よくある質問

IPFSはNFT専用?

NFT専用ではありません。IPFSはコンテンツアドレスを利用してデータを識別・探索・転送するための仕組みで、NFT以外のデータにも利用できます。

NFTの画像は全部IPFSにある?

すべてではありません。IPFSを利用するNFTは多くありますが、通常のWebサーバーやその他の保存方法を利用するNFTもあります。

ipfs://はURL?

一般的なHTTPS URLとは異なり、IPFS上のコンテンツをCIDで指定するURI形式です。通常のブラウザから閲覧するときにはIPFS Gatewayを利用することがあります。

IPFSなら画像は永久に消えない?

永久保存が自動的に保証されるわけではありません。データを保持するIPFSノードが必要で、長期間残すためにはピンニングなどの仕組みが重要になります。

CIDがあれば必ず画像を見られる?

必ずではありません。CIDがわかっていても、そのCIDに対応するデータを提供するノードが存在しなければ取得できない可能性があります。

まとめ:IPFSはNFTデータを「内容」で参照する仕組み

IPFSは、NFTの画像やメタデータを扱う際によく利用されている技術です。

通常のWebがサーバーなどの「場所」を指定してデータへアクセスするのに対し、IPFSではCIDを利用して「どの内容のデータか」を指定します。

そのため、NFTのメタデータや画像の参照先としてIPFSが利用されることで、特定のWebサーバーURLだけに依存しない設計が可能になります。

一方で、

IPFSを利用している
=データが永久に保存される

というわけではありません。

データを継続して取得できる状態にするには、そのデータを保持するノードやピンニングなどが必要です。IPFS公式も、ネットワーク上でコンテンツを永続的に利用可能にするためには、データを保持する仕組みが必要だと説明しています。

NFTを見るときは、

  • NFTそのもの
  • スマートコントラクト
  • メタデータ
  • 画像などのコンテンツ
  • IPFSなどの保存・参照方法

を分けて考えると、仕組みを理解しやすくなります。

特に長期保有するNFTでは、「画像が今表示されているか」だけでなく、そのデータがどのように参照され、どのように維持される設計なのかも確認してみるとよいでしょう。

執筆者情報:エヌエフトリウム

エヌエフトリウムは、NFTやブロックチェーンに関する情報を初心者にもわかりやすく発信するメディアです。NFTの購入代行・販売代行・出品代行・ミント代行などのサービス提供に加え、市場動向や技術の基礎知識もブログでわかりやすく解説しています。