NFT 开发者:谈谈我对 ERC-4907 的三点疑问
昨天,我被朋友圈里铺天盖地的 ERC-4907 和 Double Protocol 刷屏了。
作为一个从事 NFT 相关开发工作的 以太坊 社区开发者,笔者非常关注 NFT 生态相关的最新发展,因此在获取到该消息的第一时间,在好奇的驱动下,便对其定义的标准和具体实现进行了一番研究。然而,笔者在深入探究的过程中,碰到了几点疑惑。
首先,什么是 Double Protocol 和 ERC-4907
Double Protocol 是一个基于以太坊的 NFT 租赁协议,NFT 的所有者可以通过该协议授权自己的 NFT 给租赁者使用,而 NFT 本身无需被转让。由于这种特性,Double Protocol 可以实现无抵押的 NFT 租赁。该协议可以支持所有 ERC-721 NFT,支持分租等具体 NFT 租赁场景。
NFT 租赁,这是一个真命题吗?
随着 GameFi 和 NFT 的发展,NFT 被用于越来越多的场景,被赋予了更多的用例。我们看到 NFT 从单纯的头像小图片,发展到承载更多的接近于现实世界的功能与用途,也就是所谓的“Utility NFT(功能性 NFT)”,这就好比汽车可以开,房子可以住。NFT 越来越接近于现实世界的”商品或服务“。而一个商品除了可以买卖(发生物权转移)以外,当然也可以通过租赁来实现使用价值的转移。所以笔者认为,NFT 租赁这一场景不但站得住脚,而且未来将会越来越扩大,并且场景会越来越具体,就好比我们时间线中的租车、共享汽车、短租房等等。
然而,在详细阅读 Double Protocol 以及 EIP-4907 文档的过程中,笔者发现了几个问题,并且不禁对于该协议的原创性,可使用性和可靠性,产生了一些疑问。本文仅提出笔者发现的疑问,并欢迎整个加密社区对此进行更广泛的讨论:
疑问一:ERC-4907 协议是否不完备
ERC-4907 在 ERC-721 的基础上增加了名为 user 的用户权限,该权限具有一段有效期,NFT 的持有人和被授权的人都可以在任意时刻对 NFT 的 user 进行设置。不难理解,ERC-4907 拓展了一个新角色并以此来记录 NFT 的租赁人信息,但租赁人本身不具有任何权限,其权限由支持该 NFT 的应用自行赋予和定义。
这是一个思路上比较灵活的方案,但以此来实现租赁的功能,依然存在非常多的问题。在 ERC-4907 的实现里,User 的信息会在每一次 transfer 时被重置,且 User 随时可以被 NFT 的持有者或者已授权的人设置或更新。如果我们把设置 user 的行为视作租约的签订,那么随时可以更新 user 的行为就意味着这一租约是可以随时被破坏的,这显然侵犯了租赁人该有的权益,并且为整个租赁关系带来很大的不确定性。在这样的前提下,即租赁合约随时可以被改动的情况下,租赁期限(expires)已经毫无存在的必要性。
对于这一问题,社区中也有人提出。对此,ERC-4907 的发起人回应道,真正的租赁功能需要再通过一个租赁合约来实现。
也就是说,ERC-4907 协议本身不实现租赁功能,在进行租赁时,还需要引入一个应用级别的租赁合约。如此,笔者对 ERC-4907 协议本身的完备性提出质疑。如果这套协议本身不是一个完备的协议,无法在用户和应用之间直接实现租赁功能,必须再有一个应用级别的合约介入,则这套协议不能称为真正意义上的协议。此外,即使在这种情况下,expires 依然是一个无存在必要的信息,看起来这更像是以一种强耦合的方式,把一个应用级产品可以实现的字段信息,记录在了协议里。
疑问二:以太坊社区中已有人提出高度类似的提案
为了解决上述疑惑,笔者对此进行了一番搜索。在寻找资料的过程中,笔者发现两个与 EIP-4907 设计思路高度相似的提案。第一个是 AFKDAO 项目的 ERC-4610。该提案提出在 ERC-721 的基础上拓展一层名为 delegator 的角色,并通过租赁合约最终实现完整的租赁功能。据信目前有超过 30 个游戏项目采用该协议。
图为 ERC-4610 技术文档基于游戏用例给出的技术示意
在 AFKDAO 项目中,笔者也找到了符合 Double Protocol 描述的特性“与 ERC-721 完全适配,无抵押,可分租”的应用实例,这就是 AFKDAO 中采用 ERC-4610 协议的 Aggregator。
Aggregator 的用途主要是允许游戏 NFT 的所有者将 NFT 以无抵押的方式授权给租赁者,并且可以直接获得游戏 P2 E 收益的分成。该应用于 2022 年 3 月上线,根据链上记录已有相当数量的交易完成。
EIP-4907 提案实现租赁功能的方式,以及用 WNFT 向前兼容的方案都与 EIP-4610 提出的方案如出一辙。这让笔者好奇二者之间是否存在某种借鉴?对比二者提出时间,EIP-4907 在 22 年 3 月提出,EIP-4610 在 21 年 12 月提出(读者可自行查阅:https://GitHub.com/AFKDAO/EIPs/blob/master/EIPS/eip-4610.md)。
关于这个问题,笔者在一篇文章中找到了相关的说明:
Double Protocol is not the first of its kind to utilize the Dual-Role model to separate the usage and ownership of NFTs. Nevertheless, the team noticed a lack of consensus on naming and implementing the Dual-Role mechanism, which makes collaboration difficult. This is why Double Protocol proposed EIP-4907.
由此可见,ERC-4907 的提出者借鉴过其他同类型协议的设计,但因为名字的命名不同,选择自行提出了 EIP-4901 提案。
第二个是 EnterDAO 的 EIP-4400,协议的核心思想与 ERC-4907 一致,于 21 年 10 月提出。EnterDAO 提出了两款产品:LandWorks 和 MetaPortal。值得一提的是 LandWorks 与 Double Protocol 一样,选择了从 Decentraland 租赁开始入手。并且也有一个与 Double Protocol 相同的土地地块 P2 P 租赁市场。
同时 EIP-4400 也是目前笔者能找到的最早提出以权限拓展的方式实现租赁的提案,也是目前以太坊开发社区中讨论活跃度最高的。
疑惑三:提案讨论是否充分
对于 ERC-4907 协议完备性及其实现存在诸多考虑不周的问题,笔者也尝试在社区中寻找相关的讨论。但结果出乎意料,关于 ERC-4907 的讨论非常少,笔者也在这个过程中注意到另一问题:EIP-4907 提案从提出到审核通过进入 final 状态,仅仅用时三个月。
熟悉以太坊社区工作效率的朋友都知道,这个时间快得有些不符合常态。举几个例子,ERC-1155 从提出到进入 final 用了 12 个月,ERC-777 用了 18 个月,ERC-820 则花了 15 个月。
对此,笔者感到甚是疑惑。在提案通过前,社区中就有人对这一提案提出了包括关于 user 的命名是否足够清晰等等问题,但没有得到回复和响应。整个提案似乎是在一种没有充分讨论和验证的情况下进入 final 状态的,这多少显得有些匆忙了,不太符合对于以太坊提案需要社区反复讨论、battle、修改的一贯认知。
笔者认为,EIP 协议讨论沟通的过程是与社区建立广泛共识的过程。广义上来,协议总是建立在共识而非提案状态的基础上。而像 ERC-4907 这类如此仓促通过的提案能否建立起广泛共识还有待考察。
结语
NFT 租赁无疑是未来 NFT-DeFi 的重要组成部分。就协议而言,EnterDAO,AFKDAO,Double Protocol 都是这一领域的先行者。但就开发者层面而言,实现互操作性的前提是协议的一致性。如同 ERC-721 和 1155 这样高开发者共识的协议开启了 NFT 的大规模应用一般,笔者希望这三个项目的开发者可以达成某种程度的协同,完善出一个统一的、高可采用性的 NFT 租赁协议,而不是各自为战,让 NFT DeFi 又回到当前 GameFi 项目那样“一个项目一标准”的老路上。
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
Justin Sun suspected to have purchased $160m in Ethereum
Justin Sun suspected to have purchased $160m in Ethereum