一个合约两种账本:ERC-7651 分数化 NFT 的双面记账 图 1
一个合约两种账本:ERC-7651 分数化 NFT 的双面记账 · 图 1

一个合约两种账本:ERC-7651 分数化 NFT 的双面记账

把天价 NFT 拆成一千份卖,过去的标准做法是“封装”:铸一个 ERC-20,每枚币声称对应整件藏品的千分之一,想合成时再走一次赎回交易。ERC-7651 换了一个思路:碎片形态和整枚形态干脆放进同一个合约、同一本账,用余额的小数位自动判断你手里是“一整个”还是“一堆零头”。2026 年 9 月 9 日在 ethereum/ERCs 仓库核对,该标准状态为 Draft,2024 年 3 月 5 日创建,同时借鉴 ERC-20 与 ERC-721 的函数设计,但规范文本明确写着:对两者都不完全兼容。

decimals:一条分界线

标准声明总供给按分数形态记账:totalSupply 除以十的 decimals 次方就是理论整枚总数,totalNonFungibleSupply 给当前在外的整枚数,decimals 决定小数位、也决定余额什么时候算“凑满一整份”。合约还维护一个 bank:被完全碎片化而暂时无主的代币编号进入“已铸造但未持有”清单,getBankedNFTsLength 报数量、getBankedNFTs 分页列清单,等碎片再凑齐时从中取出复用。某地址余额换算后带出的小数部分是可自由拆分的零头,整数部分则对应可直接 transferFrom 搬动的整枚。这套记账的关键约束是双套事件:动碎片账本必须发 FractionalTransferFractionalApproval,动整枚账本必须发 NonFungibleTransferNonFungibleApproval,另有 ApprovalForAll 管整枚层面的操作员。索引器和交易所就是靠事件类型区分“你在转零头”还是“你在转整件”,只接一半事件的对接方必然算错账。

一个合约两种账本:ERC-7651 分数化 NFT 的双面记账 图 2
一个合约两种账本:ERC-7651 分数化 NFT 的双面记账 · 图 2

它和封装派差在哪

与“ERC-20 封装 NFT”路线相比,ERC-7651 的差别在两点:一是没有显式转换步骤,凑够整数的瞬间碎片即成为 NFT 形态,拆零同理,不需要一次专门的封装或赎回交易;二是整件资产自始至终在合约里,不存在“币与藏品分处两合约、靠赎回接口牵线”的信任链。代价则是兼容性:既不是 ERC-20 也不是 ERC-721,行情工具、钱包、托管系统都要专门适配;两套事件也意味着两套授权语义,approve 与 approveShare 层面的历史问题(比如授权额度、清算优先级)在这个模型里会更复杂,需要读具体实现而不是套经验。

持有人视角的四问

第一问:流动性来自哪里。碎片可以在交易所按 ERC-20 风格挂单,但碎片价与整件价之间没有强制套利通道——凑齐碎片的成本、拆零的手续费都会让两个价格脱节,“碎片价乘以一千”从来不是整件的保证价。第二问:谁握着整合权。整枚 NFT 的持有与碎片池的关系由合约代码定义,合约权限(谁能铸造、暂停、改参数)比封装派更集中,务必读源码。第三问:交易对账看事件——确认自己的每笔操作发的是哪套事件,FractionalTransferNonFungibleTransfer 混用的对接事故在早期整合协议里并不罕见。第四问:退出路径——当项目停摆,碎片如何换回整件的处置顺序是什么,这类条款标准没有回答。

风险提示

与两种邻居的口径差异

再对照一次三条路线的账本口径:封装派里碎片币地址、NFT 合约地址两个世界靠赎回桥接;ERC-404 式自动派用一条 Transfer 事件流同时驱动币与 NFT 状态,索引器稍有延迟就短暂“对不上账”;ERC-7651 把两套账关进同一合约,靠事件分型消歧,是三案里状态一致性最强的,但对钱包与行情面板的适配要求也最重。选型者顺手记住风险提示:双套授权意味着攻击面翻倍,历史教训反复出现——针对“份额余额被错误授权”“凑整瞬间被抢跑铸币”的利用,都源于对这套双轨制的误读。

分数化结构让“人人买得起”变得容易,也让“跌了谁先跑”变得更残酷:碎片市场深度再差也能一直卖,整件集合的地板却可能长时间零成交,两种流动性体验会放大恐慌。本文为协议机制科普,不构成任何投资建议,不构成对任何资产价格的判断;标准状态以 ethereum/ERCs 仓库文本为准(核验时间 2026 年 9 月 9 日)。