主页 > TokenPocket钱包 > tp钱包app官网|ERC-6551 类比式解读:跟账户抽象之间的关系?

tp钱包app官网|ERC-6551 类比式解读:跟账户抽象之间的关系?

tp钱包app官网 TokenPocket钱包 2023年07月25日

作者:zhixian.eth

一、快速了解 ERC-6551

首先,ERC-6551不是 Token 标准,它跟 ERC-721 等不是一个范畴的概念,而是更像 ERC-4337 —— 是的你没听错,它更像一个 AA 标准,只不过是应用层的标准。如果说最像的,应该是(私货预警 )ERC-7093的社交恢复标准,都是在考虑 AA 应该怎么用。所以你可以说「UniPass v2 是 4337 / 6551 / 7093 兼容的 AA 账户」,但是并不存在「ERC-6551 兼容的 NFT」这种说法。

看到这里你可能一脸问号:不是说给每个 NFT 绑定一个账户吗,怎么就变成 AA 标准了?这就是叙事的力量了 —— 同样一件事情,描述的角度不同,受众的认知就会天差地别。

  • 站在 NFT Holder 的角度:我的地址 A 里有一个 NFT,它有个关联的地址 X,我可以用 A 控制 X 转账;当我把 NFT 转到地址 B 之后,A 失去了控制 X 的能力,同时 B 获得了这个能力,所以账户 X 是跟这个 NFT 绑定的。

  • 站在 AA 账户开发者的角度:在 AA 账户里实现一种 NFT 关联的鉴权方式,如果发起转账请求的 Key 是一个以太坊地址,并且该地址拥有某个预先登记的 NFT,那么鉴权通过,可以解锁账户。

当然,也可以通过在生成地址时把 NFT 的唯一 ID 编码进去的方式来达成「先天绑定」的效果。如果你恰好是一个会写合约的小伙伴,其实可以很快地通过 Safe Module 来实现一个类似功能的 AA 账户。

实际上,如果你阅读过它的 Abstract,应该可以很轻松地发现这个结论:

This proposal defines a system whichgives everyERC-721token 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.

二、用类比解释 ERC-6551

相信大家已经理解了 ERC-6551 描述的是一种 AA 账户而非 NFT,那么接下来我们就用AA 科普的最佳道具 —— 智能门锁来进行类比解释。

首先我们把私钥类比为指纹。它们分别对应 Crypto 世界和物理世界的「身份」概念,如果被第三方获得,其他人无法分辨是「自己」还是「别人」在做操作,所以一般我们不会共享给其他人。

然后咱们先从最简单的 AA 账户开始:由单个密钥(EOA)控制的 AA 账户,比如一个单签的 Safe 账户。它的解锁逻辑就是验证密钥的签名,如果匹配就可以解锁账户;类比到智能门锁的话,就是用指纹解锁的逻辑。这种跟身份强绑定的逻辑在一些场景下其实是不合适的,比如澡堂储物柜,这时候就需要「钥匙卡」这种跟人无关的解锁凭证了,也就是「认卡不认人」。

最后,我们把「人拿着钥匙卡开储物柜拿了 100 美金」映射到「地址拿着 NFT 解锁绑定地址转了 100 USDT」—— 恭喜你,ERC-6551 的基本原理你已经懂了!

ERC-6551 就是把每个 ERC-721 的 NFT 当作钥匙卡,然后给它配了一个储物柜。

三、小结

是不是有种「戛然而止」的感觉?因为用类比来讲的话确实不复杂,实际的 Spec 里还有一些类似 ERC-4337 里 Entry Point 的设定,以及关于「循环引用」(就是把钥匙卡锁柜里了)的处理方法,这些跟大家理解基本原理无关,所以也就不做涉及了。

这个标准虽然思路比较简单,就是换个视角叙事,但有时候换种角度也会让一些场景的设计更加自然,比如 NFT 游戏装备穿戴的逻辑可以变成「把装备 NFT 打给人物 NFT 的绑定地址」(感谢史迪仔提供的案例)。因此 ERC-6551 可以说是一种对 AA 的普及有很大助力的协议,希望类似的协议或者用例能够越来越多,让大家都感受到 AA 都魅力。

最后,如果你对 AA / EOA 这些概念有些陌生,这里有一篇我之前写的名词解释可以参考。

标签: NFT   ERC-6551   账户抽象