NFT 發行:有效“作弊”與反作弊指南

買賣虛擬貨幣

正如Paradigm的《設計有效的NFT釋出指南》中所述,NFT釋出對普通使用者來說往往是不公平的。HasuAnish 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!

本文翻譯自 Convex Labs,閱讀原文: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

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;