買以太坊 買以太坊
Ctrl+D 買以太坊
ads

RON:解析以太坊搶先交易原理及其解決方案_FRONT

Author:

Time:1900/1/1 0:00:00

作為一般用戶,可以通過設置較低的交易滑點和較高的 Gas 費來應對搶先交易。

本文旨在全面解析廣泛存在于以太坊區塊鏈上的攻擊行為:Front-Running (搶跑交易),通過對其原理的研究,尋找最有效的解決方案,最終幫助 DeGate 用戶避免這一嚴重有損他們利益的攻擊行為。

簡單來說,Front-Running 是指在一筆正常交易等待打包的過程中,搶跑機器人通過設置更高 Gas 費用搶先完成攻擊交易,以此攫取用戶利益的攻擊行為。而 Mempool 是一組已經廣播到網絡中并等待被打包進區塊的以太坊交易,它是 Front-Running 可以實施的前提,搶跑機器人通過不斷掃描 Mempool 中的交易,來分析發現可攻擊的目標。下圖是一個 Mempool 瀏覽器,可以通過設置各種篩選項訂閱 Mempool 中的交易,并查看這些交易的全部詳細信息。

在所有 Front-Running 中,最典型最具危害性的就是針對 AMM 交易的 Sandwich Attacks (三明治攻擊),除此以外還有針對套利、清算交易、閃電貸等利用系統漏洞獲利的搶跑攻擊,攻擊者數量眾多,且由自動化腳本控制,永遠不知疲倦,因此任何有利可圖的交易都會遭受他們的飽和攻擊,幾乎沒有幸免的可能。

歐科云鏈張超:目前已累計解析超1.5億地址標簽,成全球最大鏈上地址標簽庫服務商:4月27日消息,歐科云鏈副總裁、歐科云鏈控股執行董事張超在出席“甲子引力X數字經濟高峰論壇”時表示,截至目前歐科云鏈已解析鏈上超1.5億地址標簽(實體標簽、行為標簽、屬性標簽)、數十億交易記錄、超1萬條結構化指標,成為全球最大的鏈上地址標簽庫服務商。

會上張超表示,未來歐科云鏈將繼續探索區塊鏈底層技術,加強對鏈上數據的分析、治理,為更多上層的區塊鏈應用添磚加瓦,服務于更多實體的應用層。[2022/4/27 2:33:56]

接下來,我們重點對三明治攻擊進行分析。

真實攻擊案例

首先我們來看一個真實的三明治攻擊案例。

上圖可見,三筆交易在同一個區塊被打包,兩筆攻擊交易(打上了黑客標記的)中間夾著一筆正常交易。其具體流程如下:

用戶首先發起一筆正常交易,用 237000.705USDC 買入 DG,設置 Gas Price 為 40.5Gwei;

搶跑機器人檢測到這筆有利可圖的交易后,隨即展開攻擊,發起一筆買入交易,設定 GasPrice 為 49.9Gwei,憑借 Gas 競爭機制成功搶跑用戶的正常交易;

Cobo區塊鏈安全團隊公開0xDAO潛在盜幣漏洞發現過程及技術細節解析:4月2日消息,0xDAO v2原計劃上線前的幾個小時,Cobo區塊鏈安全團隊啟動對該項目的DaaS投前例行安全評估工作,隨后在github開源的項目代碼中發現了一個嚴重的安全漏洞。經評估,如果 0xDAO v2此時繼續上線,該漏洞預計會造成數億美金的資產損失。Cobo區塊鏈安全團隊立即啟動應急預案,快速通過多個渠道聯系到0xDAO項目方,提交該漏洞的完整攻擊流程,緊急叫停了項目上線,隨后協助0xDAO項目方對該漏洞進行了修復。

日前,0xDAO官方發布推文向Cobo區塊鏈安全團隊表示了感謝,并且表示會按照嚴重漏洞級別給予Cobo區塊鏈安全團隊漏洞賞金獎勵。[2022/4/2 14:00:31]

與此同時,機器人發出另一筆賣出交易,設置 GasPrice 同樣為 40.5Gwei,因為時間順序的原因,緊貼著用戶正常交易完成。

