1. Quick Understanding of ERC-6551
First of all, ERC-6551 is not a token standard, and it is not in the same category as ERC-721. Rather, it is more like ERC-4337 – yes, you heard that right, it’s more like an AA standard, but an application layer standard. If we had to say what it’s most like, it would be the ERC-7093 social recovery standard – both are concerned with how AAs should be used. So you could say “UniBlockings v2 is a 4337/6551/7093 compatible AA account,” but there is no such thing as “an NFT compatible with ERC-6551.”
Now you might be confused: doesn’t each NFT have to be associated with an account? How did it become an AA standard? The power of storytelling – the same thing can be perceived very differently depending on the perspective from which it is described.
- The Battle for Hong Kong Dollar Stablecoin: Government Issued vs. Private Issued
- A giant whale buys AAVE and borrows 12 million US dollars in stablecoins, seemingly bullish on ETH and AAVE.
- Celsius transferred approximately $74 million worth of altcoins such as SNX, UNI, and ZRX to Wintermute-related wallets.
From the perspective of an NFT holder: There is an NFT associated with my address A, which has an associated address X. I can control X with A to transfer it. When I transfer the NFT to address B, A loses the ability to control X, and B gains that ability, so account X is bound to this NFT.
From the perspective of an AA account developer: Implement an NFT-associated authentication method in the AA account that, if the key initiating the transfer request is an Ethereum address and that address owns a pre-registered NFT, the authentication is passed and the account is unlocked.
Of course, you can also achieve “innate binding” by encoding the NFT’s unique ID into the generated address. If you happen to be someone who can write contracts, you can easily implement a similar function AA account using the Safe Module.
Actually, if you read the Abstract, you should be able to easily find this conclusion:
This proposal defines a system which gives every ERC-721 token a smart contract account. These token bound accounts allow ERC-721 tokens to own assets and interact with applications, without requiring changes to existing ERC-721 smart contracts or infrastructure.
2. Explanation of ERC-6551 by Analogy
I believe you now understand that ERC-6551 describes an AA account rather than an NFT, so next we will use the best props in AA popularization – smart locks – to explain by analogy.
First, let’s compare private keys to fingerprints. They correspond to the “identity” concept in both the crypto and physical worlds. If obtained by a third party, it is impossible to distinguish whether the operation is performed by “oneself” or “someone else,” so we usually do not share them with others.
Then let’s start with the simplest AA account: an AA account controlled by a single key (EOA), such as a single-signature Safe account. Its unlock logic is to verify the signature of the key, and if it matches, the account can be unlocked. If we compare this to a smart lock, it’s like unlocking it with a fingerprint. This kind of logic strongly bound to identity is not suitable for some scenarios, such as bathhouse lockers. At this point, you need a “key card” that is not tied to a person’s identity, which is “card recognition, not person recognition.”
Finally, we map “a person using a key card to open a locker and take out 100 US dollars” to “an address using an NFT to unlock an associated address and transfer 100 USDT” – congratulations, you now understand the basic principle of ERC-6551!
ERC-6551 takes each ERC-721’s NFT as a key card and assigns it a locker.
Do you feel like it ended suddenly? That’s because in analogy, it’s not that complicated. In the actual Spec, there are some settings similar to Entry Point in ERC-4337, as well as methods for dealing with “circular references” (which is like putting the key card in the locker). These are not related to understanding the basic principles, so we won’t go into them.
Although this standard has a relatively simple idea and just narrates from a different perspective, sometimes changing the perspective can make the design of some scenarios more natural, such as the logic of NFT game equipment wearing can be changed to “binding the equipment NFT to the character NFT’s binding address” (thanks to Stidi for providing examples). Therefore, ERC-6551 can be said to be a protocol that has greatly helped popularize AA, and it is hoped that similar protocols or use cases will become more and more popular, allowing everyone to feel the charm of AA.
Finally, if you are a little unfamiliar with AA/EOA concepts, here is a glossary I wrote before that you can refer to.