コンテンツへスキップ
0%

動的NFT(dNFT)とは?

Alchemy team headshot

執筆者 Alchemy

2022年8月11日 公開読了時間 1 分

非代替性トークン(NFT)は、デジタルアート、ゲーム、スポーツカード、音楽などの分野で数十億ドル規模の売上を生み出してきた。ほとんどの人がNFTと聞いて思い浮かべるのは、静止画、動画、マルチメディア資産だろう。

しかし、dynamic NFT(dNFT)の存在感が高まっている。本記事では、dynamic NFTとは何か、実際のユースケースと potential なユースケース、そしてdNFTを構築したい開発者がオラクルを使ってトラストミニマイズされたオフチェーンデータや計算にアクセスする方法について説明する。

dynamic NFTとは何か

dynamic NFTとは、特定の状況に応じて変化しうる非代替性トークンのことである。 外部のイベントやデータに応じて適応・変化できるため、dNFTはNFTが扱える設計空間を拡張している。

現時点でのNFTの最も一般的な用途はデジタルアートであり、アーティストがデジタル作品を表すトークン、たとえば1-of-1 NFTを作成し、コレクターがこのトークンを購入することで所有権を証明する。新しいNFTが作られても、tokenIDは変わらない。

NFTには説明文、画像、その他の属性といった情報を必ずしも付与する必要がないことに注意してほしい。NFTとは、最も基本的な形では、tokenIDと呼ばれる一意の識別子を持つ移転可能なトークンにすぎない。

この静的なNFTモデルは、世界中のデジタルアーティストにいくつかの点で役立っている。以前は、2つのファイルの違いを区別する手段がなかったため、デジタルアーティストは自分のオリジナル作品が違法に拡散されるのを止めることも、追跡することもできなかった。つまり、単一のオリジナルファイルを保持することができなかったのだ。

インターネットの歴史上初めて、クリエイターは所有権を証明できれば、ファンにデジタルアートを販売できるようになった。ファンもまた、その下にある画像がコピーされたものであっても、オリジナル作品の所有権を証明できる。

静的NFTは現在、ほとんどのジェネレーティブNFTアートプロジェクト、play-to-earnゲーム、デジタルコレクティブルで使われている。これらのユースケースに加えて、不動産権利書、特許、その他の一意な識別子といった現実世界の資産のデジタル化においても独自の価値を提供する。

しかし、このアプローチには限界がある。静的NFTは一度ブロックチェーンに載せると変更できず、メタデータも変更できないからだ。データの更新が必要なNFTが求められる例としては、以下が挙げられる。

  • 現実世界の資産のトークン化
  • 進行するビデオゲームの制作
  • ブロックチェーン上でのファンタジースポーツリーグの構築
  • その他多数

dynamic NFTは、NFTが一意のIDを保持したまま、更新された情報も取得できるようにするものだ。

dynamic NFTとは、外部の何かに応じて変化しうるNFTのことである。dNFTにおける変化とは、通常、スマートコントラクトがメタデータを変更したことを意味する。これは、NFTのスマートコントラクトが、NFTの情報がいつ、どのように変化すべきかを伝える自動更新機能を持っているために可能となる。

dynamic NFT(dNFT)はどのように機能するのか

これを可能にする技術がスマートコントラクトであり、オフチェーンとオンチェーン両方の計算を利用できるようにすることで、dynamic NFTの発展を可能にしている。ユーザーがNFTの情報を要求すると、スマートコントラクトはオフチェーンとオンチェーンの両方のデータを参照し、ユーザーに何を返すかを決定する。

  1. まず、NFTのリクエストがスマートコントラクトに送られる
  2. スマートコントラクトはブロックチェーン上の情報を参照する
  3. コントラクトはオラクルにブロックチェーン上にない情報を要求する
  4. スマートコントラクトは、1つまたは2つのメディアを返す

つまり、スマートコントラクトによってNFTを時間の経過とともに変化させることが可能になる。スマートコントラクトはオフチェーンとオンチェーンの両方のデータを使って、非代替性トークンを変化させるべきかどうかを判断し、変化させるべきであればdynamic NFTのメタデータを更新する。

dynamic NFTにおいてオラクルはどのように使われるのか

