BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

以太坊清掃機器人肆虐,一文了解三種解決方案

星球君的朋友们
Odaily资深作者
本文約3362字,閱讀全文需要約5分鐘
本文概述了用戶的資金是如何被清掃走的,以及三種獨特的方法來挽救任何未被清掃的資金
AI總結
展開
本文概述了用戶的資金是如何被清掃走的,以及三種獨特的方法來挽救任何未被清掃的資金

本文來自:Defi之道本文來自:

Defi之道

本文來自:

Defi之道

本文來自:

Defi之道

,作者:灑脫喜,經授權轉發。

注:你是否遇到過這樣的情況,當你發送一筆以太坊資金,然後就發現錢包裡的錢立即被清空了,你可能被清掃器(sweeper)盯上了,這篇文章旨在幫你解決這個問題,原文作者是MyCrypto安全&反釣魚工程師Harry Denley。

當你的秘密遭到洩露時,惡意方通常會給你的賬戶設置一個清掃器(sweeper),以利用將來該地址上所發生的任何事情,比如當用戶存入ETH以嘗試提取一些代幣,發生空投或其它情況時。

本文概述了用戶的資金是如何被清掃走的,以及三種獨特的方法來挽救任何未被清掃的資金(例如質押資金)。

1·用戶是如何被釣魚的

近期,我們看到有大量用戶在冒充Telegram群管理員,這些假的管理員會向在主頻道中請求幫助的用戶提供幫助(儘管他們不是真正的管理員,他們複製了管理員簡介信息,但用戶名有一些小的差異)。這些冒名頂替者經常會說很多行話來迷惑用戶,並分享一個看似合法網站的鏈接,但它最終會要求你輸入助記詞或私鑰。

然後,你的加密資產就不見了,上面有一個清掃器。

這是這些假網站之一的示例:

2·清掃器的工作方式

清掃器是一些監控區塊鏈(包括txpool,從技術上講,它沒有在鏈上)的代碼,其以編程方式對一組規則的特定事務進行簽名的反應,要比人類更快。

這意味著,對於你在區塊鏈瀏覽器上查看你的地址或將其“連接”到dapp的UI,清掃器(sweeper)是看不見的。只有在你簽名並向網絡廣播交易後,清掃器(sweeper)才能看到你的活動。


  • 隨著時間的推移,我們看到了清掃器(sweeper)和利用它們的活動的演變。

  • 3·清掃器的演變

  • 2017年期間,有相當一部分活動利用了具有鎖定功能(即,你無法成功調用transfer() )但包含餵價的代幣。 Dave Appleton發表了一篇關於這些活動的文章。

  • 惡意方利用這種騙局的方式是,他們會將私鑰發佈到這個地址(以某種看起來無辜或錯誤的方式),並等待人們將ETH存入該地址(以轉移地址中的代幣) 。然後惡意方會有一個該賬戶的清掃器程序,以將存入該地址的ETH快速轉移到他自己的賬戶。從理論上來說,鎖定的代幣被認為是毫無價值的,因此他們試圖從那些毫無戒心的“貪婪”用戶那裡獲取利潤。

  • 如今,遭洩露的的地址基本被部署了ETH清掃器程序,一些組織則使用更高級的清掃器程序邏輯來清掃基於餵價的ERC20代幣。

  • 今年早些時候,我對一個洩露地址做了一些偵察研究,發現清掃器在不斷進化:

清掃器偏愛美元價值最高的資產,即使這意味著需要花費更多的交易費用來清掃;


清掃器將使用所有可用的ETH最大化清掃價值,同時也有很高的百分比是nonce的“獲勝”交易。

清掃器有一個匹配引擎,將質押代幣(即:xKNCa=KNC)與其原生代幣匹配,以便餵價反映在質押代幣上。

