ERC-6147引入守卫者角色 为NFT应用带来新可能

ERC-6147:半强制性NFT产权分离标准的最新进展

以太坊改进提议ERC-6147于2023年3月7日正式进入最终版本阶段。这项标准是对ERC-721的扩展,主要实现了NFT和SBT的持有权与转让权的分离,并引入了一个新的"守卫者"(Guard)角色。Guard可以设置到期时间,为NFT的防盗、借贷、租赁以及SBT等应用场景提供了更大的灵活性。

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

背景

NFT领域最大的挑战之一是流动性不足。这个问题不仅源于NFT协议本身,更重要的是如何赋予NFT实际使用价值,使其不仅依赖于市场炒作。当前NFT协议中存在的产权耦合问题,导致高价值NFT倾向于安全避险,影响了其使用价值。

例如,NFT被盗案例频发,而现有的防盗方案(如转入冷钱包)又会影响NFT的使用便利性。在NFT借贷中,所有者需要将NFT转移到借贷合约,暂时失去NFT的使用权。这与现实中的房产抵押贷款不同,后者在非风险情况下不会影响业主的使用权。

SBT(灵魂绑定代币)也面临类似问题。当用户地址的私钥泄露或丢失时,找回SBT将变得复杂。此外,在某些情况下(如学术不端),颁发机构可能需要收回SBT,但缺乏相应的标准。

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

ERC-6147的运作机制

ERC-6147引入了"守卫者"(Guard)的概念,类似于ERC-4907中的UserInfo:

solidity struct GuardInfo { address guard; // 守卫者地址 uint64 expires; // 到期时间 }

只有NFT的当前所有者或具有授权的地址可以设置Guard。Guard的设置有几个关键点:

  1. Guard不能设为零地址,以防误锁定。
  2. 只有Guard可以修改自身。
  3. 只有NFT所有者或授权者可以设置Guard。

Guard设置成功后,任何人都可以通过guardInfo方法查询某个NFT ID的当前Guard信息。Guard的移除只能由Guard自身或到期时间自动完成。

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

Guard的主要功能包括:

  1. 强制转移权:设置了Guard的NFT只能由Guard地址发起转移。
  2. 持有权与使用权分离:原持有者仅保留持有权,失去转移权。
  3. 二次转移:Guard可以通过changeGuard方法转移守卫权。

值得注意的是,如果Guard直接使用transferFrom或safeTransferFrom方法转移NFT,Guard设置不会自动清除。建议使用transferAndRemove方法,该方法会在转移后清除Guard信息。

Guard不能设置代扣授权,这是为了防止Guard归还转移权后,通过approve方式转移NFT的情况发生。

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

ERC-6147与ERC-4907的比较

相比ERC-4907,ERC-6147在兼容性方面有所优化:

  1. ERC-4907的租赁功能需要项目主动支持user角色,而ERC-6147只需认可owner即可。
  2. ERC-6147适用于大多数仅认可owner的应用协议,这使得它更容易被广泛采用。

此外,ERC-6147还提出了"可管理的SBT"和"有效的SBT"概念,在保持SBT"不可转移"特性的同时,考虑了更多实际管理场景,如社交恢复、SBT收回等。

总的来说,ERC-6147为NFT和SBT的应用提供了更灵活的解决方案,有望推动这一领域的进一步发展。

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

ETH-4.73%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 4
  • 分享
评论
0/400
Pump分析师vip
· 14小时前
又一坨分离玩法 牛皮吹爆了 但韭菜永远死在后知后觉
回复0
代码零基础vip
· 14小时前
这波分离搞的挺秀
回复0
YieldChaservip
· 14小时前
反正抢跑不了 现在就慢慢看守护者机制吧
回复0
NFT黑洞钱包vip
· 14小时前
产权分离这块还挺香
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)