XRP Ledger では、本番運用に耐える動的 NFT のパターンが今日すでに 2 つ存在します。それぞれが異なる課題を解決し、異なる信頼モデルの上で動きます。どちらが何に適しているかを正しく理解することが、設計のすべてです。
「動的 NFT」というマーケティング用語の背後には、実は本質的に異なる 2 つの仕組みがあります。両方とも XRPL 上で稼働しており、両方とも発行後にメタデータが変化します。違いは、誰を信頼するか、そして更新にいくらコストがかかるかにあります。
NFT は tfMutable フラグを立てて発行されます。オンチェーンに記録される URI は固定ですが、その URI が指し示す JSON はリクエストごとに発行者のサーバーで動的に再生成されます。
発行者が NFTokenModify トランザクションに署名することで、NFT の URI そのものをオンチェーンで書き換えます。新しい URI は合意形成によって証明されます — 発行者の言葉ではなく、台帳の状態として。
| 観点 | パターン 1: 可変 URI | パターン 2: NFTokenModify |
|---|---|---|
| 更新ごとのコスト | ほぼゼロ(HTTP リクエスト 1 回) | XRPL トランザクション手数料 1 回 |
| 更新の遅延 | 即時 | 1 ledger close(約 3〜5 秒) |
| 発行者ダウン時の継続性 | ×(サーバーが消えればメタデータも消える) | ○(URI は台帳の状態として永続) |
| 更新履歴 | サーバーが記録した範囲 | オンチェーンに永久保存、誰でも参照可能 |
| 発行者なしで保有者が状態を検証可能か | × | ○ |
| 発行者が過去の状態を取り消せるか | ○(メタデータを差し替え可能) | ×(履歴は永続) |
| 適例: ライブゲーム統計、プロフィールカード、フィード反応 | ○ | 過剰 |
| 適例: 来歴証明、規制下の記録保存、認証バッジ | リスクあり(監査証跡なし) | ○ |
すべてメインネットで稼働中。ウォレットを接続すると、NFT スタジオ内の「Dynamic」サブタブから、保有中の可変フラグ付き NFT 一覧、変更履歴、発行者として書き換える操作にアクセスできます。
一度発行すれば、ウォレットの現在状態を常に反映し続けます。XRP 残高が閾値を越えるたびに保有ティアが進化します。
アカウントの Harvest-Now-Decrypt-Later 耐性スコアが変化するたびに更新されます。マルチシグ化+マスター鍵無効化の達成で獲得。
ツイートを Living NFT として記録。エンゲージメントティア(ブロンズ → シルバー → ゴールド → レジェンダリー)はいいねの蓄積に応じて変化します。
蔵元が署名する高級酒銘柄の来歴 NFT。熟成・貯蔵の各イベントが新しいオンチェーン記録として追加されます。
/api/nft/card/:address、/api/nft/quantum/:address、/api/nft/tweet/:tweetId の各エンドポイントは、レスポンスごとに SHA-256 のコンテンツハッシュを ETag として付与します。画像 URL には ?v={hash} が自動的に付加されるため、メタデータが変化した瞬間にウォレットや NFT マーケットプレイスがキャッシュを破棄します。Cache-Control は public, max-age=60, must-revalidate — クライアントは約 1 分以内に更新を取得しますが、頻繁にアクセスするウォレットによる連続再生成は発生しません。If-None-Match ヘッダにマッチした場合は 304 Not Modified で短絡応答します。
共有モジュール dNftMutateService は、NFTokenModify トランザクションを純粋関数として構築します。発行者の r-アドレスと 64 文字 16 進の NFTokenID を検証し、UTF-8 URI 文字列を往復変換します(日本語 URI も対応)。トランザクション JSON のみを返し、署名はウォレットアダプタ(Crossmark、GemWallet、WalletConnect、Xaman)が担います。Kairo Vault は秘密鍵を一切扱いません。
保有中の可変フラグ付き NFT を「自分が発行したもの」と「他者から保有しているもの」にグループ化して一覧表示します。各 NFT カードに taxon、フラグ、現在の URI を表示し、メタデータをインライン展開します。「再取得」ボタンはパターン 1 のメタデータ再フェッチ。「オンチェーン書き換え」ボタンは自分が発行した NFT に対するパターン 2 の操作画面を開きます。
XRPL で動的 NFT を実現するために、rippled のフォーク、サイドチェーン、オラクルネットワーク、オフチェーンインデクサーは必要ありません。ここで説明した 2 つのパターンは、いずれも標準のメインネット上で今日すでに動いています。これ以外のインフラを追加する正当な理由は、特定のユースケースが両パターンのどちらでも提供できないものを必要とする場合に限られます — そして実際には、ほとんどのケースは両パターンで足ります。