本文翻譯自 Convex Labs
目錄:
如何在NFT發行使用工具
檢測 “異常幸運” NFT買家
更多計策
我們如何使競爭環境更加公平
正如 Paradigm 的《設計有效的NFT發布指南》中所述,NFT 發布對普通用戶來說往往是不公平的。Hasu 和 Anish Agnihotri 提到了幾個潛在隱患,資深用戶從中可以獲得優勢,并從創作者和其他收藏家那里獲取價值。
一個常見的設計錯誤就是 Hasu 和 Anish Agnihotri 所說的“可利用的公平性”。對于 NFT 買家來說,樂趣之一在于“ gacha 游戲(扭蛋游戲)”的體驗感:買家可能會入手一個普通的 NFT,而幸運的話,可能會得到一個具有稀有特征的 NFT,其售價可能比普通同類產品高出幾倍。公平起見,NFT 應該是隨機鑄造的。然而,資深用戶一直在尋找各類方法增加鑄造或購買到稀有 NFT 的幾率。
我們已經開發和安裝了一些工具,以便在購買 NFT 時獲得優勢,這種做法絕非例外;我們觀察到一些買家已經使用這類工具幾個月了,最近還出現了很多付費服務提供商,如 traitsniper.com。今天,我們將開源我們的工具,介紹使用方法,以及如何檢測別人是否使用類似的方法在NFT發布中獲得優勢,
我們推出的作弊工具的工作原理是在普通用戶可以獲得元數據之前找到元數據,然后在鑄幣過程中利用元數據獲得更多的稀有NFT,或者在元數據上傳到 OpenSea 之前購買尚未公開的 NFT。類似的作弊行為也可以由項目內部人員進行。
我們檢測到很多采取類似方法的作弊行為,接下來會介紹一些實例。我們希望通過提高對這種策略的意識,促使NFT社區對NFT發布提出有保障的公平性要求。
如何使用工具在NFT發布中作弊
第1步:獲取元數據
首先,你需要找到目標藏品的代幣元數據,檢查代幣的 URI,看它是否指向一個有元數據的IPFS頁面或網站,如果是,我們提供一個名為 pulling.py 的腳本,輸入合同地址,可以迅速獲取一個NFT收藏品的所有元數據。
我們的pulling腳本將 ERC-721 合同地址作為輸入項,然后快速檢索元數據
如果你能在首次銷售完成之前找到元數據,那就很有利了:只需直接進行第二步,確定哪些NFT值得鑄造,然后嘗試鑄造。
我們已經發現各項目用來隱藏元數據的許多不同機制,最常見的做法是隱藏元數據,NFT 發行完成后,再在項目網站上更新元數據。在其他情況下,元數據被存儲在 IPFS 上,并通過改變基礎代幣 URI 來更新,我們通過查詢 OpenSea 的 API 或者搜索 testnets 和 Arweave 成功找到過被泄露的元數據。在這些地方,開發者偶爾會泄露他們元數據的 IPFS 哈希值,即使這種方法沒有產生元數據,也可以提供其他有價值的參考。
一位資深用戶介紹了他們在一個NFT項目啟動前的分析過程,(本例中沒有元數據泄露)
有時我們無法找到完整的元數據,但能找到泄露的圖像。在這種情況下,我們只是用一個 “for”循環來下載所有圖片,手動查看這些圖片,尋找我們了解的稀有特征。
一個簡單的for循環可以用來在鑄幣和/或披露之前搜集泄露的NFT圖像
我們還觀察到這樣的例子:我們無法找到泄露的元數據,但其他人仍然能在鑄幣中獲得優勢,對此有許多可能的解釋,一種解釋是我們無法找到公開泄露的元數據,但其他人找到了,另一種是內部人員掌握了資訊——內部人員可能與項目直接相關,也可能是托管項目元數據的第三方,
第2步:計算稀有度
NFT 價格和稀有度之間有很強的關聯性,最廣泛使用的 NFT 稀有度網站是 rarity.tools,他們使用同樣的算法來生成幾乎所有藏品的稀有度排名,
最近出售的200個MekaVerse NFT的銷售價格與稀有度等級相關,(截至10/20/2021)
rarity.py 工具使用步驟1的元數據作為輸入,然后輸出藏品包含的每個NFT的稀有度評分和等級。
需要注意的一點是,稀有度評分方法的確略有不同;對于某些藏品,rarity.tools 采取“特征數量”作為屬性,但對于其他藏品則不采用。有些藏品有自定義的稀有度評分標準,就需要單獨進行檢索,知道了一個藏品系列中每個NFT的稀有度,就可以繼續進行第三步,
注意:我們并不喜歡 rarity.tools 的排名方法,會另有文章討論。
我們注意到,在 NFT 夏季的早期,很多我們認為異常幸運的NFT鑄造者/購買者并沒有使用計算出來的稀有度評分,相反,我們認為他們只是簡單地檢索元數據,并尋找具有某一種極其罕見特征的 NFT,而不是因為組合了多種一般罕見特征而罕見的 NFT,隨著時間的推移,我們注意到一些買家開始計算稀有度評分。
第3步:造幣或購買
現在你有了整個藏品的稀有度數據,是時候購買了,如果藏品仍處于鑄幣階段,那么你可以嘗試鑄造你已知的稀有 NFT,要做到這一點,可以手動檢查 Etherscan,或者更好的方法是,編寫一個機器人,獲得上一個被鑄造的 NFT 的代幣 ID,當下一個被鑄造的 NFT 是你想要的,只需要發送你的鑄造交易。參考鑄幣的速度,既可以手動完成,也可能需要使用一個機器人,精準把控交易時間。
由于大多數發行允許批量鑄造,你可能需要鑄造多個普通的NFT來搶到一個稀有的 NFT,某些情況下,你也可能在同一筆交易中,找到多個罕見的 NFT,特別是當 NFT 并非隨機發放的時候。
一位異常幸運用戶鑄造了5個 BlazedCats,第5個是罕見的,售價可以輕松抵消其他4個的成本
因為你清楚可以從稀有 NFT 中獲利,所以你甚至可以以低于鑄造成本的價格來出售其他 NFT,
還有一個例子:有人使用智能合約,加上 Flashbots,以保證只鑄造稀有 NFT,
第4步:預告前的狙擊
即使 NFT 發布的鑄幣階段已經結束,或者你沒能獲得泄露的元數據,仍然可以在 NFT 發布的下一個階段獲得優勢,許多項目在鑄幣結束后披露元數據,然而,在元數據變得可用和 OpenSea 完成更新之間有一個延遲,在這期間,你可以迅速運行我們提供的腳本,以獲得元數據和稀有度評分,并購買披露之前上市銷售的任何稀有 NFT,
檢測 “異常幸運”的 NFT 買家
我們的工具也可以用來檢測我們稱之為 “異常幸運”的買家。要做到這一點,你需要 NFT 藏品的稀有度數據,以及買家鑄造的 NFT 列表,
我們已經在 github 上提供了一些項目的稀有度數據,你也可以使用我們的工具來獲得其他項目的稀有度數據。
一旦有了稀有度數據,下一步就是為藏品收集造幣數據,如 find_minting_data.ipynb 所示,它將提供給你一個資料庫,其中包括每個賬戶鑄造的每個 NFT,以及它的稀有度等級。
每個收藏品都是不同的,可能需要調整你使用的統計測試,但我們已經提供了一些基本的工具和數據來幫助你,
一個好的開始是在鑄幣資料庫上運行一個 Kolmogorov-Smirnov(K-S)測試——我們在 ks_test.ipynb 中有一個例子,
我們的 K-S 測試試圖排除的“無效假設”情況是用戶隨機鑄造 NFTs,K-S 測試檢查一個用戶鑄造的所有NFT的稀有度等級是否可能來自均勻分布。在某些情況下,例如 NFT 不是隨機分布的,或者部分收藏品是贈與的而不是鑄造的,概率會變得更加復雜,可能需要生成合成數據集,其中包括一個賬戶有機會購買的 NFT,
上圖顯示了一個異常幸運用戶(紅色)和一個普通用戶(藍色)所鑄造的 DogeX NFT 的稀有度等級
我們的 K-S 測試代碼將運行每個在一個藏品系列中鑄造多個 NFT 的賬戶,并輸出一些關于幸運賬戶的數據,我們的代碼也可以被修改,以識別在元數據披露之前購買了鑄幣的 NFT 賬戶。
鑄造 DogeX NFT 的兩個最幸運賬戶的輸出示例
藍點代表 DogeX 收藏中的每個 NFT;黑點代表由一個異常幸運的賬戶鑄造的 DogeX NFTs
這些統計測試的輸出是有細微差別的。1E-5的p值并不能保證一個賬戶有詐騙行為——如果是在幾十萬個賬戶中尋找,我們會期望偶爾發現有幸運兒,(另一方面,1E-22的p值…)
我們還仔細研究了 NFT 社區成員聲稱某個賬戶詐騙的幾個例子,發現被指控的賬戶只是稍稍有點幸運(1%或0.1%的發生概率,沒有額外的非統計或鏈外證據)。
如果 NFT 收集本身不是真正的隨機,K-S 檢驗也可能給出低p值,反過來說,一個賬戶沒有異常的低概率也不意味著一個賬戶沒有詐騙,事實上,我們有信心,我們使用的大多數賬戶不會被任何統計測試所識別,而且我們絕對不是唯一聰明到不被發現的人,
更多計策
我們用我們的腳本仔細觀察了許多 NFT 空投。大多數沒有顯示出異常的跡象,可能是以公平的方式執行的(雖然并不能證明),然而,在我們的研究過程中,我們觀察到其他幾種類型的異常,
性狀的非隨機分布
正如 Hasu 和 Anish Agnihotri 所暗示的那樣,我們還觀察到許多 NFT 收藏品的稀有度并不是隨機分布的,在某些情況下,這意味著老練的買家可以增加他們鑄造稀有NFT的幾率,即使他們不能保證他們能收到的確切數量,因為鑄造工作的進行速度很快。
Great Ape Society Bananas 顯示出不尋常的稀有等級分布
夸克有非隨機的稀有度分布。因此,大多數在發布結束前鑄幣的用戶會顯得異常幸運
非標準鑄幣過程
我們觀察到許多 NFT 的發行,其中稀有NFT的鑄幣過程是不尋常的,隨機性無法驗證,例如,一個項目聲稱的行為無法核實:用戶是在鏈外隨機選擇以收到他們藏品中最稀有的 NFT。這些 NFT 的轉售價值明顯高于藏品的其余部分,這些藏品是“先到先得”鑄造的,
一些項目對稀有的 NFT 有一個特殊的鑄造過程
一條來自 NFT 項目負責人的 Discord 消息:
描述了他們如何隨機選擇賬戶來空投最有價值的 NFT,以及驗證空投是否公平
我們使用一個我們稱之為“首次翻轉”的指標來衡量鑄造和轉售對某一特定收藏品的盈利程度。在這個特定的收藏品中,大約50%的總利潤來自于使用上述 Discord 截圖中描述的隨機選擇過程分發的 NFT,注意:這個指標不能排除清洗交易,
截圖顯示了按代幣 ID 鑄幣后轉售8 Bit Universe NFTs 的利潤。大約一半的首次翻轉利潤來自代幣ID 1-100,這些代幣在鑄幣結束后被分發了出去
無法證實的承諾
我們觀察到幾個聲稱使用可證明的隨機承諾方案來選擇 NFT 元數據的項目,我們無法在代幣鑄幣之前找到此類承諾,也無法驗證元數據是在鑄幣結束后產生,
每當一個發布會沒有使用承諾披露的方案時,就不可能排除項目內部人員沒有改變他們在二級市場上鑄造或購買的 NFT 的元數據。
我們如何才能使競爭環境更公平
我們希望 NFT 空間能夠大獲成功,但我們認為我們所觀察到的一些手段正在從大多數用戶那里榨取價值,這對生態系統的長期健康是不利的。
1.可證明的公平性
用于證明公平的 NFT 空投的加密方案已經存在,我們已經看到一些項目在利用它們。我們希望通過傳播對 NFT 元數據中資訊不對稱的認識,消費者會要求他們所購買的項目提供可證明的公平性,
我們很樂意對 NFT 發布的隨機性進行審計,但最終我們希望消費者能夠了解密碼學的魅力。
2.公平的元數據揭示
與其依賴 OpenSea 和 rarity.tools 等第三方為用戶提供 NFT 元數據,項目應該在 NFT 元數據被揭示后立即自己提供,從而從我們的 pulling.py 等腳本中否定部分優勢。
3.停止“先到先得”的 NFT 發布方式
正如 Paradigm 文章中所描述的,“先到先得”的發布對普通用戶不利,本可以給藝術家和項目的收入卻給了礦工,雖然在這篇文章中沒有多加討論,但我們同意 Paradigm 的觀點:請停止以這種方式發布 NFT!
,閱讀原文:https://medium.com/@convexlabs/a-guide-to-effectively-cheating-nft-launches-and-detecting-cheaters-a76143ef8ad8,
作者:Maximino DiGiacomo-Castillo、Kun Peng、Ricardo Rosales、Nicolas A. Bax
*NFT Labs 僅提供相關資訊,不構成任何投資建議。