兩個稀有度工具、同一個集合,對哪一枚 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