メタデータの更新以外にも、dynamic的な機能が発生することがある。たとえば、拡張現実アプリ内の隠された場所が発見されたときなど、特定の出来事が起きたときにdynamic NFTが生成されるケースがある。

情報の提供に加えて、dNFTにはユーザーが操作することで明らかになる「隠された機能」を持たせることもできる。NFTのように完全に一意で、さまざまな設定が可能なトークンは、無数の方法でプログラムできる。

とはいえ、ほとんどのdNFTは、技術に詳しくないユーザーでも変化を「見て」わかるように、何らかのメタデータの変更を含む必要がある。dNFTの設計においてしばしば見過ごされがちなのが、安全で公正、かつ自動化されたdNFTプロセスを実現するために必要なデータや機能をどう取得するかという点だ。

オンチェーン・オフチェーンを問わず、外部の変数によってdNFTのメタデータは複数の方法で変化しうる。しかし、ブロックチェーンはチェーン外のデータにアクセスしたり、それを処理したりすることができない。

オラクルは、dNFTのアップグレードのトリガーとなりうる多様なオフチェーンデータや計算サービスを提供することで、この問題を回避する。オラクルは2つの世界を橋渡しする役割を果たす。これにより、dNFTエコシステムが拡大し、NFTが現実世界とより結びついていく中で、自動化され、分散化された、時には「楽しい」dNFTプロセスを実現することが可能になる。

dynamic NFTの作り方(チュートリアル)

自分でdynamic NFTを作り始める前に、対象とするアイテム、その変数、そして使用するチェーンを決めておく必要がある。

たとえば、ETHの価格に応じて画像が変化するEthereumのNFTを作りたいとしよう。ETHの価格が上昇しているときはNFT画像が bull(強気相場を示す牛)になり、下落しているときは bear(弱気相場を示す熊)になる、といった具合だ。

計画が決まったら、次は開発環境を整える番だ。

dNFT作成に必要なツール

始めるにあたって、以下のツールを用意しておく必要がある。

環境が整ったら、Alchemyを使ってdNFTを構築するための基本的な手順は以下の通りだ。

dynamic NFTを作成する手順

以下は、市場価格に応じてデザインを変化させるAlchemyのdynamic NFTチュートリアルの概要である。

  1. ERC721トークンをセットアップする
  2. NFT画像のリンクをIPFS URIとしてアップロードする
  3. コンパイルチェックを完了させる
  4. NFTコントラクトを「Keepers Compatible」にする
  5. スマートコントラクトをChainlinkのPrice feedsと連携させ、定義した変数(この場合は市場価格)に応じてNFTを変化させる
  6. dNFTが期待通りに動的に更新されるかテストする
  7. dNFTをミントしてデプロイする

これはdNFTの作り方の簡略版である。完全版については、ステップバイステップのガイドを参照してほしい。

有名なdynamic NFTの例

LaMelo Ballはプロバスケットボール選手で、これまでに8種類のLaMelo Ball NFTをリリースしている。彼のdNFTはそれぞれ、リバウンド、アシスト、得点といった異なる統計項目を追跡しており、彼の試合成績に応じて変化する。

たとえば、ある試合で10アシストを記録した場合、NFTの背景色が変化することがある。LaMeloの活躍度合いに応じて、dynamic NFTの保有者は特別な抽選への参加権や、その他NFT保有者限定の特典を得ることができる。

これら8つのNFTのうちの一つ、Gold Change NFTには条件が設定されていた。LaMelo Ballが2021年NBAシーズンのRookie of the Yearを受賞すれば、NFTが変化するというものだ。LaMeloの受賞後、このNFTは全く別の画像へと変化した。

もう一つの例は**Regenerative Resources(RRC)**である。これは、損傷を受けた土地を収益を生み出せる海洋環境へと変える事業を行うエコシステムサービス企業だ。

RRCは、著名なアーティストによる5つのShort Film NFTのリリースを発表した。売上金は、RRCの既存プロジェクトを通じて1億本のマングローブを植樹・育成するために使われる。各Short Film NFTは、最初は1フレームの状態から始まる。NFTが売買されるたびに、保有者が全体を見られるようになるまで、ショートフィルムがフレームごとに順次表示されていく。

Background gradient

ブロックチェーンで魔法を生み出す

Alchemyは、最も強力なweb3開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。