DynamicNFTってなに?

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました
生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!!
https://tech-lab.connpass.com/event/315703/

サイオステクノロジーの佐々木です。

今までSIOS TECH.LABではオーソドックスなNFT仕組みやの作り方、規格の紹介からフルオンチェーンのNFTの作り方を紹介してきました。

今回はDynamicNFTというNFTの作り方を説明します。

DynamicNFTとは

DynamicNFTとはブロックチェーン内外のデータを使用してメタデータを変化させることでNFTの画像を変更することができます。

しかしNFTのmetadataを保存しているIPFSは基本的に改変ができないためmetadataを変更することができません。ではどうするか。

DynamicNFTの規格について

現在(2023/08/14)DynamicNFTについて厳密に規格は決まっていません。

いくつかDynamicNFTを実装する指針は出ていますので紹介します。

①mintするタイミングで複数パターンのmetadataと対応する画像をuploadしスマートコントラクトでtokenURIを取得する際にどのmetadataを見に行くかを確定させる

②フルオンチェーンのNFTを利用してSVGモジュールを作成する際に動的な値を渡すことでmetadataの情報を変化させる

③tokenURIを取得する際に返されるURIをAPIのエンドポイントにすることで、API側でどのようなmetadataを返すかというロジックをすべて持つことができる

それぞれの方法の特徴

①の方法は最もオーソドックスな実装方法になっているため様々な事例や実装例が紹介されています。一方でこの方法だとmintする際にmetadataをuploadする必要があるため新しいパターンのNFTを追加しようと思った際に変更することが難しいです。

②の方法は以前紹介したフルオンチェーンのNFTを使用する方法です。この方法はSVGを作成するスマートコントラクトの関数に外部データを渡すことでSVGの画像を動的にさせることができます。この方法は非中央集権的に画像を変化させることができるので理想的な方法ではありますが、ブロックチェーンの最大容量をクリアする必要があるのと、プログラマブルな画像である必要があるという制約があります。

③の方法は少し邪道かもしれませんが、metadataをIPFSに保存したりSVGをエンコードしてmetadataとして扱うのではなく、metadataのURIをAPIのエンドポイントとします。
ここで設定しているAPIはmetadataを都度生成するAPIになっており、様々なデータを考慮して最適なmetadataを生成するようにします。
このようにすることでmetadataの内容を制約なく動的に作成することができます。

ただしこの方法はAPIが中央集権的な管理になってしまうため、APIサーバーがダウンしたりそもそもmetadataを返すAPIがサーバーの管理者によって削除されてしまったら、NFTの持ち主やマーケットプレイスは画像や動画データにアクセスする手段を失ってしまうこととなり、web3.0の思想に反する設計になるとも言えます。

①~③のNFTを私も作成したのですが、現在OpenSeaではどのパターンでも画像を表示できることを確認しました。

各実装方針のイメージ

※省略している点はいくつかあり、これはあくまでも簡易的なイメージになります。

またスマートコントラクトがweb2.0の世界にあるデータを取得するためにはOracleを使用する必要があります。

Oracleを提供している最も有名なサービスの一つに、Chainlinkというものがあります。

本記事では詳細な使用方法は説明しません(別記事でやります)が興味のある方はリンクを張っておくので確認してみてください。

DynamicNFTは何に使われているのか

以下にいくつかのUseCaseを示します。

  • ゲームの世界で自分の所有しているキャラクターのステータスが一定以上になったら、キャラクターが変化する
  • 不動産など実世界の資産に対して築年数、市場価値、メンテナンス履歴を記録したものをトークン化する
  • Daoコミュニティの貢献度によって、会員証(NFT)のグレードが進化する

終わりに

今回はDynamicNFTとはというところから、実装方針、UseCaseまで紹介しました。

まだ統一された実装規格も決まっておらずまたNFTなのに動的に変化するという違和感もありますが、一方でNFTでは表現することができなかったユーザー体験を所有権という概念を持たせながら実現することができるものなので、今後の動向を追っていきたいと思います。

参考資料

NFTの仕組み

NFTの実装方法

フルオンチェーンNFTの実装方法

アイキャッチ画像 著作者:Freepik

アバター画像
About 佐々木寛太 20 Articles
普段はAPI開発をメインに最近はブロックチェーン周りに手を出し始めました。インフラが苦手なので今年はインフラ回りも攻めていこうかと思っています。休日は愛車とドライブしています。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる