解读最新Final的ERC-6147:极简的半强制性NFT产权分离标准

就在2023.3.7日,由10KUniverse提出的以太坊改进提议EIP-6147已移至最终版本!

该标准是ERC-721的扩展,分离了NFT和SBT的持有权和转让权,并定义了一个新的可设置到期时间的"守卫者"角色Guard,可使得NFT防盗、借贷、租赁、SBT等更具灵活。

本文将系统讲述ERC-6147的实现机制,并对比往期NFT租赁协议专案ERC-4907、ERC-5055,来综合分析点评此协议以及适合的应用场景!

1、背景

NFT已经可谓是个老生常谈的话题了,借助链上的不可篡改特性以及合约本身的自动化运作,实现了链上资产的确权与管理,笔者也从标准协议,租赁拓展协议,乃至于NFT交易市场的几种主流模式来撰写过多篇文章长文。

今日夹击MEV机器人的恶意验证者已被Slash惩罚并踢出验证者队列:4月3日消息,Offchain Labs 开发者 terencechain 在社交媒体发文表示,链上数据显示,今日夹击 MEV 机器人的恶意验证者已经被 Slash 惩罚并踢出验证者队列。

此前报道,据推特用户 /img/20230515135430707086/1.jpg "/>

原事件分析可拓展阅读:EIP-5058能否防止NFT项目方提桶跑路?

整件事情里,唯一受损的则是质押了猴子的用户,本来是赚取微不足道的时间利差却痛失了ape的海量空投。

Elrond创始人:Maiar DEX已全面恢复,所有用户及资金是安全的:金色财经消息,Elrond创始人兼首席执行官Beniamin Mincu发推称,Maiar DEX已全面恢复完成,DEX和API均已重启上线,所有用户及资金是安全的,将继续在接下来数小时内谨慎监控。[2022/6/8 4:11:17]

同样的,产权耦合的还有SBT的问题

对于SBT,目前主流观点认为SBT是不可转让的,这使得SBT与以太地址绑定。但是,当用户地址的私钥泄露或丢失时,找回SBT将成为一项复杂的工作,并且没有相应的标准。SBT本质上实现了NFT持有权和转让权的分离。当SBT所在的钱包被盗或不可用时,SBT应该是可以恢复的。

例如,如果一所大学向其毕业生颁发基于文凭的SBT,如果大学后来发现毕业生有学术不端行为或损害大学声誉,它应该有能力收回此文凭的SBT。

1.2、产权分离分案,强制性维度难以把控

过往十四也解读过若干尝试产权分离的方案,例如ERC-4907和ERC-5058,不可避免的最大的难题在于强制性程度的衡量,这并不是方案本身的问题,而是方案本身的哲学理念问题。

Moonbeam和Moonriver通过紧急升级已解决白帽黑客披露的安全问题:6月1日消息,波卡生态智能合约平台Moonbeam Network宣布Moonbeam和Moonriver通过runtime1503和1504紧急升级,已解决由独立白帽黑客通过Immunefi漏洞赏金计划披露的安全问题。

Moonbeam团队于5月27日收到一份Immunefi错误报告,涉及Frontier(Moonbeam帮助创建的波卡生态系统内提供核心以太坊兼容性功能的Substrate pallet)中的潜在安全漏洞。runtime1503虽然消除了该漏洞,但它引入了一个意外错误,该错误在晚些时候使用runtime1504进行了修补。[2022/6/1 3:55:27]

1.2.1、简单哲学ERC-4907,定义愿景剩下交给共识

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

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

1个事件3个方法structUserInfo{addressuser;//用户地址uint64expires;//用户到期时间}归咎原理,其实4907只是新增了一个数据对象UserInfo?在所有权的概念之外增加“用户”的维度,但是毕竟其强制性有限,只要转移就能强行终止出租授权

详情可拓展阅读:

721租赁协议解读:以太坊新标准EIP-4907是怎样实现NFT租赁的?1155租赁协议解读:NFT租赁提案EIP-5006步入最后审核!

1.2.2、0信任哲学的ERC-5058,代码即法律

他本质上是对NFT的锁定状态进行管理,让项目方在继承5058实现的NFT项目中,提供锁定即转移的功能,也可以在继承中实现更多功能比如版税等

他封装提供了若干提供方法:只有用户许可以及项目方执行之后才会完全锁定

用户可调用

lockApprovesetLockApprovalForAll项目方合约调用:

lockFromunlockFrom锁定期的定义也极具强制性,近乎只依据设定之初的时间点

项目方锁定NFT时,需要指定锁定过期的区块高度,该高度必须大于当前区块高度。锁到期后,NFT自动释放,才可以进行转移。

项目目前还是处于草稿阶段,或许强制性过高以及用户项目方双向操作的较高成本所致

详情可拓展阅读:EIP-5058能否防止NFT项目方提桶跑路?

讲述完上述完全不强制4907,以及完全强制的5058,便到了本文主题:最新通过以太坊基金会审查,确定为Final的ERC-6147,虽然他原生的标题是:《GuardofNFT/SBT,anExtensionofERC-721》,但十四君从系列的租赁研究经验来看,他更应该称是《半强制的NFT产权分离标准》

2、ERC-6147的运作机制

此协议整体代码也非常精简且高度复用,属于对ERC721的拓展标准,但是要注意,如果使用了他,则转移的操作可能与常规的721的逻辑不同,操作不当可能容易被钓鱼,具体如何咱们展开说说。

建议拓展阅读:你买的NFT到底是什么?

2.1、Guard是什么?谁能控制?

首先ERC-6147定义了一个名为Guard的角色,和4907的UserInfo很相似,

structGuardInfo{addressguard;//守卫者地址,uint64expires;//到期时间,}而Guard只有该NFT的当前所有者地址以及有代扣权限的地址,可以通过changeGuard设置,

通过源码可以看到,在设置Guard的时候若干的细节//防止误锁定,所以Guard不能设置为0地址

require(newGuard!=address(0),"ERC6147:newguardcannotbenull");

//只有Guard可以修改自己require(guard==_msgSender(),"ERC6147:onlyguardcanchangeitself");

//只有nft的所有者或者获得授权者可以设置Guardrequire(_isApprovedOrOwner(_msgSender(),?tokenId),?"ERC6147:?caller?is?not?owner?nor?approved");

设置成功后,任何人都可以通过guardInfo方法来查询某个NFTID,当前的Guard信息,同时这里也沿用了和4907一样的基于时间戳的设计,所以是到期无需二次上链交易,就可以自动失效。

那Guard的身份,谁可以去除掉呢?只有Guard自己以及时间可以。

2.2、Guard能做什么?

首先具有了强制转移权,对于设置了Guard的NFT而言,在进行transferFrom的时候,会查询交易发起方是否是守卫地址,是才能转移。

?

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

银河链

狗狗币USDC会进入死亡螺旋吗?

1天时间,SVB的涟漪效应就来到了加密市场。今晨,因SVB中有部分存款,USDC稳定币发行商Circle突然面临严重挤兑,USDC出现持续性脱锚。同时,Binance、Coinbase等中心化交易平台均宣布关闭USDC的部分兑换服务.

SANDAIGC爆火出圈后,第一条AIGC公链诞生

最近,一条名为AIGC?Chain的公链吸引了笔者的注意力,这个“AIGC领域第一条公链”究竟是什么来头?故事用从现在爆火的AIGC赛道说起。在朋友圈,你能看到各路创业者晒图,内容均与一款火爆产品有关:聊天机器人ChatGPT.

莱特币最新价格Circle:USDC和硅谷银行的最新情况

这是一个美国华盛顿特区经济不确定性增加的时期。我们仍然致力于明确和透明的沟通。 TL;DR 虽然USDC可以24/7/365全天候使用,但发行和赎回受到美国银行系统工作时间的限制。USDC流动性操作将在美国银行周一上午开门时恢复正常.

[0:15ms0-1:838ms