📑

【完全保存版】ERC6551とは何か。トークンバウンドアカウントについて学びましょう。

2023/05/18に公開

0 はじめに

こちらの記事は、下の記事を翻訳・編集したものです。
https://blog.thirdweb.com/erc-6551-token-bound-accounts/

また、翻訳者による、より詳細な記事も是非ご参照ください。
https://note.com/standenglish/n/n67666eaaf1fd

2017年、ERC-721規格がイーサリアム・ブロックチェーンに導入され、デジタル資産をトークン化する新しい方法が確立されました。

CryptoKitties、NBA TopShot、CryptoPunksなどのプロジェクトを後押しし、NFTの主流採用の道が開かれました。


https://www.cryptokitties.co/

NFTは主に静止画像として始まりましたが、近年では、ゲーム要素や音楽要素、さらには拡張現実の機能など、よりダイナミックインタラクティブなものにする方法を開発者が探っています。

NFTの最新のイノベーションとして、ERC-6551規格がメインステージに登場しました。

イーサリアム上の 「トークンバウンドアカウント(token bound accounts)」 が解放され、ブロックチェーンベースのデジタル資産に強力な新機能を提供することになりました。


https://medium.com/future-primitive/tldr-nfts-have-their-own-wallets-try-it-here-http-tokenbound-org-6fac135a1f9d

この規格は、2023年5月7日にイーサリアムメインネットで公開されました。

このブログポストでは、以下のことを扱います。

  • ERC-6551規格について知っておくべきこと
  • 「トークンバウンドアカウント(token bound accounts)」 を実現する方法
  • NFTの新しいユースケースについて

1 ERC-6551とは?

ERC-6551は、ERC-721のNFTにスマートコントラクトウォレットを発行し、トークンバウンドアカウント(略してTBA) に変換することを提案するイーサリアム標準です。

今回のアップデートは、Benny GiangSteve Jangが率いるオンチェーンプロダクトスタジオFuture Primitiveが作成したEIP-6551に基づいています。

トークンバウンドアカウントは、「ERC-721トークンが所有するスマートコントラクトアカウントのインターフェースとレジストリ(データの保管庫)」であり、スマートコントラクトアカウント(またはウォレット)とそれを所有するNFTをリンクします。


https://note.com/standenglish/n/n67666eaaf1fd

ERC-4337を利用したスマートアカウントはカスタマイズ可能で、資産の保管や取引に利用することができます。

また、トークンに紐づけられたアカウントは、アカウントによって実行されたすべてのオンチェーン活動の変更不可能な記録、すなわち 「※パーミッションレス・レジストリ」 を保持します。

これにより、すべてのNFTは、所有権、取引、および実用性の全体的な証明となるウォレットに変換されます。


https://note.com/standenglish/n/n67666eaaf1fd

また、トークンバウンドアカウントはERC-721規格との後方互換性があるため、既存のNFTは基本的な変更を行うことなくERC-6551を実装することができます。

そのため、※「新しいコントラクトの導入」や既存のERC-721 NFTをラップしてトークンバウンドアカウントを有効にするという不要な摩擦を避けることができます。


0xDesignerによるトークンバウンドアカウントの概念イメージ

しかし、なぜトークンバウンドアカウントが必要なのでしょうか?

ERC-721のNFTはそれだけで十分ではないでしょうか?

この点についてさらに掘り下げてみましょう。

2 ERC-6551はなぜ作られたのでしょうか?

ERC-721規格は、NFTの主流採用への道を開き、ブロックチェーンベースのデジタル資産の様々なユースケースを解放しましたが、ERC-721 NFTにはいくつかの制限があります。

① 限られた証明力

現在、NFTの主な用途は、デジタル資産と所有者のアカウントとの関連性を識別することです。

つまり、NFTはオンチェーンまたはオフチェーンに保管された資産の所有権を証明するものとしてしか機能しません。

② コンポーザビリティの欠如

既存のNFTは、ユーザーが追加的なユーティリティを組み込むことができないという意味で、ほとんどが静的なものであり、より多くのイノベーションの余地が残されています。

