内容概要
在这周,NFT?租赁市场DoubleProtocol提交的可租赁NFT标准“EIP-4907”通过了以太坊开发团队的最终审核,成为第30个ERC标准“Final”的状态。
让我们一起来阅读这极简的源代码,来缕清其他是如何实现NFT租赁的?
为什么需要租赁?
NFT的爆发毋庸置疑,而伴随普及引发了对其资产实用性的需求,尤其是在元宇宙和边玩边赚(P2E)的场景下,仅仅单纯的资产所有权并不足以支撑更多的应用玩法的诞生。
一直的痛点是供给不平衡,导致的好项目少,浮于金融玩法的韭菜项目多,既然如今web3有大量web2行业精英在涌入,也必然需要快速的新标准推出,来将创造力的供给释放。
稳定币聚合协议mStable预计将收到至少4个收购要约:金色财经报道,稳定币聚合协议 mStable 匿名战略负责人 0xloth 表示,因产品收入下降和主要贡献者(包括联合创始人)退出,该平台正在寻求收购或者合并,预计至少有四个 DeFi 项目将在周五结束前提交对 mStable 的收购提案。截至发稿时,链上资产管理服务 dHEDGE 已在 mStable 论坛上提交了第一笔报价。mStable 的治理代币 MTA 的持有者最终将投票决定接受哪个提案。买家将获得 mStable 的加密资产、团队和技术,包括其基于智能合约的保险库,用于为存款人的稳定币产生收益。
MStable 是一种用于在以太坊和 Polygon 区块链上交换和借出稳定币的协议。根据DeFiLlama 的数据,截至发稿时,其收益生成服务持有超过 1100 万美元的加密货币。[2023/3/11 12:55:33]
NFT流动性的紧缺,使得他风风火火的同时也备受诟病,他之前产权一体化的金融化操作,市场各类安全问题欺诈、剽窃、钓鱼、跑路、资产被盗层出不穷。
白宫发布政府降低加密货币风险的路线图:金色财经报道,美国白宫周五发布了关于政府降低加密货币风险的路线图。文章表示,政府的重点是继续确保加密货币不会破坏金融稳定、保护投资者并追究不良行为者的责任。政府全心全意支持负责任的技术创新,使金融服务更便宜、更快、更安全、更容易获得。然而,要实现这些好处,新技术需要相应的保障措施。保障措施将确保新技术对所有人都是安全和有益的——并且新的数字经济适用于许多人,而不仅仅是少数人。为了实施正确的保障措施,美国政府将继续推动开发数字资产框架,同时与国会合作实现这些目标。
白宫表示,执法机构正在投入更多资源来打击涉及数字资产的非法活动。在接下来的几个月里,政府将公布数字资产研发的优先事项,这将有助于支持加密货币的技术在默认情况下保护消费者。[2023/1/28 11:32:47]
而Eip-4907,想要解决的就是分离NFT的资产价值和使用价值,释放出NFT的市场流动性
调查显示,FOMC的鹰派成员布拉德和沃勒更值得关注:12月12日消息,美联储主席鲍威尔和他的两名副手受到华尔街的关注,但主要鹰派人士提供的指引几乎同样重要。机构对经济学家的调查得出了这一结论,他们认为鲍威尔和威廉姆斯是最值得倾听的声音,其次是副主席布雷纳德。但布拉德和布雷纳德并列,长期担任美联储研究主管的沃勒也被认为是一个重要信号。两人一直在呼吁采取更积极的措施抗击接近40年高点的通胀。
Pictet Wealth Management美国高级经济学家Thomas Costerg表示,尽管布拉德不会投票,但我怀疑市场明年将继续密切倾听他的意见。瑞士再保险驻纽约高级经济学家Mahir Rasheed表示,在当前环境下,FOMC的鹰派成员布拉德、沃勒和梅斯特更值得关注,因为委员会发出了过度收紧优于收紧不足的信号。[2022/12/12 21:38:12]
源码解读
Slope:发现漏洞后已删除服务器端日志记录,1444个被盗钱包或可追溯到该漏洞:8月4日消息,Solana生态钱包Slope表示,在发现中心化Sentry服务器引发的漏洞后已删除服务器端日志记录。目前,受影响的9223个钱包中有1444个(15%)可能被追溯到此漏洞。Slope正在与审计合作伙伴和Solana基金会合作,以发现任何潜在的额外攻击媒介,并且已通知相关执法机构,以便对攻击者进行刑事调查。
区块链安全机构OtterSec此前在社交媒体上发文表示,在过去两天内,超过400万美元资产从Solana钱包中被盗,已经确认Slope移动应用通过TLS将助记符发送到其中心化Sentry服务器,然后这些助记符以明文形式存储,这意味着任何有权访问Sentry的人都可以访问用户私钥。在本次攻击中这些地址中的约1400个地址存在于Sentry中,不过这并非所有被盗地址。我们仍在调查可能的其他媒介。另外,在Sentry实例中发现了超5300个未包含在此次漏洞攻击的私钥,其中2358个地址中有Token,建议Slope用户尽快转移资金。[2022/8/4 12:01:44]
由于Eip4907极其简单,因此对代码的解读无论是否技术同学均可来尝试理解其细节设计。
2.1、实现原理:
他作为ERC-721的扩展,?EIP-4907增加了一个变量UserInfo,让应用可以查询此NFT当前被租出去的目标地址“user”和出租时间”expires"。如果发现已经超出出租时间,则租赁关系宣告失效。
代码极为简单仅有72行,使用这个标准,就是在原来的ERC721之上新增
1个事件
3个方法
分别是
UpdateUser事件:当NFT转移,租赁校色设置时,发出租赁用户改变的通知
setUser方法:NFT所有者授权者可用,设置此NFTID的出租用户和过期时间
userOf方法:任何人可用,查询此NFTID的出租用户
userExpires方法:任何人可用,查询此NFTID的过期时间
2.1、数据结构:
理解ERC标准协议的最佳方式就是理解他管理数据的最底层数据结构
例如:前文你买的NFT到底是什么?
其实NFT只是通过2个映射,即一种字典形式的key-value对应关系的存储结构去记录数据
而Eip-4907则是新增了一个数据对象UserInfo在所有权的概念之外增加“用户”的维度
数据结构简单,就意味着管理的方法实现也非常简单
2.2、设置用户setUser方法
设置用户仅有3个步骤
此交易的发起者其是否持有此NFTid或是有Approved自动扣款权利
设置UserInfo中用户的用户地址和到期时间
发出设置成功的UpdateUser事件
2.3、查询NFTid的用户信息
媒体处处宣传的超时自动失效,而无需二次链上交易登记失效节约gas的逻辑就在这了。
查询的逻辑很简单,按指定的NFTID查询_users的user信息即可,但他增加了,if判断,当前块的时间block.timestamp是否会超过设置的过期时间expires,所以此查询仅在时间内有效。
2.3、查询NFTid的用户过期时间信息
此处无需类似user查询时候判断是否过期,因为得知上一次过期时间,也是加快NFT用户使用率的一种方式。
2.4、租赁关系的强制性设计
此eip4907的协议,对标准交易方法Transfer增加了一部分内容,通过_beforeTokenTransfer实现,就是强制在进行Transfer交易转移后就删除掉这部分对用户的信息,并且发出事件通知已经用户失效了。
总结
没想到吧,这么快就代码讲完了,因为确实他写完了,对的,不像是之前的通过限制转移权的方法EIP-5058,见前文
其实他EIP-4907只是多了个变量,并称之为租赁用户而已,可以声明,但是其他应用认不认就是另一码事了,毕竟其强制性有限,转移就能强行终止出租授权
当然你或许会问,为什么这么简单反而火速成为了难得一见,且每次都能掀起一番波浪的Final标准呢?
这也就是web3的哲学:越简单,越优雅,剩下的交给共识。
我个人认可这样的哲学与趋势
web3过去爆发或是得益于金融操作,但是好的生态不能只是金融价值,还需要更有商业价值,需要更广大的用户融入于生活生产形成价值闭环,货币终究只是手段而不是目的本身
引用:
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4907.md
前文回顾
OpenSea免费创造的NFT都没上链竟能出现在我的钱包里?
你买的NFT到底是什么?
EIP-5058能否防止NFT项目方提桶跑路?
当我们在看Etherscan的时候,到底在看什么?
当奈飞的NFT忘记了web2的业务安全
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。