什么是ERC-6551
ERC-6551 是由Jayden Windle、Benny Giang等十余位业内人士在23年2月份提出的一项关于NFT标准的提案。该提案定义了一个将以太坊账户分配给NFT的系统。这些账户叫做代币绑定账户(Token Bound Accounts, TBA),允许NFT绑定智能合约账户从而像普通账户一样可以拥有资产并与应用程序交互,而无需更改现有的智能合约或基础设施。
简单来讲,原有的NFT标准基于ERC-721标准,是一个支持在以太坊区块链上创建独特数字资产的标准。常见的形式有PFP、Pass Card等,只能转让或者拥有。EIP-6551则是让NFT绑定智能合约账户,此时NFT就可以像智能合约钱包一样可以实现存入其他普通NFT和代币、直接与Dapp交互等更加丰富的功能。
补充:EIP是一系列的围绕以太坊的改进提案,其中具有多个针对性的类型比如Core、Networking、Interface、ERC、Meta、Informational。ERC类型便是是围绕应用程序级标准和约定,包括合约标准和相关拓展的提案。目前的ERC-6551还处于草稿状态,未来可能仍会有所变动。[1]所以ERC-6551也可称为EIP-6551。
谁创造了这个提案?
ERC-6551提案的发起人之一Benny Giang曾是CryptoKitties和Dapper Lab的团队成员,也曾参与过ERC-721标准的建立,并参与了Cheese Wizards和NBA Top Shot等项目的开发,还创办了一家名为Future Primitive的软件开发设计公司,其余的提案参与者也均是业内具有丰富经验的专家。
ERC-6551的作者,创建日期和相关EIP(图源:EIP)
如何实现ERC-6551
在了解实现过程前,需要先了解两个概念:
【1】注册表(Registry):在日常生活中,注册表一般表示电脑操作系统中,存储系统和应用程序的设置信息的数据库。在ERC-6551中则用来规范标准,充当所有令牌绑定帐户地址查询的单个入口点。它有两个功能:
①为给定地址的 NFT 创建代币绑定账户。
②计算给定地址的 NFT 的代币绑定账户地址。
【2】合约钱包(Contract Acount,CA):即智能合约钱包,是一个可以接收NFT、ERC20或ETH并另外执行任意交易的智能合约。
ERC-6551的实现过程(来源:ERC-6551提案)
上图是ERC-6551的基本原理图示,我们简化叙述一下该过程就是:
【1】持有任意可扩展(能接受ERC-6551)的用户发起注册
【2】ERC-6551的注册合约读取模版合约代码
【3】注册合约验证NFT的所有权
【4】生成符合标准的合约账户
【5】用户利用生成的CA地址与其他协议交互或者完成其他操作
尽管ERC-6551的过程对于普通用户还是有些专业,但其针对开发者,已经有了专门的开发工具TokenBound。
Tokenbound 是一个以ERC-6551标准为中心的开源工具套件,它提供的其中一项服务是一个帐户浏览器界面,您可以使用它来部署ERC-6551帐户并与其他人进行交互。如果您有兴趣将令牌绑定帐户部署到您选择的 NFT,您可以按照以下步骤操作:
- 去 https://tokenbound.org 并连接你选择的钱包。
- 单击“我的 NFT”按钮。
- 选择你想要的 NFT,然后点击“部署账户”按钮。
- 用钱包确认部署交易,等待交易完成。
- 您现在会在所选 NFT 的仪表板中看到“使用钱包”选项。[2]
据Tokenbound官网显示,目前已经有12.5k NFT使用ERC-6551,在EVM区块链上完成了1,400多次操作。
提示:上述操作仅学习讨论,目前Tokenbound合约暂无法确定100%安全,请注意风险。
相关技术与概念
谈起ERC-6551,其与ERC-721、SBT、AA等技术都有一定的关联性,学习这些概念有助于我们更好了解ERC-6551的技术特点和优势。
ERC-721
ERC-6551是围绕ERC-721扩展的标准。ERC-721代币标准允许开发人员创建非同质化代币(NFT)。“非同质化”意味着每个代币都具有唯一的价值并充当可验证的唯一数字对象,NFT不能像ERC20代币那样相互交换。
ERC-721代币通常用来表示一个物品在区块链上的所有权,如实物资产合同、数字收藏品和数字艺术。此外,由于其独特性,ERC-721代币之间不可以互相交换。简而言之,ERC-721标准的创建是为了满足以太坊生态系统对代币独特性的需求。[3]
SBT
团队也在采访中提到灵感来自于SBT。SBT是Soulbond Token(灵魂绑定 Token)的简称,顾名思义,就是绑定于用户账户或钱包的 Token,一旦生成则不可交易。可用来代表承诺、资格、从属关系等,类似于履历表作为相应社会关系的一种证明。
与ERC-6551最大的不同是,SBT依托于绑定的新NFT,而ERC-6551是围绕ERC-721标准的拓展,适用于大部分ERC-721标准。
AA
AA是账户抽象(Account Abstract)的简称,这种技术的底层是ERC-4337协议,允许用户使用智能合约钱包而不是传统的通过助记词和私钥掌握的EOA钱包,并且通过将智能合约绑定账户,可以实现抽象出繁琐的日常操作,优化用户体验,比如社交恢复、一键跨链、批量交易等。
由于都将账户和智能合约相结合,所以很多人将两者进行比较,但两者创新点一个实在账户体系层次,一个是在NFT标准层次,前者是行业基础性的,后者更偏向NFT基础。或许两者有更多的可结合的创新点在未来会问世。
更多关于AA的细节可查看Gate Learn文章《帐户抽象及其工作原理》
ERC-6551的应用场景
ERC-6511的优势
可组合性
将NFT与智能合约相结合,带来了更多想象空间,将NFT作为账户也可以让NFT的扩展性提高。且由于NFT内存储的资产和NFT是可变的,NFT将变得更加独一无二。
可编程性
目前来看合约账户规定的是资产转账,但由于其合约属性,在未来可以支持更多自定义操作。
所有权分离
将持有的NFT作为账户可以解决之前EOA账户一旦连接协议,将会暴露所有资产的问题,更有利于账户管理。
潜在应用案例
根据ERC-6551的技术特性和优势,其拥有很多的潜在用例,比如:
- 拥有物品、服装、设备的库存系统(游戏/元宇宙内设计)
- 社区忠诚度或声誉系统
- 铸造或管理一篮子资产(艺术品、收藏品、DeFi)
- 可组合的媒体结构(从歌曲到歌曲、从艺术层到绘画、从数字纺织品到服装)
- 新的链上游戏机制
- 链上meme/衍生经济体
- NFT作为入场工具而不是钱包
- 增加NFTFi的组合性,比如将NFT质押产生收益
- 在不转移所有权状态下,授权账户
- 结合去中心化身份,建立身份名片
实际应用案例
Piggybank
Piggybank是ETH Global Waterloo主题黑客松上的项目,它将ERC-6551 NFT制作成为储蓄账户,用户可以直接将ETH存入NFT。一旦存入,提取的唯一方法就是销毁 NFT,存的钱越多特征还会相应发生变化。目前仅在Goerli测试网进行。
来源:https://testnets.opensea.io/collection/piggybanknft6551
如上图所示,存入后,NFT会显示存入的金额,而且不只是Token,其他NFT也可以进行转移。Piggybank主要利用了ERC-6551的绑定账户属性,即支持资产转移的功能。目前该项目还处于Demo状态。
Lens Protocol
Lens Protocol是一个开源、可组合性的去中心化社交媒体底层协议,在Web3领域具有很高的知名度,他的一大特点是内容、所有权通证化,即用户的主页会被Mint为Profile NFT一直跟随用户,创作的内容也可以额外发行NFT出售给粉丝。在其V2版本,其使用ERC-6551实现了功能上的巨大升级。
以CryptoKitty为例的账户展示 来源:Mirror of Lens Prototol
在Lens Protocol V2中,ERC-6551赋予了个人资料钱包的能力,通过为个人资料和ERC-6551代币标准之间提供开箱即用的支持,重新引入了组合性的强大能力。在V2中,来自“铸造”和“收集”的价值可以累积到个人资料中,而不是它们的所有者地址,这种功能为NFT赋予了自己的社交关系、声音和货币化机会。例如,CryptoKitty可以拥有一个Lens个人资料,关注其他CryptoKitties并发布内容,创建其自己的价值链。类似地,在虚拟游戏世界Sandbox中,你可以购买虚拟土地,并且该土地可以拥有一个Lens个人资料并打开邮箱与其他虚拟土地通信。
挑战与前景
挑战
【1】获得现有 NFT 项目和平台的支持
并非所有 NFT 项目都遵循 ERC-6551 标准,尤其是那些不遵循 OwnerOf 方法的项目,例如 CryptoPunks。这意味着一些最受欢迎和有价值的 NFT 无法享受代币绑定账户功能。
【2】技术成熟度
由于技术困难或商业原因,一些 NFT 平台可能不希望或无法与 ERC-6551 标准集成。因此,ERC-6551 NFT 可能无法立即提供给所有收藏家和创作者。
【3】合约安全
ERC-6551 NFT 可以利用智能合约拥有资产并与应用程序交互,这意味着它们成为试图利用漏洞或漏洞的黑客更有吸引力的目标。其中有两个安全问题值得注意:
①欺诈
卖家可能通过出售声称包含ETH的NFT来欺骗买家,然后在销售后撤回ETH,让买家留下一个空账户。
②所有权循环
存在这样一种情况,即将一个NFT放入其自身的绑定账户代币(Token Bound Account),从而永久地将资产锁定在不可访问的状态下,形成“所有权循环”。
【4】学习成本
ERC-6551需要提供用户友好且直观的体验。ERC-6551 为 NFT 引入了新的复杂性和功能层,它还需要想要有效使用它们的用户的理解和意识达到新的水平。例如,用户可能需要学习如何创建、访问、管理和转移代币绑定账户及其资产。
前景
Lens等知名Web3协议的接入以及多个新项目的尝试已经证明了ERC-6551的可行性和可组合性。在 ETHGlobal Waterloo 黑客松中,11 个项目就有 4 个与之相关,但从这些尝试中也可以发现,目前对于ERC-6551的应用还局限于其简单存储资产的功能以及发行盲盒等产品简单尝试。在上节中的“潜在应用案例”部分,我们提到的很大一部分场景还没有落地。
虽然场景很多,但也不能过于乐观,TBA的灵感来源SBT在发布初期也备受关注,并引发大规模创作热潮,但市场现在并没有看到成熟和可持续性的项目。TBA技术本身也收到AA等相似概念的市场争夺,所以ERC-6551未来的前景很大程度上由未来有没有成功的应用案例让其被更多用户接受决定。
结语
在常见的Web3语境中,NFT和DeFi、GameFi之间的连接并不密切,但ERC-6551出现后,其将NFT与智能合约的绑定让NFT从一个账户的资产之一变成了“子账户”一样,能独立控制资产,可与各种Dapp交互。这对NFT的改变是巨大的,也将更好的用于Web3其他领域发光发热。市场上现有的尝试还只是技术上的初步尝试或者简单嵌入,我们可以期待其更加开创性的应用场景的出现。最后,虽然其也存在一些隐患和局限,但作为一个草稿阶段的提案就受到如此巨大的关注,其成绩值得大家认可。