人们通常会把 NFT 项目分为交易平台、游戏、艺术、收藏品、虚拟世界等几大类,这其实是顶层用户所看到的 NFT 应用或者是搭建在协议层之上的 Dapp。如果用一个更全局的视角分析,除了 Dapp 之外,还有服务 NFT 的底层基础设施和中间网络协议。举个例子,NFT 交易平台是搭建在底层基础 ( 以太坊、WAX、Polygon) 之上的基于 ERC721 或者 ERC1155 等 NFT 标准的的应用。底层基础设施为交易平台提供性能和互操作性,ERC 标准限制了顶层应用的使用场景。
从功能属性上,NFT 产业链自上而下可以分为三层:
一是: 应用层,用户日常看到的和用到的;
二是: 协议层,NFT 应用层和计算层中间的技术栈;
三是: 结算层,负责 NFT 的价值的存储和记录。
协议层是结算层和应用层中间的关键模块。统一的链上协议标准可有效降低 NFT 资产发行的门槛和难度,解决 NFT 市场中的资产安全、真伪性、流动性和去中心化问题。目前应用最为广泛的是 ERC721 协议和 ERC1155 协议。
本文将依次盘点现有的 NFT 协议, 包含 ERC721、ERC1155、ERC998、NFT 租赁协议、EIP2981 以及流动性协议和跨链协议。
NFT 标准协议
- ERC721 —— 以太坊上 NFT 代币的元数据结构。第一个代表 NFT 资产的标准,由 Dapper Labs Dieter Shirley 创造出来并由 CryptoKitties 带向市场
- ERC1155 —— 单一智能合约中管理多种类型 NFT
- ERC998 —— 可嵌套的 NFT,即多个 NFT 的绑定关系
- EIP2981 —— NFT 版税
- ERC1523 —— NFT 作为保险单
- EIP1948 —— 可变更信息的 NFT
- ERC875 —— 批量转移 NFT
除了主流的 ERC-721 和 ERC-1155 以外,部分 NFT 底层公链已着手开发 NFT 链上协议,例如 DNFT,一个支持跨链的去中心化 NFT 协议,支持开发 NFT 资产相关的创建、交易、分析、衍生品、数据等各种产品;Vera,一个波卡生态的 NFT 借贷和流动性协议。这些属于 NFT 通用协议层,可赋能 NFT 的各类应用场景,比如金融、数据、跨链、隐私等赛道。其他 NFT 通用协议层可被大致分为流动性协议和跨链协议。
不同的 NFT 协议
ERC721
ERC721 是第一个正式和广泛采用的 NFT 标准,它定义了一套代码规则,用于在以太坊区块链上记录 NFT 的相关信息。虽然 ERC-721 不是强制性的,但它被广泛接受为 NFT 项目的标准。
ERC-721 的全称是 Ethereum Request for Comment-721。ERC-721 源于以太坊改进提案(EIP)第 721 号。EIP 被审查并最终确定后,就成为 ERC。
ERC721 的历史
EIP-721 是由 Dieter Shirley 在 2017 年 9 月首次提出。后来 Shirley 在 2017 年底基于原始版本的 EIP-721 共同开发了 CryptoKitties,当时在以太坊社区引起了轰动。2018 年 1 月 24 日,EIP-721 由 William Entriken、Dieter Shirley、Jacob Evans 和 Nastassia Sachs 正式提交。EIP-721 被接受为最终版本,于 2018 年 6 月 21 日正式成为 ERC-721。
ERC721 的内容
ERC-721 为任何 NFT 分配了两个标识符,即合约地址和代币 ID,它们的组合赋予了 NFT 独一无二的标识。例如,Bored Ape Yacht Club 的合约地址以及#3749 的 token ID。
ERC-721 是一个单一的代币标准,这意味着每个资产都有独立的智能合约,即使是相同的 gamefi ingame 资产。这个标准定义了「名称」、「符号」、「总供应量」、「余额」、「所有者」、「批准」、「获取所有权」、「转让」、「代币所有者指数」和「代币元数据」等功能,还包括市场中使用的两个事件:「转让」和「批准」。
ERC721 的缺点
- 与 ERC20 不兼容
- 只适用于以太坊
ERC1155
ERC1155 是由 ERC721 扩展而来的多代币标准,支持从同一个智能合约中发行许多代币,这使得创建和转让的效率更高。
ERC1155 的历史
ERC1155 是由 Enjin 首席技术官 Witek Radomski 创建的,允许在一次交易中发行一个或多个 ERC1155 项目。
ERC1155 的优点
- 转移和交换的效率
- 与跨链兼容
- 在铸造新的代币时节省 Gas
ERC1155 的缺点
- 难以追踪所有权
ERC 998 -- 可组合代币
在可组合代币方面,它能够代表一组 ERC20 代币或 ERC721 代币或两者的组合,可以在一次交易中进行交易。要实现 ERC998,首先需要将子代币 ERC721 或 ERC20 加入 ERC998。只有当发送者也拥有父代币 ID 时,子代币才能从合约中转移。ERC998 实现了一次性转移所有层级和所属关系。
用例:游戏中的资产,例如元宇宙的地产、REVV 的赛车。
一个 ERC998 代币的价值等同于一个实体中这些物品的积累。
租赁协议 (EIP4907/2615/5006)
EIP2615 和 EIP4907,通过智能合约为资金提供者和 NFT 借贷者拆分 NFT 所有权和使用权。
EIP2615- NFT 抵押和租赁
EIP2615 通常用于 NFT 租赁协议。该协议将 NFT 的所有权和使用权分开,允许用户租用自己的 NFT,或者通过抵押 NFT 来进行抵押。为了用 ERC721 实现 NFT 的无信任租赁,有必要存入资金作为担保。这是为了防止借贷者的恶意行为,因为一旦所有权被转移,就不可能再收回。有了这个租赁协议,就不再需要保证金了,因为这个租赁协议本身就支持租赁和租户功能。此外,办理抵押贷款时不需要所有权托管。这是为了防止抵押贷款的潜在违约风险。然而,用 ERC721 做担保抵押品损害了 NFT 的效用。由于大多数 NFT 应用为 NFT 的典权人提供服务,所以 NFT 基本上不能在托管下利用。有了 ERC2615,就可以在抵押 NFT 的同时使用它们,这使 NFT 更有效率。
NFT 的租赁
1. 按账户服务分离
链外账户 服务——CEX 模式
- 项目: Axie Scholar Program
- 缺点:由于 NFT 的不同功能而变得复杂,权利分配问题,对开发者来说,整合和可扩展性问题,需要单独的前端,对账户服务的信任,不开放和可互操作
链上账户服务——多签钱包
- 项目: Pine,99 starz
- 优点:解决了信任的问题
- 缺点:需要从 Dapp 中进行前端整合,不提供密钥和无法提供签名,与其他 Dapp 的整合(例如 opensea),Gas 成本和安全性
2. 按项目分离
Dual role --EIP4907
- 项目: ENS(controller),Decentraland(Operatpr),Double protocol
- 优点:无许可的互操作性
- 缺点:重 BD,需要 GameFi 或者 NFT 项目方升级智能合约
元数据扩展 -- 开发自定义智能合约
- 项目:reNFT,Rentable
- 缺点:项目信任用户信息,开发困难,很难找到你想要的信息
Wrapped dual role
- 项目: Cyan,Double,BendDAO
- 缺点:重 BD 和可扩展性
EIP2981-- 版税
EIP2981 是处理 ERC721 版税支付的标准,它允许跨游戏平台的版税支付标准化,因为每个市场都有自己的版税,而且没有一个在二级市场上工作。EIP2981 统一了版税,因此它们被设定,并提供了一个函数,将金额返回给创作者地址。
EIP2981 所支持的版税类型
- 非典型的,即固定 % 的版税。例如,10% 返回给创作者
- 衰减版税,可以是基于时间的所有权或任何属性
- 动态版税,即可以随时间或销售金额的变化而变化
流动性协议
释放 NFT 在金融上提供流动性的应用场景。通过将 NFT 抵押,生成易于流通的 ERC20 代币来提升 NFT 的流动性。比如 Unicly,NFT 持有者在 Unicly 协议上创建自己的 uToken,该协议一般是对一组 NFT 的集合进行抵押碎片化后,铸造对应数量的 ERC20 代币,进而参与流动性挖矿、交易等。
跨链协议
现在的 NFT 大多是基于 ERC721 标准,场景局限于以太坊。其他结算层的公链也有 NFT 交易的需求,比如 WAX、Conflux 等。NFT 的跨链协议可以为主链和其他主链之间的 NFT 提供互操作性。比如 DNFT,DNFT 是基于波卡 Substrate 构建的跨链的去中心化 NFT 协议,为目前各种 NFT 提供底层的跨链基础设施服务。