ERC721 是以太坊上 NFT 最基础的元数据结构协议标准,作为加密货币的一个种类,其特点在于最小单位为 1 且具备非同质化特性,即任意两个 NFT 资产间无法交换,而基于此特性其也具备诸多的应用潜力。
随着 NFT 赛道的发展,NFT 的应用面越来越广泛,除了最早的艺术品、收藏品,以及占据了 NFT 赛道市值半壁江山的 PFP 外,其也正在以游戏道具、音乐作品、域名等诸多新形式面向 Web3 用户。当然,最基础的 ERC721 协议标准仅具备最基本的原生 NFT 特性,其无法在不构建外部机制的条件下,以原生的形式满足市场发展的进一步需求,比如嵌套组合、版税分配、租赁、批量交易等等。
而随着以太坊开发团队审议和测试,陆续通过了具备不同特点的 NFT 协议标准提案后,以 ERC721 标准为基础,NFT 协议标准得到不断的丰富比如 ERC1155、ERC998 等等,基于这些新协议标准铸造的 NFT,原生具备不同的特性,并与与日俱增的 NFT 市场需求相匹配。
此外,还有一些以「EIP」改进提议形式存在的一些 NFT 协议标准(仍处于讨论状态的提案),比如 EIP4907、EIP/3664 等,EIP 提案一般包括含有技术规范的设计文档以及设计逻辑。从用户的角度看,本质上 ERC 与 EIP 相同,都是以太坊社区开发者为协议提出的优化提案,但当 EIP 被以太坊社区认可(当然,这个过程需要经过构思、草案、审核、最后审稿、定稿、停滞、撤回和动态等系列过程)并最终得以被大规模应用后,EIP 就成为 ERC 标准。
本文将对目前以太坊市场上,一些主要的 NFT 底层协议标准,进行简要的盘点与梳理。
ERC721:NFT 协议标准基础
ERC721 是以太坊上最早也是最基础的 NFT 底层协议标准,由 Axiom Zen 的技术总监 Dieter Shirley 在 2017 年 9 月提出,并由 William Entriken、Dieter Shirley、Jacob Evans 和 Natassia Sachs 等人于 2018 年制定。其作为一种非同质化代币智能合约标准接口,允许发行基于 ERC721 的 NFT,它规定了 NFT 资产的最小单位为 1、不可拆分且非同质化(独一无二)的特性,ERC721 是目前 NFT 资产的主要规范标准与基础之一(并也为其他链上 NFT 标准的制定提供了参照),目前以太坊绝大多数 NFT 都是 ERC721 标准的。
CryptoKitties 是 ERC721 NFT 标准的最早的应用案例,而随着 CryptoKitties 大火后,以 ERC721 为主要技术标准的 NFT 被进一步采用,并随着其叙事的不断丰富而被投资们所青睐。
ERC1155:单一智能合约批量处理 NFT 资产
ERC-1155 是由 Enjin 首席技术官 Witek Radomski 等开发者提出,并于 2018 年 6 月 17 日将该标准的第一个版本放置到 Ethereum 的 Github 库中,其主要可用于游戏行业中道具的生成和处理。
ERC1155 的特点在于,能够基于一个合约同时发行多个 NFT(或者 FT),允许使用者在同一个智能合约中无限量地重复使用同质化或者非同质化的代币,是可以一次性铸造多种多量同质化及非同质化资产的以太坊标准。这意味着,ERC1155 允许我们既可以发行同质化也可以发行非同质化代币,当对同质化和非同质代币都有需求时都可以在此标准上发行,无需切换别的标准。与此同时,基于 ERC1155 可以批量转移代币资产,一次操作就可向不同对象转移多个代币资产。
从以往发行 ERC721 标准的 NFT 的流程上看,我们需要在合约上逐一的发行、转移,不仅效率低下且成本较高(Gas 费),而 ERC1155 则能够极大程度的提升效率、降低成本,被一些 GameFi 项目所广泛采用。
目前 Enjin network 是支持 ERC1155 协议标准的应用之一(支持发行),此外 The Sandbox 也将 ERC-1155 作为其首选代币标准,而随着 NFT 赛道的发展,ERC-1155 也有望被进一步采用。
ERC998:可组合代币特性
ERC998 标准最初是由知名开发者 Matt Lockyer,在 2021 年 4 月 15 日提出的一种名叫可组合非同质化代币(Composable NFTs,缩写为 CNFT)的构想,并且在 2022 年被一些 GameFi 项目所采用。
ERC998 是一种允许任何一个 NFT 与其他 NFT 或 FT 捆绑的底层协议标准,用户可以在转让 CNFT 时实现 CNFT 的整个层次结构和所有权转移。简要地说,ERC-998 可以包括以 ERC-721 和 ERC-20 形式的多个令牌。比如,一个游戏中的 NFT 道具,它可以包含多个 ERC721 标准的代币,以及 ERC20 代币组合(得到的形式可以是升级、融合等等),而该 ERC998 NFT 道具可以整体的交易转让,它极大的简化了 NFT 资产的所有权和交易行为。
ERC1948:可读取、可变信息
ERC1948 可以理解为动态版本的 ERC721,它不仅具备了 ERC721 所具备的基本特性,其也在在 ERC-721 的基础上,为 NFT 添加了一个 32 字节的数据字段,并且允许用户访问该 NFT 的读取功能,该 NFT 的所有者拥有更新数据的权限。
虽然 ERC1948 对数据存储的容量存在一定的局限性,但 ERC-1948 协议让 NFT 具有了存储动态数据的能力,比如对一些道具属性、数值的更改等等,而以此为基础随着其所能够存储数据的能力进一步提升,其将有着十分重要的应用前景。
ERC2981:版税
在几个月前,围绕对于 NFT 作品(以艺术品、收藏品为主)的版税问题吵得不可开交,其中持不同立场的用户对于每次交易是否收取版税的意见不同。在早期,通常是通过 NFT 交易平台来进行版税的设定,比如在 OpenSea 上,购买者支付给 NFT 创建者的版税,由 NFT 创建者自行设置,最高不得超过 10%,OpenSea 会将这些 NFT 版税收入每两周转至 NFT 创建者指定的收款地址。
而 ERC2981 正在将版税机制,在发行阶段嵌入到资产中,即当每次该 NFT 进行转账交易时,都将在交易额中扣除部分版税(可以按照固定、衰减、动态等方式对版税进行自定义),这意味着创作者获得版税,将不再依赖于 NFT 交易平台,并进一步帮助 NFT 创作者们增加收入的管道。
ERC875:批量转移资产
ERC875 是一种允许用户批量交易 NFT 的底层协议标准,用户可以基于此标准,在一次交易中批量购买、迁移多个 NFT。
ERC875 协议族目前主要进行了两方面的核心改进:一是 Magic Link 实现原子交易,二是打包功能。
其中 Magic Link 主要用来降低用户上手门槛,在将资产 Token 化后,用户既可以生成 Magic Link,用于展示或者交易,普通用户也可以直接发出请求,而无需在一开始就支付 GAS 费用。打包功能主要针对诸如票务等业务,可以将多个资产进行打包,整体展示或者流转、处理。
在 ERC-875 协议书中,用户能够通过对包含价格、交易到期日期和签名等信息进行加密签名来下单。这个过程是在链下完成的,只有在结算时才会链上广播,这意味着用户无需支付 Gas 费就能进行交易,节省大量的 Gas 费。而当有买家愿意购买时,他所需要做的就是接受订单并广播带有订单详细信息的情况,再加上买金来完成交易。所以对于 ERC875 而言,除了可以降低 GAS 费用,也可以方便用户使用。
ERC1523:NFT 保单
以 NFT 的形式作为保险保单的形式的确是一个不错的想法,我们看到,保单是在某些方面具有一定独特性的金融资产,保单让客户与特定风险产生关联,或具有其他独特属性,如保费、期间、承运人、承保人等。所有在将保单进一步 NFT 化后,保单就能够作为一种可以进行交易、转让的资产进行流通。
ERC1523 是定向在该领域构建应用的一个 NFT 协议标准,它在现有 ERC721 协议标准的基础上定义了一个最小的元数据结构,允许在智能合约中实施保险政策的标准 API,以尽可能多的让保单类别具备通用特性,虽然目前 ERC1523 整体的应用案例并不多,但这为日后广义上的保险在链上的进一步构建提供了基础与参照。
具备租赁特性的全家桶:ERC4907、EIP2615、EIP5006
ERC721 本身并不支持 NFT 在使用权与拥有权之间的分离,即仅 NFT 的所属者具备使用权。那么 ERC4907(由 NFT 租赁市场 Double Protocol 推出 EIP4907 提案,并 2021 年 6 月通过提案)、EIP2615(2020 年 4 月,由 Kohshi Shiba 提出)等协议标准的出现,则进一步让 NFT 能够将使用权与拥有权进行分离。
ERC4907 与 EIP2615 虽然都是对 ERC721 的拓展,但它们存在一定的区别。
ERC4907 构建了一个可以授予地址的附加角色 ,以及角色自动撤销的时间 ( expires)。角色代表「使用」NFT 的权限,但不代表转让或设置的能力。即 NFT 所有者可以为某地址赋予具备使用权的「租赁」特性,并在进一步建立租赁时间因素后自动形成租赁关系,并在租赁时间到期后自动解除租赁关系(该租赁关系并不会因 NFT 所有权的转移而改变)。ERC4907 本身毫无任何强制性手段来限制租赁者的用途,即使用权拥有者除了不能将其转让以及设置外,可以无许可的进行所有互操作性操作。目前,ERC4907 并没有对租赁次数进行设置,比如可自动直接执行的单个地址的连续租赁,而后续的开发者可以在此基础上进一步的开发。
ERC4907 的核心价值是为链上「原生租赁」提供了技术支撑,实现了 NFT 的所有权和使用权的分离,是解决 NFT 流动性短缺问题的重要基础设施,当然想要对 ERC4907 进行支持需要对进一步对 GameFi 或者 NFT 项目方的智能合约进行升级(门槛较低)。
EIP2615 同样是对 ERC721 的拓展,但其主要支持租赁与抵押功能,即 NFT 被抵押后能够继续被拥有使用权的用户所使用(允许用户租用自己的 NFT,或者通过抵押 NFT 来进行抵押),以进一步为 NFT 资产赋予现实世界不动产资产的某些属性,其与 ERC4907 侧重点是不同的。
图片来源《Economic Primitives of the Metaverse 1: Renting and Lending》
其相较于 ERC4907 更加复杂,其中包括留置权持有人、所有者和用户三类角色,其中留置权持有人以及所有者有权有权转让所有者和用户角色,而用户有权利转移用户角色,智能合约则作为主要的执行者,我们看到其整体的执行逻辑十分复杂。在 2020 年 EIP2615 被提出后,始终没有进展,或许与其复杂的执行逻辑以及链上执行成本(高 Gas),并且与实际的 NFT 市场发展、需求并不一致有关。
EIP5006 则更像是 ERC1155 的拓展版本,EIP-5006 仿照 1155 的数据结构,额外增加了 3 种数据来表示嵌套的资产角色租赁关系,基本等于是在原始的 1155 核心数据上,再嵌套一层补充上租赁者和出租量的数据。它的核心价值主要是将进一步强化围绕「用户创作应用场景上」所有权和使用权的分离,明确 NFT 扩大应用价值的方向,将会涌现更多丰富的玩法、应用场景和衍生品。
EIP3664:NFT 属性扩展协议
EIP-3664 是由 DRepublic 团队提出,其使用了一种较为巧妙的方式,来进一步解决了主流 NFT 标准比如 ERC-721 或 ERC-1155 等,在属性上表现力不足,NFT 之间难以融合,且在存储上中心化(目前主要存储在服务器上)的种种问题,并且该提案进一步实现了 NFT 属性的动态扩展。
EIP-3664 的方案中,不需要修改现有的 ERC-721 协议和 ERC-1155 协议,它支持通过在 NFT mint 方法的 IERC721Receiver 或 IERC1155Receiver 的回调函数中为 NFT attach attributes, 也可以通过 override mint 方法自定义实现为 NFT attach 属性的方式,一个 NFT 可以无限 attach 任意多个属性。
EIP-3664 中所有属性都实现了 IERC3664 接口,基础属性包含几个基本字段:ID, Name, Symbol, URI, Balance。 EIP-3664 正在将 NFT 的属性 Token 化了,即我们可以认为每一个属性也是一种 NFT,这就衍生出了子 NFT 的概念,即 NFT 嵌套 NFT,NFT 嵌套 FT,这种特性看似简单,其实为 NFT 提供了无穷多的变化属性,并且让 NFT 的用途变得更为广泛。
属性的更新,转移,进化各种变化都可以通过扩展基础的 EIP-3664 协议来实现,目前 EIP-3664 已经实现了六种核心属性操作:可升级,可修改,可添加,可移除,可拆分,可组合。
也就是说,EIP-3664 为 NFT 提供了可拆分可组合特性,能够让所有 NFT 之间自由拼装,创世发行的初始版本即是多个不同的部件的组合体,类似乐高套装,每个部件拆分后依然可以作为一个完整的 NFT 资产在二级市场售出。
NFT 的拆分有个重要特性就是兼顾拆分后的差异化个性与完整性, 在此基础上进行进一步的数量裂变是一个非常有趣的尝试,EIP-3664 协议对于 NFT 的发展有着至关重要的意义。
会员权益类 NFT 协议标准:EIP4885、ERC5643
EIP4885 协议标准是一种订阅代币的协议接口,让持有者订阅 NFT 和多代币,该协议的核心功能,是支持设置 NFT 的访问期限,更好的服务于会员制等生态体系。比如音乐、电影、书籍内容等所有者对关注着的访问授权。
EIP5643 则是是 EIP-721 的扩展,它为 NFT 提出了一个额外的接口,同样可以用作定期的、可过期的订阅,该界面包括续订和取消订阅的功能。
SBT( 灵魂绑定币 ) 类协议标准:EIP5114、ERC5192、EIP4973
EIP5114
在铸造时绑定到另一个非同质代币(NFT;例如,EIP-721 代币)的代币,之后无法转移 / 移动。用户不能转让所有权,铸币者也不能撤回 / 转让 / 更改所有权。
ERC5192
以太坊社区表达了对不可转让、不可替代且具有社会定价的代币的需求,类似于魔兽世界的灵魂绑定物品。但缺乏令牌标准导致许多开发人员在用户调用传输功能时简单地抛出错误。从长远来看,这将导致碎片化和可组合性降低。
该标准是 EIP-721 的扩展。它提出了一个最小的接口,使用 EIP-165 的特征检测功能使代币绑定。灵魂绑定令牌是绑定到单个帐户的不可替代令牌。
EIP4973
为智能合约中的账户绑定令牌 (ABT) 提出标准 API。ABT 是绑定到单个帐户的不可替代令牌。ABT 不为传输实现规范接口。该 EIP 定义了创建、分配、撤销和跟踪 ABT 的基本功能。而相比于 ERC5192 和 EIP5114 两个标准,EIP4973 增加了销毁功能。
(声明:请读者严格遵守所在地法律法规,本文不代表任何投资建议)