ERC-6551とは?Token Bound Account(TBA)でNFTがウォレットを持つ仕組みと事業活用

コラム

約13分で読めます

コラム

約13分

ERC-6551とは?Token Bound Account(TBA)でNFTがウォレットを持つ仕組みと事業活用
目次(タップで折りたたみ)

    ERC-6551は、NFTを「単なる所有証明」から「資産や履歴を持つ主体」に変えるための規格です。従来のNFTは、ウォレットに保有されるトークンでした。ERC-6551では、そのNFT自体にスマートコントラクトアカウントを紐づけ、NFTがトークン、別のNFT、履歴、ゲーム内アイテム、会員権、ポイント、権限などを保有できるようにします。

    事業者目線で見ると、ERC-6551の本質は「NFTに財布を持たせる技術」ではありません。むしろ、会員証、ゲームキャラクター、スポーツファンパス、RWA証明、ロイヤリティカードのようなNFTに、継続的な状態と持ち物を持たせるための設計パターンです。

    この記事では、ERC-6551の仕組み、NFTマーケットプレイスやスポーツ領域での活用、採用判断、実装時の注意点を整理します。

    この記事で分かること

    • ERC-6551 / Token Bound Accountの基本
    • 従来のERC-721 NFTとの違い
    • NFTがアカウントを持つと何が変わるか
    • NFTマーケットプレイス、ゲーム、スポーツ、会員証での活用
    • 導入時の技術設計とセキュリティ上の注意点
    • ERC-6551を採用すべきプロジェクトの判断軸

    ERC-6551 / Token Bound Account(TBA)とは

    ERC-6551は、NFTに紐づくスマートコントラクトアカウントを作るためのEthereum規格です。公式EIPでは、NFTにEthereumアカウントを割り当て、既存のNFTコントラクトやインフラを変更せずに、NFTが資産を所有しアプリケーションと相互作用できるようにする仕組みとして定義されています。

    このNFTに紐づくアカウントは、Token Bound Account(TBA)と呼ばれます。TBAはNFTごとに作られるスマートコントラクトアカウントで、NFTの所有者がそのアカウントを操作できます。

    重要なのは、既存のERC-721 NFTを作り直さなくても利用できる点です。ERC-6551はNFTコントラクト本体を拡張するのではなく、外部のレジストリとアカウント実装によって、NFTにアカウント機能を追加します。

    従来のNFTとの違い

    従来のNFTは、ウォレットがNFTを保有する構造でした。

    ウォレット
      └── NFT
    

    ERC-6551では、NFTにアカウントが紐づき、そのアカウントが別の資産を保有できます。

    ウォレット
      └── NFT
            └── Token Bound Account
                  ├── ERC-20
                  ├── 別のNFT
                  ├── ゲームアイテム
                  ├── 会員履歴
                  └── アプリ内権限
    

    この違いにより、NFTを売買したときに、NFTに紐づいた資産や履歴もまとめて移転できます。たとえば、ゲームキャラクターNFTが装備、実績、称号、ゲーム内通貨を持つ場合、NFTの譲渡によってそれらの状態もまとめて引き継げます。

    仕組み

    ERC-6551は、大きく3つの要素で構成されます。

    要素 役割
    NFT アカウントの所有権を決める元トークン
    Registry NFTに対応するアカウントアドレスを計算・作成する入口
    Token Bound Account NFTに紐づくスマートコントラクトアカウント

    Registryは、NFTコントラクトアドレス、tokenId、chainId、salt、実装コントラクトをもとに、決定論的なアカウントアドレスを作ります。これにより、アカウントがまだデプロイされていなくても、将来作られるアカウントアドレスを事前に計算できます。

    TBAの操作権限は、基本的にNFTの現在の所有者にあります。NFTの所有者が変わると、そのTBAを操作できる人も変わります。

    既存NFTにも後付けできるのか

    ERC-6551の重要な特徴は、既存のERC-721コントラクトを直接改修しなくても、外部Registryを通じてTBAを作れる点です。

    ただし、既存NFTに後付けできることと、プロダクトとして安全に運用できることは別です。実際の導入では、以下を確認する必要があります。

    確認項目 実装上の論点
    NFTコントラクトの所有者判定 ownerOf(tokenId) を前提にTBA操作権を判定できるか
    チェーンID NFTとTBAをどのチェーンで運用するか
    TBA実装コントラクト 権限管理、外部呼び出し、アップグレード方針をどうするか
    既存マーケット対応 TBA内部資産を表示・警告できるか
    インデックス TBAが保有するERC-20 / ERC-721 / ERC-1155をどう集計するか

    開発では、コントラクトだけでなく、フロントエンド、Indexer、管理画面、出品時UXまで含めて設計する必要があります。

    何が便利になるのか

    ERC-6551の価値は、「NFTを入れ物にできる」ことです。

    代表的な変化は以下です。

    従来のNFT ERC-6551対応NFT
    所有証明が中心 資産・履歴・権限を持てる
    NFT単体で売買 NFTに紐づく資産ごと売買できる
    状態管理は外部DBに寄りがち 一部の状態をオンチェーンで構成できる
    会員証やキャラの履歴表現が弱い 実績・装備・保有物を紐づけやすい

    ただし、すべてをオンチェーンに置くべきではありません。NFTに何を持たせるかは、UX、ガス代、プライバシー、運用コストを見て判断する必要があります。

    活用例

    1. ゲームキャラクターNFT

    最も分かりやすい用途はゲームです。キャラクターNFTにTBAを紐づけると、武器、防具、スキン、称号、実績などをキャラクター自身が保有できます。

    これにより、「ウォレットがアイテムを持っている」のではなく、「キャラクターがアイテムを持っている」という表現が可能になります。NFTゲームやオンチェーンゲームでは、キャラクターごとの成長履歴を移転可能な形で扱いやすくなります。

    2. NFT会員証・ロイヤリティパス

    会員証NFTにTBAを持たせると、来店履歴、参加権、特典、ポイント、限定NFTなどを会員証に紐づけられます。

    たとえばスポーツクラブのファンパスであれば、観戦履歴、限定イベント参加権、投票権、グッズ購入特典をファンパスNFTに蓄積できます。将来的にファンパスを譲渡する場合、その履歴や権利の扱いをどうするかも設計論点になります。

    3. NFTマーケットプレイスの高機能化

    NFTマーケットプレイスでは、ERC-6551対応NFTを「バンドル資産」として扱えます。

    たとえば、キャラクターNFTと装備NFTを別々に売るのではなく、キャラクターに装備が紐づいた状態で出品できます。RWAや会員権に近いNFTでも、証明書、更新履歴、利用権、関連トークンをまとめて扱いやすくなります。

    ただし、マーケットプレイス側はTBA内部の資産をどう表示するか、価格評価にどう反映するか、譲渡時に隠れたリスクがないかを確認する必要があります。

    4. スポーツファンエンゲージメント

    スポーツ領域では、ファン会員証NFTやシーズンパスNFTとの相性があります。

    NFT自体に観戦履歴、投票参加、限定体験、デジタルグッズ、称号を蓄積できれば、ファンとの関係性を単発のNFT販売から継続的な参加設計に変えられます。

    一方で、ファン履歴を譲渡可能にするべきかは慎重に考える必要があります。本人性やロイヤリティを重視する場合は、Soulbound Tokenのような譲渡不可NFTの方が適する場面もあります。

    ERC-6551を採用すべきケース

    ERC-6551が向いているのは、NFTが単なる画像や証明書ではなく、複数の資産や履歴を持つ必要があるケースです。

    ケース 採用判断
    NFTに装備・特典・履歴を紐づけたい 向いている
    NFTを会員証やファンパスとして育てたい 向いている
    複数NFTをまとめて売買したい 向いている
    NFTを譲渡不可の資格証明にしたい SBTの方が向いている
    画像NFTを単純に販売したい 過剰設計になりやすい
    オフチェーンDBで十分な履歴管理 必須ではない

    実装時の設計論点

    1. 何をTBAに入れるか

    すべてのデータをTBAに入れる必要はありません。オンチェーンに置くべきものは、第三者検証が必要な資産、移転時に一緒に移るべき権利、外部アプリから参照される状態です。

    個人情報、細かい行動ログ、頻繁に更新されるデータは、オフチェーンDBやVC/DIDとの組み合わせを検討すべきです。

    2. TBA内部資産の表示

    ウォレットやマーケットプレイスがTBA内部の資産を正しく表示できないと、ユーザーは何を保有しているのか分かりません。

    NFTマーケットプレイスを開発する場合は、NFT本体だけでなく、そのTBAが保有するERC-20、ERC-721、ERC-1155をどう読み取るかが重要になります。

    3. 譲渡時のリスク

    NFTを譲渡すると、TBAの操作権も移ります。つまり、NFTに紐づく資産を入れたまま売ると、その資産も実質的に移転します。

    これは便利である一方、ユーザーが意図せず資産を渡してしまうリスクにもなります。出品時にTBA内部の資産を一覧表示し、譲渡対象を明確にするUXが必要です。

    4. セキュリティ

    TBAはスマートコントラクトアカウントです。実装コントラクト、権限管理、署名検証、外部呼び出し、アップグレード方針によってリスクが変わります。

    特に、ゲームや会員証のように長期運用されるNFTでは、コントラクト監査、緊急停止、実装差し替え可否、ユーザー資産の保護方針を事前に決める必要があります。

    5. IndexerとAPI設計

    ERC-6551対応プロダクトでは、「TBAのアドレスを作れる」だけでは不十分です。ユーザー画面や管理画面で、NFTに紐づく資産・履歴・権限を高速に表示する必要があります。

    実務では、以下のようなAPI設計が必要になります。

    API/機能 目的
    NFTからTBAアドレスを解決 商品詳細・会員証詳細でTBAを表示
    TBA内部資産の一覧 ERC-20残高、保有NFT、権限NFTをまとめて表示
    出品前チェック TBA内に移転される資産が残っていないか警告
    譲渡履歴とTBA履歴の統合 NFT本体の所有者履歴とTBA内の状態変化を時系列で表示
    管理者向け監査ログ 不審な外部呼び出しや資産移動を検知

    マーケットプレイスでERC-6551を扱う場合、この表示・検知レイヤーがプロダクト品質を左右します。

    6. 出品時UX

    ERC-6551対応NFTを出品すると、TBA内部の資産も実質的に一緒に移転する可能性があります。ユーザーがそれを理解しないまま売却すると、意図しない資産移転になります。

    そのため、出品画面では少なくとも以下を表示すべきです。

    • TBA内部に残っている資産一覧
    • 譲渡後に購入者が操作可能になる権限
    • 出品前に移動すべき資産の警告
    • 「NFT本体のみ」ではなく「TBA内の状態も含む」ことの確認

    ここはスマートコントラクトよりも、UXとインデックス設計の問題です。

    SBTとの違い

    ERC-6551とSoulbound Tokenは、どちらもNFTの表現力を広げる技術ですが、目的が違います。

    比較軸 ERC-6551 Soulbound Token
    主目的 NFTにアカウントを持たせる NFTを譲渡不可にする
    向く用途 ゲームキャラ、会員証、バンドルNFT 資格、参加証明、本人性、評判
    譲渡 NFT本体の仕様に依存 原則譲渡不可
    状態管理 資産や履歴をTBAに蓄積 所有者に紐づく証明を固定
    注意点 TBA内部資産の可視化と譲渡リスク プライバシーと取り消し設計

    ERC-6551は「NFTを主体にする技術」、SBTは「NFTを本人や資格に固定する技術」と考えると分かりやすいです。

    開発期間とコストの考え方

    ERC-6551対応は、単純なNFT発行より設計範囲が広くなります。

    開発範囲 目安
    既存NFTにTBA表示を追加 小〜中規模
    TBA対応NFT発行 + 簡易UI 中規模
    TBA内部資産の一覧表示・出品対応 中〜大規模
    ゲーム/会員証/ファンパス連携 大規模
    セキュリティ監査込み 要個別見積

    費用を左右するのは、ERC-6551そのものよりも、TBA内部の資産をどう見せるか、譲渡時のUXをどう設計するか、外部サービスとどう連携するかです。

    PoCで最初に検証すべきこと

    ERC-6551は大きな設計自由度がありますが、最初からフル機能で作ると複雑になりすぎます。PoCでは、以下の順番で検証するのが現実的です。

    フェーズ 検証内容
    1. TBA生成 対象NFTからTBAアドレスを計算・作成できるか
    2. 内部資産 TBAにERC-20 / ERC-721を入れ、画面で表示できるか
    3. 操作権限 NFT所有者だけがTBAを操作できるか
    4. 譲渡 NFT譲渡後にTBA操作権が正しく移るか
    5. 出品警告 TBA内部資産が残った状態をUIで検知できるか

    この5点を確認すれば、ERC-6551を本採用すべきか、通常のNFT + オフチェーンDBで十分かを判断しやすくなります。

    日本で導入する場合の論点

    ERC-6551は技術規格であり、それ自体が金融商品や暗号資産に該当するわけではありません。しかし、TBAに何を入れるかによって規制論点が変わります。

    たとえば、NFTにポイント、収益分配、チケット、会員権、決済性のあるトークンを紐づける場合は、資金決済法、景品表示法、特定商取引法、金融商品取引法、個人情報保護法などの確認が必要になる可能性があります。

    特にスポーツ、ファンコミュニティ、会員証、RWAでは、技術設計と法務設計を分けて進めるべきです。

    まとめ

    ERC-6551は、NFTを「持たれるもの」から「持つもの」に変える規格です。NFTがアカウントを持てるようになることで、ゲームキャラクター、会員証、スポーツファンパス、RWA、ロイヤリティプログラムなどの設計自由度が高まります。

    一方で、TBA内部資産の表示、譲渡時の誤解、セキュリティ、規制論点を整理しないまま導入すると、ユーザー体験と運用リスクが複雑になります。

    ERC-6551は、すべてのNFTに必要な機能ではありません。NFTに「持ち物」「履歴」「成長」「権限」を持たせたい場合に、採用を検討すべき技術です。

    XTELAの関連サービス

    XTELAでは、NFTマーケットプレイス、会員証NFT、スポーツファンエンゲージメント、スマートコントラクト設計、監査前レビューなどの支援が可能です。

    ERC-6551を導入する場合は、コントラクト実装だけでなく、TBA内部資産の表示、出品時UX、譲渡時の注意表示、既存NFTとの互換性、Indexer/API設計、監査前チェックまで含めて設計することが重要です。

    相談前に整理しておくとよい情報は、以下です。

    • 既存NFTに後付けするのか、新規NFTとして設計するのか
    • TBAに入れたい資産・履歴・権限の種類
    • NFTを譲渡したときに、TBA内部の状態も移してよいか
    • マーケットプレイスでTBA内部資産を表示する必要があるか
    • オンチェーンで持つべき情報と、オフチェーンDBで十分な情報の切り分け

    XTELAでは、PoC段階では「TBA生成 + 内部資産表示 + 譲渡時警告」までを最小構成にし、本番化段階でIndexer、管理画面、監査前レビューを追加する進め方を推奨しています。

    FAQ

    ERC-6551は既存NFTにも使えますか?

    多くの場合、既存のERC-721 NFTにも外部Registryを通じてTBAを紐づけられます。ただし、マーケットプレイス表示、権限管理、TBA内部資産の警告などは別途実装が必要です。

    Token Bound Accountは普通のウォレットと同じですか?

    同じではありません。TBAはNFTに紐づくスマートコントラクトアカウントです。操作権限はNFTの現在の所有者に連動します。

    ERC-6551を使えばNFTの価値は上がりますか?

    規格を入れるだけで価値が上がるわけではありません。NFTに蓄積する資産、履歴、権限がユーザー体験や事業モデルに意味を持つ場合に価値が出ます。

    NFTマーケットプレイスでERC-6551を扱う場合の注意点は?

    TBA内部資産の表示と、出品時の警告が重要です。ユーザーが意図せずTBA内部の資産まで譲渡しないよう、出品前チェックと確認UIを用意すべきです。

    関連記事:

    参考リンク

    関連: Soulbound Token(SBT)

    お問い合わせ

    どんなフェーズからでも、お持ちのアイデアや企画をもとにご提案可能です。
    まずはお気軽にご相談下さい!