本文來自 The Block
原文作者:Tim Copeland
7 月 12 日,一名心急如焚的加密貨幣持有者在 Reddit 發帖稱,自己在 MetaMask 錢包里存放了一大筆錢(約 24 萬美元),并且遭遇網路釣魚,讓一名騙子獲得了訪問權限,該騙子正在榨干其資金。該 Reddit 用戶開始“自黑”,邀請其他網友圍觀自己的賬戶被騙子清空,
這個帖子“收獲”了一些合理的批評:人們認為不應該把這么多錢放在瀏覽器錢包里(通常比離線的硬件錢包風險更大),而且“把資金使用權交給一個所謂非常有幫助的技術支持助理”的想法也讓人無語,
但在這些回復中,有一些用戶提出一種解決方案——一種可能減少損失的方法。
結果證明,這種方法最終可以挽救大約一半的資金(約 11.7 萬美元),并使騙子無法觸及它們,事情是這樣發生的:
尋求幫助
這位在 Reddit 上名為“007happyguy”的加密貨幣持有者,被引導填寫白帽熱線(Whitehat hotline)表格,并發布其詳細資訊,
表格的另一端是一些白帽黑客,他們表示自己很樂意幫助陷入困境的人。這是一項臨時服務,如果有空的話,開發人員可以選擇響應請求,
在這個案例中,Alex Manuskin 向 The Block 表示,他回應了這個請求,Alex Manuskin 曾是 ZenGo 的區塊鏈研究員,現在從事自由職業的區塊鏈開發工作。當他讀到這條資訊時,已經是晚上了,他意識到事情很緊急,因為錢包還在被掏空的過程中,而且金額很大,
Manuskin 做的第一件事是核實該 Reddit 用戶擁有的這個錢包,并且確認其沒有試圖獲取其他人的資金。
此時,他必須通過索要私鑰來訪問錢包。這很諷刺,因為這是任何安全專家都會告訴你不要做的事情。但在這種情況下,這更像是最后的手段,
然后他確保騙子不能再從該錢包轉移走資金,為了在以太坊進行交易,用戶需要一些 ETH 來支付交易費用。因此,(通過設置一個銷毀器)他確保任何發送至該錢包的 ETH 都會自動被移除(即銷毀),
使用 Flashbots 拯救資金
隨著更多資金被取走的威脅減少,下一個目標是拯救剩余資金,
為了做到這一點,Manuskin 使用了 Flashbots,這是一種支持開發人員和礦工之間通信的服務。簡而言之,開發人員可以使用 Flashbots 向礦工發送一個交易“包(parcel)”,直接包含在一個區塊中,而不是向網路廣播交易并希望其被打包,
之所以有效是有兩個原因,這種情況的主要原因是,如果錢包里沒有任何 ETH,任何零交易費用的交易都不會被任何礦工打包。使用 Flashbots 的情況是,進行了一項復雜的交易,將資金轉移到另一個錢包,并一次性使用其他資金支付給礦工,
第二個原因是它更隱蔽,如果任何交易被廣播到公共網路上,這就給了詐騙者搶先交易的機會。(雖然在這種情況下,仍然需要一些 ETH 來支付交易費用,)
Manuskin 解釋說,編寫定制腳本和執行交易大約需要 5 – 6 個小時。他表示,時間的長短取決于交易的復雜性(比如它們是否被鎖定在復雜的協議中)以及他以前是否經歷過類似的情況。
根據 Reddit 帖子,在騙子開始轉移錢包資金后,Manuskin 設法從錢包剩下的 12 萬美元代幣中挽救了大約 11.7 萬美元,
通常情況下,白帽黑客會根據所需工作的復雜程度,收取約 5% – 10% 的回收資金作為拯救資金的報酬,
Manuskin 說,這個案例很有趣,因為這是他和騙子之間的一場實戰,通常資金只能被收回,因為它們將在未來的某個日期解鎖,但在這個案例中它們仍有被取走的風險,
他表示,因為騙子仍在嘗試將 ETH 發送到錢包以試圖取走代幣,所以壓力會更大一點,并補充說,“這不是一個輕松的下午。”