---
title: "垃圾 NFT 及其解決方法"
description: "如何利用 Alchemy 的 NFT API 尋找、標記並過濾垃圾 NFT"
---

# 垃圾 NFT 及其解決方法

本文說明什麼是 spam NFT、為什麼它們對 NFT dapp 開發者和使用者是個問題，以及如何使用 [**Alchemy 的 NFT API** 端點](https://www.alchemy.com/docs/data/nft-api/api-reference/nft-spam-endpoints/is-spam-contract-v-3) 來過濾 spam NFT。

## 什麼是 spam NFT？

**Spam NFT 是指未經請求就被傳送或空投到你的錢包地址、你既沒有購買也不想要的 Non-fungible token（NFT）。**

由於任何人都可以在公開區塊鏈上向錢包地址傳送和接收代幣，因此偶爾會有不想要的 NFT 出現在你的錢包中。

## Spam NFT 和空投 NFT 有什麼差別？

**Spam NFT 指的是空投 NFT 中使用者不想要的那一部分。**

空投到你錢包的免費 NFT 不一定被視為 spam。舉例來說，為了給收藏者提供額外價值，有些[**生成式 NFT 系列**](https://www.alchemy.com/overviews/solana-generative-nfts)會製作 NFT 並空投給收藏者。雖然這些 NFT 通常轉售價值不高，但保留在自己的收藏中仍然頗有樂趣，因為這代表了你在該社群中的參與。

## 為什麼有人會傳送 spam NFT？

有人傳送未經請求的 spam NFT 有多種原因，包括：

1. 為了吸引知名 NFT 收藏者的注意
1. 為了讓錢包擁有者難堪或困擾
1. 為了嘗試釣魚攻擊，從錢包擁有者手中竊取代幣
1. 為了行銷新的 NFT 專案

隨著 [NFT 市場](https://www.alchemy.com/dapps/best/nft-marketplaces)的成長，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 分析工具](https://www.alchemy.com/overviews/solana-nft-analytics-tools)、圖庫或市場的開發者來說，spam NFT 也是個問題，因為它可能導致資料不正確，並讓不知情的使用者誤以為某個專案比實際上更受歡迎。

為了確保 NFT 持有者和收藏者擁有最佳的使用體驗，平台需要使用具備強大 spam 過濾功能和自訂設定的 [NFT API](https://www.alchemy.com/docs/reference/nft-api-quickstart)。

## Alchemy 的 NFT API 如何協助處理 spam NFT？

Alchemy 的 NFT API 可以透過 **getNFTs** 的 spam 過濾器、**isSpamForContract** 以及 **getSpamContracts** 端點來過濾 spam NFT。

使用 Alchemy API 的 NFT 開發者可以在 getNFTsForOwner（又稱 getNFTs）API 端點上加入過濾器，排除被歸類為 spam 的 NFT。

[**isSpamForContract**](https://www.alchemy.com/docs/data/nft-api/api-reference/nft-spam-endpoints/is-spam-contract-v-3) NFT API 端點會檢查某個特定合約是否被歸類為 spam。你可以針對合約地址進行過濾，這也表示你可以查詢某個特定 NFT 的擁有者，並檢查該 NFT 是否為他們唯一持有的一個。

[**getSpamContracts**](https://www.alchemy.com/docs/data/nft-api/api-reference/nft-spam-endpoints/is-spam-contract-v-3) NFT API 端點會回傳所選鏈上所有被歸類為 spam 的 ERC 721 和 ERC 1155 合約清單。

截至 2023 年 8 月，Alchemy NFT API 已標記超過 600,000 個智能合約地址為 spam。

### 如何用 Alchemy 的 NFT API 過濾 spam NFT

有多種方式可以利用我們的 spam 偵測功能來改善你的應用程式使用體驗。

最常見的做法是在 [**getNFTsForOwner**](https://www.alchemy.com/docs/reference/nft-api-endpoints/nft-api-endpoints/nft-ownership-endpoints/get-nf-ts-for-owner-v-3)（又稱 getNFTs）端點上啟用 SPAM 排除過濾器，以只取得錢包中的合法 NFT。

[**isSpamContract**](https://www.alchemy.com/docs/data/nft-api/api-reference/nft-spam-endpoints/is-spam-contract-v-3) 可用來判斷某個特定代幣是否屬於 spam 合約。

[**getSpamContracts**](https://www.alchemy.com/docs/data/nft-api/api-reference/nft-spam-endpoints/get-spam-contracts-v-3) 提供更多彈性，讓你可以儲存 spam 合約清單，並針對這些合約採取你偏好的任何處理方式！

## Spam NFT 是如何被分類的？

**Spam 分類的判斷標準範圍很廣，包括但不限於發出假事件、複製其他知名 NFT、謊報其總供應量等等。**

我們在判斷 spam 時所詢問的主要問題包括：

1. 如果該合約是 ERC721 或 1155，它是否違反了所實作的 ERC 標準？如果是，違反的程度有多嚴重？
1. 該合約是否以向知名的蜜罐錢包（honeypot wallet，例如 vitalik.eth）鑄造大量代幣而聞名？
1. 該合約是否嚴重謊報其總供應量或其他屬性？
1. 該 metadata 是否抄襲了另一個 NFT 系列？是否為空白？
1. 這些 NFT 在各市場間的交易活躍程度如何？
1. 是否有使用者將此代幣回報為 spam？

我們會綜合運用這些判斷準則，來決定某個 NFT 是否被視為 spam！

如果你的智能合約被錯誤標記為 spam，或者你發現了某個繞過 spam 過濾器的 spam NFT 合約地址，請透過 Discord 回報給我們的團隊，我們會盡力協助你！

## 如何在 Ethereum 上燒毀 spam NFT

若要燒毀 spam NFT，請將它們傳送到燒毀地址，**例如 "0xdead" 地址 `0x000000000000000000000000000000000000dEaD`**。