③ オンチェーンエージェントとして機能しない

ERC-721トークンはIDに限定されるため、他のオンチェーン資産やコントラクトと独立してやりとりすることができません。

④ 静的なJSONメタデータ

ERC-721トークンが記録するJSONメタデータ静的であるため、URIコードの維持、セキュリティ、効率の面で柔軟性に限界があります。

つまり、トークンに追加のデータや価値を埋め込むことができません。

ERC-6551TBA(トークンバウンドアカウント) を導入することで、ERC-721の利点と実装を維持したまま、NFTを静的資産以上のものにすることができます!

3 ERC-6551はどのように機能するのか?

トークンバウンドアカウントはスマートコントラクトのウォレットで、技術的にはERC-721 NFTが所有していますが、トークンバウンドアカウントのコントロールはNFTのオーナーに委譲されます。


https://note.com/standenglish/n/n67666eaaf1fd

オーナーはNFTを代表して、トークンバウンドアカウントを使用してオンチェーンアクションを開始することができます。


スマートERC-4337とERC-6551によって、どのようにTBAが有効化されるか(Benny Giang)

トークンバウンドアカウントは、レジストリで開始され(作られ)、2つの主要な機能を持ちます。

1. createAccount(アカウント作成)
実装アドレスが指定されたERC-721トークンのTBAをデプロイする。

2. アカウント
アカウント:ERC-721 トークンの TBA アドレスを計算する。


https://note.com/standenglish/n/n67666eaaf1fd

さらに、各TBAはバイトコードに不変の定数データを付加したERC-1167最小プロキシとしてデプロイされます。


EIP-6551ドキュメントによる、ユーザーアカウントが「所有」する ERC-721 トークンと「制御」する ERC-6551 TBA の関係の図解

この追加ステップの背景には、ERC-1167最小プロキシコントラクトによって、次の2つのことが可能になることがあります

  1. NFTコントラクトを複数回デプロイするよりも、クローンコントラクトを安価に展開でき、余分なガスを必要としない。

  2. プロキシコントラクトを1回だけ導入すれば、それ以降は新しいデータインスタンスで同じロジックを指すので、運用の手間が省けます。


https://coinsbench.com/minimal-proxy-contracts-eip-1167-9417abf973e3

アカウントインターフェースは、現在可能なTBAの機能を定義しています。これには以下が含まれます。

  • receive()関数を使用したイーサ(ETH)の受信
  • executeCallを使用したコールの実行
  • NFTのオーナーがコールを実行することを制限する。
  • 他の非所有者アカウントへの実行権限の付与を追加する。

また、TBAはイーサリアム標準のERC-165ERC-1271を使用しています。

前者はTBAインターフェースの標準化に役立ち、後者はユーザーがスマートコントラクトに代わってメッセージに署名する機能を促進します。


https://github.com/ethereum/EIPs/issues/1271

さらに、1つのERC-721トークンは複数のTBAを所有することができ、各TBAは特定の目的のために割り当てられます。

4 ERC-6551のユースケースはどのようなものですか?

ERC-6551はイーサリアム上の新しい標準ですが、トークンバウンドアカウントのイノベーションは急速に進んでいます。

ここでは、NFTの可能性を多いに加速するTBAの3つのユースケースを紹介します:

① NFTのコンポーザビリティ

トークンバウンドアカウントはNFTの複合性を高めるもので、ERC-721トークンとその関連資産を**1つの「プロファイル」**にまとめることができるようになっています。

TBAは、NFTの自動ステーキングからPOAP報酬の収集まで、ロジックを内蔵したさまざまな種類の資産を保持するインベントリシステムとなり得ます。

さらに、トークン、アセット、NFTを1つのTBAにまとめることで、ユーザーは簡単にアセットを移し、プラットフォーム間を切り替えることができるようになります。

これにより、現在不足している資産移管時の直感的なユーザーエクスペリエンスを実現します。

② 完全なオンチェーンアイデンティティ