一次完美的搶跑攻擊完成,算上手續費,機器人共賺取 16448.012-16310.3-15.2-10.61 = $111.9,而這種兩筆攻擊交易夾著一筆正常交易的攻擊,就被形象的稱為三明治攻擊。

原理說明

為了更好的說明攻擊原理,我們補充一些相關背景知識。

我們知道,現如今的主流 DEX 如 Uniswap 等,采用的都是 AMM (自動化做市商)機制,其價格遵循恒定乘積公式。例如,在 Uniswap 中建立一個 A 代幣與 ETH 的流動池,A 數量為 1000,ETH 數量為 100,則兩者數量乘積為 100000,當前 A 價格為 0.1ETH。當 Alice 試圖用 10 個 ETH 來池子里購買 A 時,他所得到的 A 的數量 X,可以用下面的公式推導 (注:為簡化計算,以下均未考慮手續費):

動態 | 以太坊域名服務ENS將加入多代幣支持,未來可解析至比特幣地址:go-ethereum和以太坊域名服務(ENS)核心開發者Nick Johnson今天在Twitter 宣布,已經提交了ENS以太坊域名的多代幣支持,該提議通過后ENS以太坊域名將支持解析域名到多個區塊鏈地址,其中甚至可以包括比特幣地址。這也意味著,ENS以太坊域名將可能成為跨鏈的域名系統,用戶可以通過一個域名在多個區塊鏈間互通,未來只需要向其他人展示自己的ENS以太坊域名即可。目前已經有多個數字加密貨幣錢包支持ENS以太坊域名,在使用以太坊錢包進行轉賬時,不需要再輸入冗長的以太坊0x 地址,而只需要輸入短地址即可。[2019/9/9]

(1000-X)\*(100+10)= 100000,X = 90.9

這筆交易中,A 的價格為 10/90.9 = 0.11,相比于原來 A 的價格,價格滑點為 :

(0.11-0.1)/0.1\*100% = 10%

一筆交易就讓幣價產生了 10% 的滑點,可見越是流動性差的池子,遇到大額交易,越是容易產生滑點。而如果,能在用戶正常的大額交易前(預計該交易會產生較大滑點),搶先買入 A,再在用戶正常交易后,將剛買入的 A 賣出,就可以獲得一筆不菲的收益。沿用剛才的例子,假設在 Alice 的交易前,Bob 搶先花 5 個 ETH 購買 A,然后在 Alice 的交易完成后,Bob 再把之前買入的 A 賣出,我們看看會有什么樣的結果。

動態 | EOS疑似將推出基于EOS的HandShake DNS解析服務:EOS疑似將推出基于EOS 的 HandShake DNS解析服務,一位開發者的Github顯示正在開發EOS-handshake服務。Cosmos社區總監Chjango Unchained4月30日發推表示發現EOS開發者正在復用 Handshake 的開源代碼。EOS或許會加入域名解析服務,生態會進一步擴大。(IMEOS)[2019/4/30]

首先是 Bob 的搶跑交易:

(1000-X)\*(100+5) = 100000, X = 47.62

即,Bob 用 5ETH 購得 47.62 個 A

接下來是 Alice 的正常交易,注意此時流動池中 A 的數量變為 952.38,ETH 的數量變為 105:

(952.38-X)\*(105+10) = 100000, X = 82.81

最后 Bob 賣出 47.62 個 A 的交易,此時流動性中 A 的數量為 869.57,ETH 的數量為 115:

(869.57+47.62)\*(115-Y)= 100000,Y = 5.97

通過這一次搶跑攻擊,Bob 凈賺 5.97-5 = 0.97 個 ETH,而 Alice 凈虧 90.9-82.81 = 8.09 個 A,Bob 通過使 Alice 蒙受更大的滑點損失來獲得自己的收益!

