把“租借”写进 NFT:ERC-5585 用户授权接口的权利清单
一枚 NFT 在绝大多数合约里只有一个主人:ownerOf 的答案就是一切。可现实需求经常超出“所有或全无”——作品持有人想把展示权授权给画廊一年,把二创权给另一个创作者,同时自己保留所有权。ERC-5585 就是给这种“权利拆开卖”设计的接口:所有权不动,用户权利单列一份账本。2026 年 9 月 9 日在 ethereum/ERCs 仓库核对,该标准标注为 Final,2022 年 8 月 15 日创建,依赖 ERC-721。
权利是先声明、再授予的字符串数组
接口的起点是 getRights():项目合约必须先声明这个项目可授权的权利清单——复制、展示、分发、出租、商用、修改、重制、再许可等,都是标准文本列举的例子。授权动作由 authorizeUser 完成,有两个重载:不带权利参数的版本把该 NFT 的全部权利在指定时长内授给用户;带 rights 字符串数组的版本只授权清单内的子集,数组里出现项目未定义的权利会直接抛异常。每次授权发出 authorizeUser 事件,把代币、用户、权利数组和到期时间一起记入日志——这份事件流水就是权利变动的审计线索。
用户的权限是被严格框定的:getUserRights 和 getExpires 让任何人可查“这位用户此刻持有哪些权利、几时到期”;用户唯一能主动做的动作是 transferUserRights,把手中的权利整体转交新用户——转的是权利,不是所有权,ownerOf 不会因此改变。持有人一侧则有 extendDuration 续期、updateUserRights 改权利范围。

两个只归合约所有者的开关
ERC-5585 把两处运营参数留给了合约所有者(onlyOwner)。updateUserLimit 设定每枚 NFT 可同时授权的用户数量;updateResetAllowed 是一个布尔开关,决定 resetUser 是否可用——开关为真时,持有人可以撤销某用户的授权;为假时调用即抛异常,授权期间内无法反悔。标准把“授权可否中途收回”做成项目方预设的规则而非持有人临场选项,这是一个值得注意的取舍:作为被授权方,签约前读一下这个开关的当前值,比听客服承诺更可靠。
权利账本不等于法律合同
与租赁类接口的分工
同为“不动所有权、分离使用权”的思路,ERC-4907 一类租赁接口与 ERC-5585 的形态差异值得对照。租赁接口的叙事核心是“一位承租人加一个到期时间”,语义贴近现实中的租借;ERC-5585 的 UserRecord 则把权利做成字符串数组,同一枚 NFT 可同时授权多位用户(数量上限由 updateUserLimit 控制),每位用户手里的权利集合还能各不相同。选型时的直觉问题可以简化为:你要的是“把东西租出去”,还是“把一组可以拼配的使用许可批发出去”。两种模型共享同一个天花板:链上的权利标签不改变版权法意义上的授权文本,被授权方拿“链上写了 display”去抗辩实际展示纠纷,说服力有限。持有人侧同样有一条实务建议:每次 authorizeUser 之前先用 checkAuthorizationAvailability 确认名额,授权之后定期复查 getExpires,发现异常改写立刻顺着事件日志核对 userLimit 是否被运营方动过手脚。最后补一个生态坐标:权利字符串本身是可扩展的命名约定,项目自定义的键名若脱离常见词表,跨平台展示端就只能原样显示英文单词而不知其意,因此采用方通常会同时在合约文档里贴一份 rights 词典,读者见到生僻权利名时应当先去那份词典查定义,而不是望文生义。
必须冷静的一点:getRights 返回的只是字符串。链上写“display”“commercial”,并不能替代一份版权许可协议对“展示到哪里、商用范围多大、违约怎么办”的定义。标准文本也把它定位为商业化授权的工具而非法律层机制,权利清单的语义仍靠项目在条款文本里兑现。给三方的核对路径:持有人授权前查 checkAuthorizationAvailability 确认这枚 NFT 还有授权名额;被授权方定期调 getExpires 盯紧到期时间;争议时以 authorizeUser 与 updateUserLimit 事件的时间线为事实基础。本文为协议机制科普,不构成任何投资建议,也不构成版权法律意见;标准内容以 ethereum/ERCs 仓库文本为准(核验时间 2026 年 9 月 9 日)。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。