垃圾 NFT 及其解決方法
作者 Alchemy
本文說明什麼是 spam NFT、為什麼它們對 NFT dapp 開發者和使用者是個問題,以及如何使用 Alchemy 的 NFT API 端點 來過濾 spam NFT。
什麼是 spam NFT?
Spam NFT 是指未經請求就被傳送或空投到你的錢包地址、你既沒有購買也不想要的 Non-fungible token(NFT)。
由於任何人都可以在公開區塊鏈上向錢包地址傳送和接收代幣,因此偶爾會有不想要的 NFT 出現在你的錢包中。
Spam NFT 和空投 NFT 有什麼差別?
Spam NFT 指的是空投 NFT 中使用者不想要的那一部分。
空投到你錢包的免費 NFT 不一定被視為 spam。舉例來說,為了給收藏者提供額外價值,有些生成式 NFT 系列會製作 NFT 並空投給收藏者。雖然這些 NFT 通常轉售價值不高,但保留在自己的收藏中仍然頗有樂趣,因為這代表了你在該社群中的參與。
為什麼有人會傳送 spam NFT?
有人傳送未經請求的 spam NFT 有多種原因,包括:
- 為了吸引知名 NFT 收藏者的注意
- 為了讓錢包擁有者難堪或困擾
- 為了嘗試釣魚攻擊,從錢包擁有者手中竊取代幣
- 為了行銷新的 NFT 專案
隨著 NFT 市場的成長,spam NFT 已成為日益嚴重的問題。
為什麼 spam NFT 是個問題?
spam NFT 之所以有問題,最主要的兩個原因是:它們經常被駭客利用,而且會為 NFT 收藏者帶來不佳的使用體驗。
1. 詐騙者
詐騙者可以利用 spam NFT 誘騙人們分享私鑰、簽署訊息,或確認一筆將資金轉入駭客帳戶的交易。
詐騙者可能會將 NFT 空投到錢包中,希望擁有者會點擊釣魚連結、進入詐騙網站。接著詐騙者可能會誘導毫無防備的錢包持有人登入其 Ethereum 錢包以核准這筆交易,藉此「領取」他們的免費 NFT。
一旦錢包簽署了交易,詐騙者就能將該錢包中的資金和 NFT 全部轉走。
有些這類網站會使用 eth_sign,這是一種不安全的方法,允許簽署像「傳送你的以太幣」這樣的任意訊息,可能因此將帳戶和資產的控制權拱手讓人。
雖然這些詐騙網站有時做得非常逼真,但它們通常都有一些警訊,例如使用奇怪的措辭,或做出好到不像真的的承諾。
保護錢包最好的方式,就是絕不與不明的智能合約互動。如果發現錢包裡有 spam NFT,最安全的做法是忽略它們,或將其傳送到燒毀地址(burn address)。
2. 不佳的使用體驗
由於 NFT 與藝術、實用性和創作者息息相關,展示一個收藏系列是值得驕傲的事,而在同一個錢包中同時存放 spam NFT 和你最珍貴的 NFT,會造成不佳的使用體驗。
對於開發 NFT 分析工具、圖庫或市場的開發者來說,spam NFT 也是個問題,因為它可能導致資料不正確,並讓不知情的使用者誤以為某個專案比實際上更受歡迎。
為了確保 NFT 持有者和收藏者擁有最佳的使用體驗,平台需要使用具備強大 spam 過濾功能和自訂設定的 NFT API。
Alchemy 的 NFT API 如何協助處理 spam NFT?
Alchemy 的 NFT API 可以透過 getNFTs 的 spam 過濾器、isSpamForContract 以及 getSpamContracts 端點來過濾 spam NFT。
使用 Alchemy API 的 NFT 開發者可以在 getNFTsForOwner(又稱 getNFTs)API 端點上加入過濾器,排除被歸類為 spam 的 NFT。
isSpamForContract NFT API 端點會檢查某個特定合約是否被歸類為 spam。你可以針對合約地址進行過濾,這也表示你可以查詢某個特定 NFT 的擁有者,並檢查該 NFT 是否為他們唯一持有的一個。
getSpamContracts NFT API 端點會回傳所選鏈上所有被歸類為 spam 的 ERC 721 和 ERC 1155 合約清單。
截至 2023 年 8 月,Alchemy NFT API 已標記超過 600,000 個智能合約地址為 spam。
如何用 Alchemy 的 NFT API 過濾 spam NFT
有多種方式可以利用我們的 spam 偵測功能來改善你的應用程式使用體驗。
最常見的做法是在 getNFTsForOwner(又稱 getNFTs)端點上啟用 SPAM 排除過濾器,以只取得錢包中的合法 NFT。
isSpamContract 可用來判斷某個特定代幣是否屬於 spam 合約。
getSpamContracts 提供更多彈性,讓你可以儲存 spam 合約清單,並針對這些合約採取你偏好的任何處理方式!
Spam NFT 是如何被分類的?
Spam 分類的判斷標準範圍很廣,包括但不限於發出假事件、複製其他知名 NFT、謊報其總供應量等等。
我們在判斷 spam 時所詢問的主要問題包括:
- 如果該合約是 ERC721 或 1155,它是否違反了所實作的 ERC 標準?如果是,違反的程度有多嚴重?
- 該合約是否以向知名的蜜罐錢包(honeypot wallet,例如 vitalik.eth)鑄造大量代幣而聞名?
- 該合約是否嚴重謊報其總供應量或其他屬性?
- 該 metadata 是否抄襲了另一個 NFT 系列?是否為空白?
- 這些 NFT 在各市場間的交易活躍程度如何?
- 是否有使用者將此代幣回報為 spam?
我們會綜合運用這些判斷準則,來決定某個 NFT 是否被視為 spam!
如果你的智能合約被錯誤標記為 spam,或者你發現了某個繞過 spam 過濾器的 spam NFT 合約地址,請透過 Discord 回報給我們的團隊,我們會盡力協助你!
如何在 Ethereum 上燒毀 spam NFT
若要燒毀 spam NFT,請將它們傳送到燒毀地址,例如 "0xdead" 地址 0x000000000000000000000000000000000000dEaD。
相關總覽

打造區塊鏈魔法
Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。