前美聯儲理事Kevin Warsh:從美國經濟政策角度解析比特幣價格波動: 前美聯儲理事、斯坦福大學胡佛研究所杰出訪問學者Kevin Warsh今日撰文,從政府經濟政策角度解讀了比特幣價格波動的原因。對于2017年BTC價格的狂飆,Warsh認為:1.特朗普上臺后推出的減稅等寬松政策持續刺激美國經濟增長,繼而帶來的通貨膨脹預期促使美國加息進度超預期,比特幣成為規避法幣貶值的避風港;2.特朗普政府貿易保護政策致使美元在2017年貶值12%,投資者尋求比特幣規避貶值;3.據去年10月、11月調查,美國民眾對政府的信任度下降14個百分點達到33%,而美元正是建立在公眾對政府信任的基礎上。而對于今年以來比特幣價格的大幅波動,是因為投資者正在調整對政府政策的預期,新任美聯儲主席也在重新考慮如何更好地實施貨幣政策,同時也在考慮推出自己的加密貨幣。[2018/3/8]

當然,實際的搶跑攻擊會更復雜,攻擊者需要進行更精密的計算,以求實現以下兩個目標:

讓用戶的交易結果無限逼近用戶自己設置的最大滑點(max_slippage),以求達到理論上的最大套利空間

在手續費競爭力和收益之間取得平衡,盡可能的在與其他機器人的競爭中獲勝

我們用圖表來更好的描述這一過程:

用戶在 A 點,打算投入 in_amount(user) 個 USDT 購買 ETH,這筆交易正常會把當前狀態推向 B,同時用戶設置了最大滑點為 B(max_slippage);

搶跑機器人監測到這筆交易,先于用戶交易之前,進行了一筆 in_amount(robot) 個 USDT 的買入交易,將當前狀態推到 A';

用戶的交易隨后執行,達到其設置的最大滑點 B(max_slippage);

搶跑機器人把步驟 2 中買入的 ETH 賣出,狀態達到 C 點,得到 out_amount(robot) 個 USDT

搶跑機器人獲得收益 out_amount(robot) - in_amount(robot)-手續費

既然我們已經看到了 Front-Running 的殺傷力,那我們有什么辦法阻止搶跑攻擊呢?

作為一般用戶,應對 Front-Running 可以有以下幾種手段:

設置較低的交易滑點,比如 0.1%,這會讓搶跑機器人缺少可盈利的空間。?缺點:滑點過低導致大額交易十分容易失敗,且失敗的交易仍然需要支付高昂手續費。

提高 gas 費用,這會增加機器人的攻擊成本。缺點:這同樣也增加了自己的交易成本。

可以看出,以上解決方案都是無奈之舉,且有各種不足,幸運的是,有很多團隊認識到了 Front-Running 的危害性,并提出了不少有建設性的解決方案。首先通過對捕獵全過程的分析,我們可以得出結論,要實現 Front-Running,需要幾個要素:

Transaction 公開性:可以在 Mempool 中獲取交易的詳細信息

以太坊交易執行機制:可以通過 gas 競爭的方式搶先完成交易

AMM 交易曲線機制:恒定乘積機制可以造成較大滑點

那么反制手段就是分別在這幾個要素上做文章。

Transaction 公開性

既然機器人是通過分析 Mempool 中的交易來決定是否發起攻擊,那么我們將交易信息直接加密,讓機器人看不到或者看不懂不就好了?

社區中就有人提議使用零知識證明技術 zk-SNARKs 來達成上述目標,即運用 zk-SNARKs 將每筆交易的信息都加密隱藏起來,讓機器人無從下手。

不過,目前該方案還不夠成熟,存在需要消耗更高 Gas 費用和可能被利用來進行阻塞攻擊,導致系統化整體 liveness 的缺陷。

以太坊交易執行機制

當前的以太坊交易執行機制是通過 Gas 競爭來完成的,即誰出的 Gas 費高,礦工就優先打包誰的交易,那么我們如果繞過這種機制,把交易發給礦工讓其直接打包,就杜絕了搶跑機器人在中途攻擊的可能性

所以一種類似于 Layer 0 的方案也得到了一些應用,如星火礦池的 Taichi 服務,用戶可以直接在 MetaMask 中設置 Taichi 的以太坊節點,這樣交易就直接在沒有出現在 Mempool 的情況下被打包了,但劣勢是被打包的時效有一定的不確定性。

