NFT:源码解读:以太坊新标准EIP-4907是如何实现NFT租赁的?

在这周,NFT?租赁市场 Double Protocol 提交的可租赁 NFT 标准“EIP-4907”通过了以太坊开发团队的最终审核,成为第 30 个 ERC 标准“Final”的状态。

让我们一起来阅读这极简的源代码,来缕清其他是如何实现NFT租赁的?

NFT 的爆发毋庸置疑,而伴随普及引发了对其资产实用性的需求,尤其是在元宇宙和边玩边赚 (P2E) 的场景下,仅仅单纯的资产所有权并不足以支撑更多的应用玩法的诞生。

一直的痛点是供给不平衡,导致的好项目少,浮于金融玩法的韭菜项目多,既然如今web3有大量web2行业精英在涌入,也必然需要快速的新标准推出,来将创造力的供给释放。

NFT流动性的紧缺,使得他风风火火的同时也备受诟病,他之前产权一体化的金融化操作,市场各类安全问题欺诈、剽窃、钓鱼、跑路、资产被盗层出不穷。

安全公司:超过280个区块链面临“零日”漏洞的风险,至少价值250亿美元:3月14日消息,据网络安全公司Halborn表示,估计有280个或更多区块链网络面临“零日”漏洞利用的风险,这些漏洞可能会使至少价值250亿美元的加密货币面临风险。

Halborn概述了三个漏洞,其中“最关键”的漏洞允许攻击者“向各个节点发送精心设计的恶意共识消息,导致每个节点关闭”。它随着时间的推移添加了这些消息,可能会使区块链暴露于51%的攻击中,攻击者控制网络的大部分挖矿哈希率或质押代币以制作新版本的区块链或使其离线。其他“零日漏洞”将允许潜在的攻击者通过发送远程过程调用 (RPC) 请求来破坏区块链节点。[2023/3/14 13:03:06]

而Eip-4907,想要解决的就是分离NFT的资产价值和使用价值,释放出NFT的市场流动性

Aave创始人:稳定币采用可能会推动DeFi增长:2月6日消息,Aave创始人Stani Kulechov在StarkWare会议上强调了DeFi领域的几个问题。在题为“DeFi:面对全球不确定性的弹性”的炉边谈话中,Kulechov谈到了与传统金融(TradFi)相比DeFi的风险,以及稳定币如何导致更多DeFi采用等主题。

Kulechov表示,与TradFi产品相比,DeFi量化风险的准确性更好,这可能会推动该领域的进一步采用。他解释说,这意味着在DeFi中操作实际上会比TradFi更便宜,因为风险更容易识别。Kulechov指出,稳定币和支付可以发挥重要作用。根据他的说法,建立纳入稳定币的“支付层”,可以潜在地吸引普通人进入这个领域,最终将他们引入DeFi。(Cointelegraph)[2023/2/6 11:50:28]

由于Eip4907极其简单,因此对代码的解读无论是否技术同学均可来尝试理解其细节设计。

Silvergate遭集体诉讼,投资者或可进行索赔:12月28日消息,证券律师事务所Faruqi & Faruqi, LLP正在调查Silvergate Capital Corporation,并将发起集体诉讼。

该律所提醒投资者,若投资Silvergate股票或期权遭受超10万美元损失,可与之取得联系。[2022/12/28 22:11:18]

他作为 ERC-721 的扩展,?EIP-4907 增加了一个变量UserInfo,让应用可以查询此NFT当前被租出去的目标地址“user”和出租时间”expires"。如果发现已经超出出租时间,则租赁关系宣告失效。

代码极为简单仅有72行,使用这个标准,就是在原来的ERC721之上新增

1个事件(用于通知链下应用称为事件)

Aave公司从DAO基金中寻求1600万美元来支付加密货币开发人员:金色财经报道,Aave Companies 是一家监督加密借贷协议 Aave 的开发实验室,它正在向 Aave 社区寻求超过 1600 万美元的资金来支付平台上的开发工作。Aave公司在提交给Aave治理论坛的提案中称,我们建议Aave DAO向Aave公司返还总计1628万美元的追溯资金,用于开发Aave协议V3。虽然该提案计划在周四美国凌晨之前结束,但它已经达到了法定人数,近100%的选票支持该资金。治理论坛上的社区讨论普遍积极并支持该提案。

提案指出,Aave 协议的贡献者包括开发公司 BGD Labs、Certora、SigmaPrime、Llama、Gauntlet 和 Aave 公司。[2022/9/8 13:17:02]

3个方法(用于实现链上数据管理功能)

分别是

UpdateUser 事件:当NFT转移,租赁校色设置时,发出租赁用户改变的通知

setUser 方法:NFT所有者授权者可用,设置此NFTID的出租用户和过期时间

userOf 方法:任何人可用,查询此NFTID的出租用户

userExpires 方法:任何人可用,查询此NFTID的过期时间

理解ERC标准协议的最佳方式就是理解他管理数据的最底层数据结构

例如:前文【源码解读】你买的NFT到底是什么?

其实NFT只是通过2个映射(_owners,_balances),即一种字典形式的key-value对应关系的存储结构去记录数据

而Eip-4907则是新增了一个数据对象UserInfo在所有权的概念之外增加“用户”的维度

数据结构简单,就意味着管理的方法实现也非常简单

设置用户仅有3个步骤

【审计】此交易的发起者其是否持有此NFTid或是有Approved自动扣款权利

【设置】设置UserInfo中用户的用户地址和到期时间

【通知】发出设置成功的UpdateUser事件

媒体处处宣传的超时自动失效,而无需二次链上交易登记失效节约gas的逻辑就在这了。

查询的逻辑很简单,按指定的NFTID查询_users的user信息即可,但他增加了,if判断,当前块的时间block.timestamp是否会超过设置的过期时间expires,所以此查询仅在时间内有效。

此处无需类似user查询时候判断是否过期,因为得知上一次过期时间,也是加快NFT用户使用率的一种方式。

此eip4907的协议,对标准交易方法Transfer增加了一部分内容,通过_beforeTokenTransfer实现,就是强制在进行Transfer交易转移后就删除掉这部分对用户的信息,并且发出事件通知已经用户失效了。

没想到吧,这么快就代码讲完了,因为确实他写完了,对的,不像是之前的通过限制转移权的方法EIP-5058,见前文【EIP-5058 能否防止NFT项目方提桶跑路?】

其实他EIP-4907只是多了个变量,并称之为租赁用户而已,可以声明,但是其他应用认不认就是另一码事了,毕竟其强制性有限,转移就能强行终止出租授权

当然你或许会问,为什么这么简单反而火速成为了难得一见,且每次都能掀起一番波浪的Final标准呢?

这也就是web3的哲学:越简单,越优雅,剩下的交给共识。

我个人认可这样的哲学与趋势

web3过去爆发或是得益于金融操作,但是好的生态不能只是金融价值,还需要更有商业价值,需要更广大的用户融入于生活生产形成价值闭环,货币终究只是手段而不是目的本身。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:0ms0-0:921ms