Benny Giangによる、NFTの進化について

トークンバウンドアカウントは、NFTがウォレットとその関連資産のすべてを所有するという斬新な可能性を解き放ちます。

つまり、NFTとして完全なオンチェーンアイデンティティと評判を作ることができるのです。

また、これらのNFTは、ウォレットを保有するのではなく、dAppsそのものと相互作用します。

行動経済学に基づくエアドロップ、ロイヤルティプログラム、ゲーム内報酬などは、TBAを利用できるシステムの一例です。

将来的には、より信頼性が高く効率的な融資プロトコルにつながる信用格付けも可能になる可能性があります。

③ ゲームキャラクター

ゲームのユースケースは、トークン・バウンド・アカウントが可能にするNFTの複合化から派生したものですが、これは独立したセクションに分割する価値があります。

トークンバウンドアカウントが登場する前は、プレイヤーは自分のキャラクターERC-721 NFTとして所有できましたが、ゲーム内で収集した関連資産もすべて別のトークンとして所有者のウォレットに保管されていました。


https://note.com/standenglish/n/n67666eaaf1fd

トークンバウンドアカウントでは、ゲーム開発者はプレイヤーの 「インベントリ」 を作成し、ゲームに関連するすべての資産を自動的にキャラクターのウォレットに転送することができます。

5 ERC-6551の活用事例

Stapleverseは、ERC-6551を利用した本格的なプロジェクトを立ち上げた最初の事例です。

トークンバウンドアカウントを持つ最初のプロジェクトの1つであるSapienzを立ち上げてデジタルストリートカルチャーの未来を切り開きました。

Sapienzでは、ユーザーは化粧品でカスタマイズできるキャラクターを受け取り、他のNFTの保有状況に応じてアンロックされます。

これらの化粧品は、サピエンズのトークンに結合されトークンバウンドアカウントという形で独自の「在庫」を持っています。


Sapienzによる、ERC6551とトークンバウンドアカウントの実装について

6 ERC-6551を使い始める方法

Ethereum上の他のNFT規格やスマートウォレットと同様に、ERC-6551スマートコントラクトを使用することでトークンバウンドアカウントを開始することができ、それをアプリやプロジェクトに統合することができます!

トークンバウンドアカウントを作成するには、通常、ERC-6551標準をサポートするスマートコントラクトの作成、テスト、デプロイ、およびファクトリーコントラクトが必要です。

thirdwebでは、あらゆるユースケースに対応するオープンソース、事前構築、監査済みのスマートコントラクトのライブラリを提供しており、数分でデプロイ可能で、あらゆるEVMチェーンに対応します。

トークンバウンドアカウントをアプリに統合するには、当社のスマートウォレットコントラクトを使用することができます:

https://thirdweb.com/explore/smart-wallet?ref=blog.thirdweb.com

また、ERC-6551の公式ドキュメントを読むことで、この規格の技術的な詳細についてさらに深く知ることができます。

7 ERC-6551とトークンバウンドアカウントの未来

トークン・バウンド・アカウントは、NFTのイノベーションを加速させ、新しいユースケースを解き放ち、NFTを真にコンポーザブルでダイナミックなインタラクティブ・アセットに変えます。

ウォレットプロバイダーやdAppsがユーザーのためにNFTをミントし、NFTのTBAを作成することで、ユーザーはウォレットの作成やシードフレーズの管理をすることなくブロックチェーンに参加することができるようになるのです。

このブログ記事で、トークンバウンドアカウントとは何か、ERC-6551がNFTにとって大きなアップグレードである理由、そして今日TBAを使用して構築できるものについて、理解を深めていただけたと思います。

トークン・バウンド・アカウントを始める方法について、より詳しい情報を知りたい方は、Discordコミュニティの35,000人以上のビルダーと一緒に、またはチームに直接お問い合わせください。

また、トークンバウンドアカウントを使ったWeb3アプリの構築を始めたい方は、thirdwebのWeb3ツール&SDKをご利用ください(無料です)!

Discussion