UniPass 联创知县:ERC-6551 类比式解读

推荐阅读
2023-07-06 14:46:47
收藏
ERC-6551 不是 Token 标准,和 ERC-721 等不是一个范畴的概念,它是应用层的标准。

作者:zhixian.eth

 

昨天被问了好几次 ERC-6551 跟 AA 的关系,聊起来才发现大家对它的理解有各种各样的偏差。我把今天讨论里用到的一些类比记录下来,希望能对大家的理解有点帮助。老规矩,这篇小作文不是严肃的技术文章,为了便于理解会使用并不精确的类比。

 

快速了解 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 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.

 

用类比解释 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 这些概念有些陌生,这里有一篇我之前写的名词解释可以参考。

链捕手ChainCatcher提醒,请广大读者理性看待区块链,切实提高风险意识,警惕各类虚拟代币发行与炒作, 站内所有内容仅系市场信息或相关方观点,不构成任何形式投资建议。如发现站内内容含敏感信息,可点击“举报”,我们会及时处理。
ChainCatcher 与创新者共建Web3世界