ERC-6551: A Game Changer for NFT Games

William M. Peaster
2023-05-17 11:56:06
Collection
ERC-6551 is a historic milestone in the NFT space, opening up a world full of new possibilities by turning NFTs into their own smart contract accounts.

Original Title: ERC-6551: The NFT Game-Changer

Author: William M. Peaster

Compiled by: GWEI Research

ERC-721 is the token standard that popularizes NFTs on Ethereum as unique, verifiable digital assets.

But what if we could turn simple NFTs into fully-fledged Ethereum accounts?

Now it’s possible! This is thanks to the new token standard ERC-6551, which pushes Ethereum NFTs into a new realm of practicality and functionality.

Your favorite collectibles can now directly own assets, interact with web3 applications, and better serve as your on-chain identity. We are entering an exciting era, so let’s quickly get you up to speed on the basics of ERC-6551 in today’s post!

ERC-6551 Beginner's Guide

Basics of ERC-6551

Relevance

ERC-6551 is a new token standard that was launched on the Ethereum mainnet on May 7, 2023. It significantly enhances the functionality of ERC-721 NFTs, allowing them to operate as their own smart contract accounts, making them more versatile and practical than ever before.

Why?

The motivation behind ERC-6551 comes from the increasing use of NFTs as a form of on-chain identity. So far, ERC-721 tokens could not act as agents or own other on-chain assets, which is out of sync with the use cases of non-fungible assets in the real world.

Thus, ERC-6551 addresses this issue by granting each ERC-721 token the full functionality of an Ethereum account while maintaining compatibility with existing ERC-721 contracts. This is accomplished by deploying a unique smart contract account (referred to as a "Token Bound Account") for each ERC-721 token through permissionless registration.

Note that a single NFT can also own multiple Token Bound Accounts via ERC-6551. In this sense, one NFT can now contain multiple wallets and more.

How is it done?

The system introduced in ERC-6551 primarily consists of 1) a permissionless registry for deploying Token Bound Accounts, and 2) a standard interface for interacting with these accounts.

via EIP-6551

What can it do?

Thanks to the ERC-6551 standard, you can now do anything with an ERC-721 NFT that you could do with a regular Ethereum wallet. Of course, the basics involve using your NFT to store other NFTs, trade ERC20s, etc. But that just scratches the surface!

For example, suppose you’ve been accumulating NFT wearables in a new web3 game. You can now store them in the NFT of your choice instead of keeping them in your regular Ethereum wallet, such as a player avatar from the same game. This is not only more interesting and familiar on a psychological level, but if you’re ready to move on from the game, you could consider selling the player avatar + accumulated wearables as a cohesive unit on the NFT marketplace via ERC-6551.

via Benny Giang

This is just a hypothetical example, but there are indeed many possibilities. Another example is that PFP projects can now incentivize and value the expanded utility of their collectibles by airdropping rewards to any holder using Token Bound Accounts in their collections.

Additionally, the fact that ERC-6551 allows NFTs to have multiple Token Bound Accounts and supports multi-chain Token Bound Accounts provides an extra layer of utility that is sure to spark a new wave of experimentation and innovation across the NFT space.

Cautions

Not all NFT projects are supported. Specifically, projects whose smart contracts do not rely on the ownerOf method are incompatible with the ERC-6551 standard, such as CryptoPunks.

In addition to the lack of comprehensive ERC-721 support, ERC-6551 also presents two major security concerns that require vigilance within the NFT ecosystem:

  1. Avoiding Fraud: Decentralized markets need to be wary of potential fraud. For example, a user sells an NFT that supposedly holds a certain amount of ETH, but after the sale, they withdraw the ETH, leaving the buyer's account empty. Some suggested methods to prevent such scams include tracking the random number of Token Bound Accounts and ensuring asset commitments remain unchanged during transactions. However, preventing fraud is not directly addressed in ERC-6551 and needs to be implemented at the market level or through external smart contracts.

  2. Preventing Ownership Loops: ERC-6551 could lead to NFTs being transferred to their own Token Bound Accounts, rendering all assets in that account permanently inaccessible. This creates an "ownership loop," which is difficult to prevent on-chain due to the need for infinite search space. While enforcing prevention of these loops is beyond the scope of ERC-6551, it is recommended that applications take interface measures to limit such transfers.

People's Perspectives

Benny Giang, co-author of ERC-6551 and co-founder of Future Primitive: "The idea is simple… What if NFTs had their own wallets? Inspired by soulbound tokens (SBT), our idea is the opposite; we call it Token Bound Accounts (TBA). Instead of binding NFTs to wallets, we bind wallets to NFTs."

Gami, member of Nouns DAO and founder of Gnars DAO and Tings DAO: "Since joining [Nouns DAO], ERC6551 (Token Bound Accounts) has been my view of Nouns. I hope to see us support it in some way… making the concept of 'entrepreneur' entirely possible. Nouns can be sold along with what they acquire and build on their journey."

0xBeans.eth, Solidity engineer: "ERC-6551 might be one of the more interesting application-level Ethereum Improvement Proposals… Many interesting properties have emerged, such as tradable accounts… ENS is a step towards on-chain identity, and I think NFTs having full Ethereum accounts is the next step. This EIP is closely related to EIP4337 (account abstraction). The reference implementation essentially creates ETH accounts and binds them to a token."

How to Use ERC-6551

Tokenbound is an open-source toolkit centered around the ERC-6551 standard, one of its services being an account browser interface that you can use to deploy ERC-6551 accounts and interact with others.

If you are interested in deploying a Token Bound Account to your chosen NFT, you can follow these steps:

  1. Go to https://tokenbound.org and connect your chosen wallet.
  2. Click the "My NFTs" button.
  3. Select the NFT you want, then click the "Deploy Account" button.
  4. Confirm the deployment transaction with your wallet and wait for the transaction to complete.
  5. That’s it! You will now see the "Use Wallet" option in the dashboard of the selected NFT; at the time of writing, I received a message saying "Coming soon…" so hopefully full functionality will be launched in the near term.

In fact, keep in mind that ERC-6551 has just arrived on the mainnet, so tools surrounding it are just beginning to be developed. I look forward to seeing various advancements in "user experience" and "user interface" here. In the meantime, I recommend taking some time to check out the FAQ at the bottom of tokenbound.org before diving deeper.

The arrival of ERC-6551 is a historic milestone in the NFT space, opening up a world of new possibilities by turning NFTs into their own smart contract accounts. This brings more versatility to NFTs while also tying them more closely to real-world use cases, making them more practical and relevant for users. Narrowing the scope, watch for an increase in the adoption and experimentation of ERC-6551 in the coming months!

Moreover, now whenever skeptics say NFTs can be "right-click saved," we now have Token Bound Accounts in NFTs, making such claims even more baseless. You can copy and save the images, of course, but you cannot copy and save the contents within.

ChainCatcher reminds readers to view blockchain rationally, enhance risk awareness, and be cautious of various virtual token issuances and speculations. All content on this site is solely market information or related party opinions, and does not constitute any form of investment advice. If you find sensitive information in the content, please click "Report", and we will handle it promptly.
banner
ChainCatcher Building the Web3 world with innovators