虛假或“spoof”的erc-20代幣轉賬在以太坊並不是什麼新鮮事。然而,去年區塊鏈的廣泛採用導致了這些案例的急劇上升。現在越來越多的問題和最近一個備受矚目的案例需要更深入的研究。
在本文中,我們會介紹:
這是什麼“spoof”
如何檢測它
如何避免
想象一下,聽到一個被大肆宣傳的defi產品即將進行代幣空投的傳言。作為一個完美的交易者,我們會搜尋所有關於這一切的線索。
我們會注意到一個與這個defi產品的名稱和符號非常相似的代幣是新鑄造的。更重要的是,我們會看到它被髮送到一個我們私下標記為屬於一個人脈廣泛的鯨魚/網紅的地址。
我們想要領先於其他人瞭解這個代幣,我們從一個剛剛建立的uniswap v2流動性池中購買許多代幣。一個小時後,lp耗盡了所有eth,我們意識到自己被耍了。
到底是哪裡出了錯?
這些真實的 opensea 代幣也不是由opensea: registry地址轉移的
我們所犯的錯誤是認為代幣轉移實際上是由影響者地址進行的。這種“spoof”透過利用以下兩點來欺騙毫無戒心的使用者:
erc-20標準設計
區塊瀏覽器的透明資料顯示
erc-20標準的transfer和transferfrom函式可以修改,可以允許任何任意地址作為代幣的傳送方,只要在智慧合約中進行指定,這會導致代幣從不同於發起地址的地址進行轉賬交易。
通常“spoof”代幣合約不會在etherscan上進行驗證,因為這有助於掩蓋合約的內部工作原理。
對於erc-20代幣轉賬,etherscan 等區塊瀏覽器會顯示傳輸代幣的地址,而不是發起者地址。由於區塊瀏覽器的性質,預設情況下不會審查區塊瀏覽器的資料。
在大多數情況下,傷害程度僅限於持有零值的代幣。但更危險的情況也可能存在,比如帶有恢復錯誤訊息的代幣指向竊取使用者私鑰的釣魚網站。erc-721和erc-1155代幣(nft)也可能遇到同樣的問題。
人們怎樣才能發現這一點呢?
答案相當簡單。對於任何這些代幣傳輸,單擊確切的交易雜湊並檢查其詳細資訊。發起交易的from地址顯然與代幣轉移的from地址不相同。
要深入挖掘,請在交易輸入資料或合約原始碼中查詢“欺騙性”的 from地址。它通常包含在任一位置中。如果合約沒有被驗證,這個步驟會進行的更困難,但同時它會自動地使該代幣看起來更加可疑。
偽造的 opensea 代幣看起來好像是由 opensea: registry 在此交易中轉賬的
一個關鍵的警告。並非所有由不同地址發起的代幣轉賬都是假的或有欺騙性的。一個常見的例子是dapp批次傳送多個代幣轉賬。這些通常有一個由etherscan新增的公共名稱標籤。
批次傳送代幣的交易
spoof的“近親”是垃圾郵件代幣。雖然這些不是假裝是由有影響力的人的地址傳送的,但它們是一起傳送到該地址,並使閱讀地址的代幣標籤成為一個痛苦的體驗。
我們可以做些什麼來避免這種情況呢?
對於一般的使用者,不需要做任何事情,因為這個問題不太可能影響我們。
etherscan預設不審查資料,但正在探索幫助緩解這個問題的方法。第一步是擴充套件代幣忽略列表的功能。特性:
自動隱藏erc-20、erc-721和erc-1155標籤中的代幣轉賬,並在地址餘額和代幣持有中隱藏它們。
包括一個簡單的選項,讓使用者選擇忽略所有被etherscan標記為可疑或糟糕的代幣。
我們希望這個功能擴充套件將有助於保護使用者免受欺騙,同時在網站上享受一個更乾淨的使用者體驗。
source:https://medium.com/etherscan-blog/spoof-tokens-on-ethereum-c2ad882d9cf6