ERC-6551 是代币绑定账户的以太坊标准,为每个 NFT 创建一个智能合约钱包,以使其更具可组合性、动态性和交互性。
2017 年,ERC-721 标准被引入以太坊区块链,建立了一种数字资产代币化的新方式,并为 NFT 的主流采用铺平了道路——为 CryptoKitties、NBA TopShot 和 CryptoPunks 等项目提供支持。
NFT 最初主要是静态图像,但近年来,开发人员一直在探索使其更具动态性和互动性的方法——不断发展以包含游戏元素、音乐组件甚至增强现实功能。
在 NFT 的最新创新中,ERC-6551 标准现在占据了主要舞台——在以太坊上启用“代币绑定账户”,并为基于区块链的数字资产解锁强大的新功能。该标准于 2023 年 5 月 7 日在以太坊主网上线。
在这篇博文中,我们将揭开您需要了解的有关 ERC-6551 标准的所有信息,包括它如何实现“代币绑定账户”,以及它为 NFT 解锁的新用例。
什么是 ERC-6551?
ERC-6551是代币绑定账户的以太坊标准,它为每个 ERC-721 NFT 创建一个智能合约钱包。
此次更新基于由Benny Giang和Steve Jang领导的链上产品工作室Future Primitive创建的以太坊改进提案 6551(EIP-6551)。
代币绑定账户是“ERC-721 代币所拥有的智能合约账户的接口和注册表” ——将所述智能合约账户(或钱包)链接到拥有它们的 NFT。由ERC-4337提供支持的智能账户是可定制的,可用于存储资产和进行交易。代币绑定账户还保留账户执行的所有链上活动的不可更改的记录或无需许可的注册表。
这将每个 NFT 转换为具有所有权、交易和实用性完整来源的钱包。代币绑定账户还向后兼容 ERC-721 标准,这意味着现有的 NFT 无需进行任何根本性更改即可实现 ERC-6551 — 避免了部署新合约或包装现有 ERC-721 NFT 以启用代币绑定账户的不必要摩擦。
但是,为什么我们需要代币绑定账户? ERC-721 NFT 本身还不够好吗?让我们进一步探讨这个问题。
为什么要创建 ERC-6551?
ERC-721 标准为 NFT 的主流采用铺平了道路,并解锁了基于区块链的数字资产的各种用例——但 ERC-721 NFT 也有一些限制:
缺乏可组合性:现有的 NFT 大多是静态的,即用户无法在其上嵌入任何额外的实用程序,这为更多创新留下了空间。
无法充当链上代理:受限于身份,ERC-721 代币无法独立与其他链上资产或合约进行交互。
静态 JSON 元数据:由于 ERC-721 代币记录的是静态 JSON 元数据,因此在维护更多统一资源标识符 (URI) 代码、安全性和效率方面的灵活性有限。这意味着无法将任何其他数据或值嵌入到代币中。
ERC-6551 引入 TBA 使 NFT 不仅仅是静态资产 — — 同时保持了 ERC-721 的优势和实现!
ERC-6551 如何工作?
代币绑定账户是智能合约钱包,技术上由 ERC-721 NFT 拥有 — — 但代币绑定账户的控制权委托给该 NFT 的所有者。所有者可以代表 NFT 使用代币绑定账户发起链上操作。
ERC-4337 和 ERC-6551 如何启用代币绑定账户
Token绑定账户在Registry启动,Registry主要有两个功能:
createAccount:根据给定的实现地址为 ERC-721 代币部署 TBA。
账户:为 ERC-721 代币计算一个 TBA 地址。
此外,每个 TBA 都部署为 ERC-1167 最小代理,并将不可变的常量数据附加到字节码。
通过EIP-6551 文档说明用户账户“拥有”的 ERC-721 代币和“控制”的 ERC-6551 TBA 之间的关系
添加此步骤的原因是ERC-1167最小代理合约允许两件事:
以低成本部署克隆合约,而不是多次部署 NFT 合约,因为后者需要额外的 gas。
减少了运营工作量,因为它需要一次性部署代理合约,该合约在每次后续部署中都指向具有相同逻辑的新数据实例。
账户接口定义了TBA目前可能实现的功能。其中包括:
使用' receive() '函数接收以太币(ETH),
使用 ' executeCall'执行调用,
限制 NFT 所有者执行调用
添加授予其他非所有者账户的执行权限。
TBA 还使用以太坊标准ERC-165和ERC-1271。前者有助于标准化 TBA 界面,而后者则方便用户代表智能合约签署消息。
此外,单个 ERC-721 代币可以拥有多个 TBA,每个 TBA 都有特定用途。
ERC-6551 的用例有哪些?
ERC-6551 是以太坊上的一个新兴标准,但代币绑定账户的创新正在快速发展。以下是 TBA 的 3 个用例,它们将增强 NFT 的潜力:
1. NFT 可组合性
代币绑定账户增强了 NFT 的可组合性,允许将 ERC-721 代币及其相关资产捆绑在一起形成一个“配置文件”。
TBA 可以是一个库存系统,其中包含不同类型的资产,所有资产都具有内置逻辑,从 NFT 的自动质押到收集 POAP 奖励。
此外,将代币、资产和 NFT 捆绑到单个 TBA 中,让用户可以轻松转移资产并在平台之间切换。这为转移资产带来了更直观的用户体验,而这正是目前所缺乏的。
2. 完全链上身份
Benny Giang讲述 NFT 的演变
代币绑定账户解锁了 NFT 拥有钱包及其所有相关资产的新可能性。这意味着你可以创建完整的链上身份和声誉作为 NFT。这些 NFT 还与 dApp 本身交互,而不是与持有它们的钱包交互。
行为经济学驱动的空投、忠诚度计划和游戏内奖励是可以使用 TBA 的系统的几个例子。展望未来,这还可以实现信用评级,从而带来更可靠、更高效的借贷协议。
3. Web3 游戏
Web3 游戏用例源自代币绑定账户为 NFT 实现的可组合性,但它们值得分离到自己的部分中。
在代币绑定账户之前,玩家可以将自己的角色作为 ERC-721 NFT 来拥有 — — 但是他们在游戏中收集的所有相关资产也将作为单独的代币存放在所有者的钱包中。
通过代币绑定账户,游戏开发者可以为玩家创建“库存”,允许所有与游戏相关的资产自动转移到其角色的钱包中——从而提供更好的用户体验并实现之前难以创建的游戏内 UI。
ERC-6551 的示例
Stapleverse是首个使用 ERC-6551 推出全面项目的推动者,并通过推出Sapienz(首批采用代币绑定账户的项目之一)开创了数字街头文化的未来。
Stapleverse 的Sapienz
在 Sapienz 中,用户可以获得一个角色,可以使用化妆品进行自定义 — 根据他们持有的其他 NFT,他们可以解锁这些化妆品。然后,这些化妆品将绑定到 Sapienz,Sapienz 以代币绑定账户的形式拥有自己的“库存”。
Sapienz 实施 ERC-6551 和代币绑定账户
如何开始使用 ERC-6551
与以太坊上的其他 NFT 标准和智能钱包类似,您可以使用 ERC-6551 智能合约开始使用代币绑定账户 - 然后将其集成到您的应用程序或项目中!
创建代币绑定账户通常需要编写、测试和部署支持 ERC-6551 标准的智能合约以及工厂合约。
ERC-6551 和代币绑定账户的未来
代币绑定账户正在为 NFT 提供强大的创新能力——解锁新的用例并将其转变为真正可组合、动态、交互的资产。
结合最近在以太坊上引入的账户抽象(ERC-4337),这将 web3 用户体验提升到了一个全新的水平——使钱包提供商和 dApp 能够为其用户铸造 NFT,并在底层为 NFT 创建 TBA——允许用户加入区块链而无需创建钱包或管理种子短语。