UniPass Co-creation County: An Analog Interpretation of ERC-6551
Author: zhixian.eth
Yesterday, I was asked several times about the relationship between ERC-6551 and AA, and I realized that there are various misunderstandings about it. I’ve recorded some analogies used in today’s discussion, hoping to help everyone’s understanding. As usual, this short essay is not a serious technical article, and I will use imprecise analogies for better comprehension.
Quick Overview of ERC-6551
First of all, ERC-6551 is not a Token standard; it is not in the same category as ERC-721, but is more like ERC-4337 ------ yes, you heard it right, it is more like an AA standard, just an application layer standard. If there is something it resembles the most, it should be the social recovery standard of ERC-7093 (private warning ?), which also considers how AA should be used. So you can say "UniPass v2 is a 4337 / 6551 / 7093 compatible AA account," but there is no such thing as "ERC-6551 compatible NFT."
At this point, you might be confused❓: Didn’t we say that each NFT is bound to an account? How did it turn into an AA standard? This is the power of narrative ------ the same thing, described from different angles, can lead to vastly different understandings.
From the perspective of an NFT Holder:
I have an NFT in my address A, which has an associated address X, and I can use A to control X for transfers; when I transfer the NFT to address B, A loses the ability to control X, while B gains this ability, so account X is bound to this NFT.
From the perspective of an AA account developer:
Implement a NFT-associated authentication method in the AA account. If the key initiating the transfer request is an Ethereum address that owns a pre-registered NFT, then authentication passes, and the account can be unlocked. Of course, it can also be achieved by encoding the unique ID of the NFT into the generated address for a "pre-bound" effect. If you happen to be someone who can write contracts, you can quickly implement a similar function for an AA account through Safe Module.
In fact, if you have read its Abstract, you should 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.
Explaining ERC-6551 with Analogies
I believe everyone has understood that ERC-6551 describes an AA account rather than an NFT, so next, let’s use the best tool for AA popularization ------ smart locks for analogy.
First, let’s compare private keys to fingerprints. They correspond to the concept of "identity" in the Crypto world and the physical world, respectively. If obtained by a third party, others cannot distinguish whether it is "themselves" or "someone else" performing the operation, so we generally do not share them with others.
Now, let’s start with the simplest AA account: an AA account controlled by a single key (EOA), like a single-signature Safe account. Its unlocking logic is to verify the signature of the key; if it matches, the account can be unlocked. Analogous to a smart lock, this is the logic of unlocking with a fingerprint. This identity-strong binding logic is actually unsuitable in some scenarios, such as a locker in a bathhouse, where a "key card" that is unrelated to the person is needed, which means "recognizing the card, not the person."
Finally, we map "the person
uses the key card
to open the locker
and takes out 100 dollars
" to "the address
uses the NFT
to unlock the bound address
and transfers 100 USDT
" ------ congratulations, you have understood the basic principle of ERC-6551!
ERC-6551 treats each ERC-721 NFT as a key card and assigns it a locker.
Summary
Does it feel like it "stops abruptly"? Because explaining it with analogies is indeed not complicated. The actual Spec contains some settings similar to the Entry Point in ERC-4337, as well as handling methods for "circular references" (which is putting the key card in the locker), which are unrelated to understanding the basic principle, so I won’t go into those.
Although this standard has a relatively simple idea, just changing the narrative perspective, sometimes a different angle can make the design of certain scenarios more natural. For example, the logic of equipping NFT game gear can become "binding the equipment NFT to the character NFT's bound address" (thanks to Stitch for providing the example). Therefore, ERC-6551 can be said to be a protocol that greatly aids the popularization of AA, and I hope that similar protocols or use cases will continue to emerge, allowing everyone to feel the charm of AA.
Finally, if you are a bit unfamiliar with concepts like AA / EOA, here is a glossary I wrote earlier for reference.