两个稀有度工具、同一个集合,对哪一枚 token 更稀有给出完全相反的答案。两个工具都没坏。它们回答的是不同的问题,而分歧就落在这两个问题之间的空隙里。
特征表是从哪里来的
生成式集合会在若干个特征类目下各给每枚 token 分配一个取值:一个背景、一个头饰槽、一种眼睛样式。你日后见到的每一个稀有度数字都只从这张表算出来,别无其他来源,所以值得先问一句:这张表钉得有多牢。
比看上去松。ERC-721 Metadata JSON Schema 只定义了三个字段,name、description 和 image,特征列表不在其中。ERC-1155 提供了一个 properties 对象,规范里对它的描述只有一句:任意属性,取值可以是字符串、数字、对象或数组。两份标准都没有规定类目名,没有规定取值名,也没有规定一枚 token 有几个槽。
因此特征表的形状是在代币标准之外定下来的,由铸造这个集合的人和读取它的人共同决定。这就是两个稀有度工具会打架的第一个原因:它们数的可能根本不是同一批槽。
表放在哪里同样要紧。把一整张特征表写进合约存储,铸造时要付 Gas 费,所以集合也可以把这张表发布成一份文档,让智能合约只指向它。这个选择决定了日后谁有能力改这张表,而表被改过就意味着稀有度被改过。
特征稀有度:一次只看一个槽
特征稀有度是简单的那一半。对单个取值来说,它就是集合中带有该取值的份额。在一个 10,000 枚 token 的集合里,如果 Crown 头饰落在其中 1% 上,那么 Crown 的特征稀有度就是 1%。
有两处细节决定这个份额值不值钱。分母必须是整个集合,而不是当前挂单出售的那些 token,因为那一批会随着有人挂单、有人撤单而变。另外,空槽本身也是一个取值:一枚不戴头饰的 token,它的头饰取值是 None;如果你把这些 token 从计数里剔掉,该类目内的各份额就不再覆盖整个集合,这个类目里的每一个百分数都悄悄地错了。
特征稀有度把一个问题回答得很好,把另一个问题回答得很糟。它告诉你单个特征有多不寻常。它对整枚 token 只字未提,因为一枚 token 是一组特征的组合,而不是一个特征。
稀有度分数:把倒数加起来
从特征走到 token 的一条路,是给每个取值打分,再把分数相加。一个取值的分数是 1 除以它的份额,所以越稀有的取值分数越高:落在集合 50% 上的取值得 2 分,落在 1% 上的取值得 100 分。一枚 token 的稀有度分数就是它所带各取值分数之和,再按这个和给整个集合排序,得出名次。
倒数在这里做了一件很具体的事,值得点破。它把稀有变成大,而且这把尺子没有上限:份额减半,分数翻倍;再减半,再翻倍。因此单独一个极不寻常的取值,就能压过这枚 token 身上其余的一切。
当你希望排名奖励那些出挑的单品时,这个性质是优点;当你把算出来的数字读成一个概率时,它是陷阱。它不是概率。
统计稀有度:把份额相乘
另一条路问的是另一个问题:这一整套组合出现的可能性有多大?把各个类目当作独立抽取,答案就是各份额之积,而不是它们之和。
对一枚背景 20%、头饰 1%、眼睛 50% 的 token 来说,那就是 20% × 1% × 50% = 0.1%。平均而言一千枚里有一枚带着这套组合,在一个 10,000 枚的集合里就是十枚。
乘积的脾气与和相反。每多一个类目它就更小一分,而一个普通的取值会把它往下拽,不会放它一马,因为乘上一个大份额仍然是在乘一个小于一的数。一枚 token 身上的任何东西,都救不了它与半个集合共享的那个槽。
两个答案在哪里分道扬镳
从同一个 10,000 枚的集合里取两枚 token。
| Token | 背景 | 头饰 | 眼睛 |
|---|---|---|---|
| A | Blue,20% | Crown,1% | Plain,50% |
| B | Gold,5% | Cap,4% | Laser,5% |
按稀有度分数,token A 合计 5 + 100 + 2 = 107,token B 合计 20 + 25 + 20 = 65。token A 遥遥领先。
按统计稀有度,token A 那套组合是 20% × 1% × 50% = 0.1%,token B 那套组合是 5% × 4% × 5% = 0.01%。token B 那套组合要稀有 10 倍。
两笔账都算对了。token A 拥有这一对里最稀有的那个单项特征,而倒数让这一个特征比它总分里其余部分加起来还值钱。token B 一个出挑的特征都没有,却在每一个槽上同时不寻常,而乘积恰恰是奖励这一点的方法。
所以这两者并不是对同一个量的两个竞争性估计。一个按 token 最好的那个特征排序,另一个按它最不可能出现的那套组合排序。追问哪一个才对是问错了问题,有用的问题是你想问的到底是哪一个。
| 稀有度分数 | 统计稀有度 | |
|---|---|---|
| 它回答的问题 | 这枚 token 的各个特征有多不寻常,加起来 | 这一整套组合出现的可能性有多大 |
| 算法 | 1 除以每个份额,再求和 | 各份额相乘 |
| 什么在推动名次 | 单独一个极稀有的取值 | 每一个槽,包括普通的那些 |
| 底下的假设 | 各特征可以在同一把尺子上互相折算 | 各类目是独立抽取的 |
特征数量与空槽
一枚填满的槽更少的 token,与一枚填得更多的 token 是两类不同的东西,而这两种方法各自都处理不了。把缺失的取值记成 None,它的行为就与任何别的取值一样:在第一种方法下得分,在第二种方法下参与相乘。当 None 在某个类目里本身就稀有时,一枚 token 会因为什么都不戴而获益。
特征数量本身也可以被当成一个独立的类目,让填满的槽有几个这件事和背景、眼睛并列地拿到一个份额和一个分数。这是一个设计选择,不是一次修正。它多加了一个类目,而多加一个类目会改变这个集合里的每一个和与每一个积。在你比较两个稀有度数字之前,先确认两者是按同一份类目清单算出来的。
稀有度数字告诉不了你的事
名次是相对于一个集合、一种方法而言的,它搬不走。同一枚 token 并不在任何绝对意义上更稀有,把它换到另一份类目清单下,它的位置就被改写了。
统计稀有度背后的独立性假设是一个假设,不是关于任何具体集合的事实。如果铸造过程把类目绑在了一起,比如 Crown 只会出现在 Gold 背景之上,那么这一对的真实份额就不是两个份额之积,相乘算出来的数字会低估这类 token 实际有多少。有没有施加过这样的约束,是这个集合当初怎么生成的性质,而做好的特征表并不显示它。
稀有度也不是价格。把 NFT 与货币区分开的是同质性:每一枚都是一个独立的物件,而不是可互换的单位,所以没有任何单一的量能给它们排序。一个特征可以既稀缺又没人想要。稀缺是价格的一项输入,不是价格本身。
小结
特征稀有度衡量的是单个取值相对于整个集合的位置。稀有度分数把这些衡量结果的倒数加起来,于是一个格外突出的特征就能把一枚 token 顶到最上面。统计稀有度改为把份额相乘,问的是整套组合有多大可能出现,于是一个普通的槽就能把一枚 token 拖住。
两种方法本来就是要把同一批 token 排出不同的顺序,所以一个稀有度名次只有和产出它的方法与类目清单摆在一起时才有意义。比较任何东西之前先核对这两件事,并且把这个数字读成对一张特征表的描述,而不是对一枚 token 的判决。想继续打基础,请关注 Bitbase(币贝)学院的更多内容。
相关阅读
币贝上与本主题相关的其他文章:
风险披露:本文为 Bitbase(币贝)学院的科普内容,仅供教育与信息参考,不构成任何投资、交易、税务或财务建议。加密资产波动剧烈,请自行评估风险。本文撰写于 2026 年 9 月,请以官方最新信息为准。
参考资料
[1] Ethereum Improvement Proposals,ERC-721: Non-Fungible Token Standard,ERC-721 Metadata JSON Schema 一节 eips.ethereum.org
[2] Ethereum Improvement Proposals,ERC-1155: Multi Token Standard,Metadata JSON Schema 一节 eips.ethereum.org