清掃器有自己的內部nonce計數器,如果其最高nonce隨機數未在一個時間範圍內得到確認(或被另一個丟棄/替換),則定期將nonce隨機數重置為eth.getTransactionCount()輸出。

  • 如果存在清掃器所針對的高價值資產,則有一些活動會建議運行者通過資助地址來“犧牲”一些ETH,以嘗試從賬戶中快速清掃高價值資產。

  • 如果美元價值低於某個閾值,則某些清掃器就不會清掃資產,這意味著你可能並不知道自己的賬戶被清掃器盯上了,這是很可怕的。

  • 描述清掃器的文章,第一次出現是在2017年,而現在我們觀察到的清掃器已變得更加先進,它們的設計目的是最大化運行者的利潤,同時對受害者造成最大的損失。

  • 4·如何擊敗清掃器?

首先,作為人類,我們是無法比代碼更快的,所以我們的解決方案只能涉及編碼。你可以選擇幾條不同的路線,它們均無法提供100%的保證,但對我們而言是有利的。

代幣是否質押(以及解除質押是否是時間鎖定的);

5·使用TAICHI

代幣價值(以美元計算);

圖片描述

5·使用TAICHI

圖片描述


清掃器的工作方式是監視txpool中轉到其清掃地址的傳入交易,而TAICHI允許你將簽名的交易直接提交給礦工(SparkPool),而無需通過公共txpool進行廣播,這意味著清掃器程序將是看不到的,並且很可能你的交易不會被清掃程序機器人搶先完成(至少以我的經驗來看)

圖片描述

圖片來自TAICHI.NETWORK

這裡的方法是讓你的所有交易預先以nonce順序簽名,並以編程方式提交給TAICHI。大多數清掃器只監視公共txpool/mempool以獲取傳入的ETH交易,並且不在每個新區塊上調用eth_getBalance(以節省CPU週期和RPC方法調用的成本),這意味著它們將對通過專用txpool路由發送到帳戶的ETH視而不見,也就不會對其進行清掃。

你可以離線使用MyCrypto來生成已簽名的交易,並在準備就緒時將其推送到TAICHI,或者使用ethers.js(或其他庫)創建代碼來創建已簽名的交易。

示例:https://goerli.etherscan.io/tx/0x82ccb222eae55aaea73dd0efee1ea6ed7320f880889f280d4a343b8823f86692

就像使用TAICHI方法一樣,我們可以使用智能合約讓ETH進入賬戶,而不會在公共txpool中顯示出來。我們通過從安全地址部署智能合約來做到這一點,然後在結構上將ETH發送到被洩露的地址(這將是一筆內部交易)

方法2:使用Flashbots

通過部署這個合約,我們可以在構造函數參數中發送ETH以及遭洩露的地址字符串。該合約通過在同一交易中創建合約並自毀來工作。使用selfdestruct()意味著我們清除了區塊鏈狀態(因為它是一次性使用合約),並且在一次交易中將ETH轉發到了洩露地址。

示例:https://goerli.etherscan.io/tx/0x82ccb222eae55aaea73dd0efee1ea6ed7320f880889f280d4a343b8823f86692

請注意,這種方法雖然有效,但它會增加額外的成本,因為我們要做的操作不僅僅是將ETH從一個帳戶發送到另一個帳戶。這種方法的成本約為70,000 gas,在高昂的gas價背景下,使用這種方法的手續費成本就可能達到0.0112ETH。

方法2:使用Flashbots

一般而言,我們需要支付ETH才能讓一筆交易被確認(因為交易費用是由發送方支付的)。然而,由於Flashbots的出現,我們可以更輕鬆地從EOA中通過用另一個帳戶中的資金“賄賂”礦工,以0 gas價格(即0美元交易費用)確認交易,這意味著我們可以將代幣從洩露的地址中轉移出來,而無需用ETH支付gas費用,是的,就是這樣。

該策略需要用到2個賬戶,一個是洩露賬戶,以及另一個賄賂礦工的帳戶。

ETH
歡迎加入Odaily官方社群