另外,如 ArcherSwap 類似理念的解決方案,構建了交易者和礦工之間的橋梁,交易者可以通過打賞的形式讓礦工直接打包自己的交易,這就避免了被 Front-Running 的可能。雖然有那么點交保護費來避免被攻擊的感覺,但也實實在在的降低了交易者的成本,而且有著不收取交易失敗費用的優勢。

AMM 算法優化

在 AMM 機制下,大額交易產生過大的價格滑點(可理解為一個臨時的錯誤價格),是 Front-Running 的利潤空間,如果有一種 AMM 機制可以減少大額交易對后續交易價格的影響,就可以有效防止 Front-Running 攻擊。 早在 2018 年,Vitalik 在以太坊技術社區中提供了一個 方案,當發生兌換交易時,交易池價格不會立刻調整成真實價格,而是在若干分鐘內,緩慢的趨向真實價格,這就好像交易池憑空多出了很多流動性一樣,因此我們將這種技術稱之為 Vitrual Balance (虛擬余額)技術。這種新機制,可大大壓縮套利者的利潤空間,有效防御 Front-Running 攻擊,同時還可以增加流動性做市商的收益,可謂一舉多得,1inch 的 mooniswap 就是這個方案的一個實現版本。

增加流動性

此外,還有種思路,就是盡可能的加大交易池中特定價格區間的流動性,流動性越大,滑點越小,當流動性大到一定程度的時候,搶跑機器人就喪失了盈利空間,Uniswap 的 V3 版本的聚焦流動性特性,就是在這方面做出的努力。

我們有理由相信,在各個團隊堅持不懈的努力之下,隨著各種解決方案的持續演進,以及新一代 AMM、以太坊二層等技術的相繼落地,很快我們就可以為用戶提供一個更公平更安全的鏈上交易環境。

撰文:DeGate

Tags:以太坊RUNRONFRONT以太坊幣今日價格行情走勢rune幣總量CronospadBlast Frontiers

幣安下載
區塊鏈:幣圈動蕩、顯卡居奇背后:誰在為礦主們的瘋狂買單?_RTX

距離RTX 3070顯卡在京東自營上架開售,還有兩分鐘。倒計時中,“蹲守”在預約購買界面的大三學生肖揚,只覺得腎上腺素都在飆升.

1900/1/1 0:00:00
BONK:7項指標前瞻BTC走勢:指標大都未突破前高 市場價格被高估程度降低_中本聰BTCs

本月,BTC橫盤后開始下跌,從4月1日的開盤價58926.56美元下行至4月27日的收盤價55033.12美元,跌幅約為6.61%.

1900/1/1 0:00:00
DOGE:狗狗幣是如何成為網紅幣的?_比特幣今日價格

今年年初,“狗狗幣一天暴漲逾250%”登上了微博熱搜,這個有點搞笑又有點呆萌的狗狗再次出現在大眾視野,成為了無論是圈內或是圈外人關注的焦點.

1900/1/1 0:00:00
NFT:金色DeFi日報 | DeFi總鎖倉量突破1000億美元_DEF

1.DeFi總市值:1262億美元 市值前十幣種排名數據來源DeFiboxDeFi總市值數據來源:Coingecko2.過去24小時去中心化交易所的交易量:40.

1900/1/1 0:00:00
區塊鏈:金色趨勢丨以史鑒今 BTC將迎來超40%漲幅?_區塊鏈的三個基本特征

金色財經報道,芝商所(CME)高管周三在財報電話會議上討論了該公司的比特幣期貨產品,并預計下周推出的微型比特幣期貨有望為潛在的更大客戶群打開大門.

1900/1/1 0:00:00
DEFI:四月投后項目信息匯總:項目進展、團隊、合作、投融資等_IDEFI

4月投后項目信息匯總 Keep Network 公布 tBTC V2 版本特性4月3日消息,隱私層協議項目 Keep Network (KEEP)正在開發 tBTC V2 版本.

1900/1/1 0:00:00
ads