Front Running:去中心化交易的阿喀琉斯之踵

2020-12-16 火星財經

免責聲明:本文旨在傳遞更多市場信息,不構成任何投資建議。文章僅代表作者觀點,不代表火星財經官方立場。

小編:記得關注哦

來源:鏈聞

原文標題:Front Running:去中心化交易的阿喀琉斯之踵

撰文:李畫

來源:鏈聞

致謝:郭宇、孫志鵬、吳為龍、焦慮研究院

在《明日邊緣》中,人類的各種戰術對於入侵的外星人都是無效的,因為一旦這種戰術生效,外星人在被幹掉後就會把時間倒回到戰役發生前,整個過程重來一遍。在這個新的時間中,外星人知道什麼將會發生,當然也就知道怎麼應對。

《明日邊緣》宣傳語:生死輪迴

在區塊鏈中,也有人知道什麼將會發生。他們不僅知道未來會發生的事情,他們還可以像《明日邊緣》中的外星人一樣,利用這種信息去行動,以生成一種對自己有利的未來。

這一切從何說起?就從最近風口浪尖的閃電貸事件開始。

閃電貸事件始末

閃電貸事件中黑客賺錢的方法與你我的方法無異:低點買,高點賣。唯一不同的是黑客知道低點在哪兒、高點在哪兒。他為什麼知道?因為馬上要把價格拉升起來的人正是他自己。

一個僅用於說明原理的模擬攻擊過程是這樣的:通過 dYdX 的閃貸功能借入 60 ETH,然後在 Compound 抵押 40 ETH 借出 1 BTC,再用剩下的 20 ETH 在 bZx 加 5 倍槓桿買入 BTC,此槓桿交易的流動性由 Uniswap 提供,導致 Uniswap 上 BTC 對 ETH 的價格猛漲,這時候再把 1 BTC 賣給 Uniswap,假設平均賣價漲了一倍,就能賣出 80 ETH,還掉最初借的 60 ETH,盈利 20 ETH。(真實過程可閱讀文末的參考資料 1、2)

圖自 CryptoLaboratory

可以認為黑客有兩個分身,分身一拉盤(20 ETH × 5 = 100 ETH),分身二獲利(40 ETH),在這個過程中,分身二賺的錢以及 Uniswap 做市商賺的錢加起來應該等於分身一虧的錢,也就是說總體算下來,黑客是賠錢的,但由於 bZx 存在合約漏洞,沒有及時爆分身一的倉,導致 bZx 的儲戶也一起承擔了虧損,而這正是黑客攻擊可以成立的原因。閃電貸在整起事件中的作用只是提供初始資金,使得黑客可以無成本、零風險完成攻擊。

不過,這起攻擊事件本身不是本文關注的核心,講述這個例子是因為它清晰地展現了一件事情:如果知道未來有人會大量買入(市場上會有大的價格波動),就可以在其買入前「埋伏」起來,實現盈利。形象化來說就是:如果 A 計劃買入大量 ETH, B 知道了 A 的購買意圖,就可以搶在 A 之前以當前價格買入 ETH,再以更高的價格賣掉,賺取差額。

在傳統金融市場中,這種行為屬於 Front Running (搶先交易)。Front Running 是指:如果從非公開信息中預先知道會影響到資產價格的大型交易,就可以搶先買賣以獲得利潤。

它主要包含兩種情況:

交易商在執行客戶買賣委託前,認為客戶的買賣將改變市場價格,因此先替自己的帳戶買賣的行為; 經紀商在自己發表的研究報告尚未廣為散播之前,先行買賣股票的行為。

在鏈上的去中心化交易市場中,Front Running 與上述的第一種情況比較類似,是在得知對方的購買意圖後,搶先完成自己的交易。這種行為在傳統金融市場中是違法的,因為利用的是非公開信息,但在區塊鏈上很難認定它違法,因為其利用的是「公開」信息。

由於區塊鏈時間的特殊性,區塊鏈上的未來是可以在發生前被「看見」的,也就是說,我們在一筆交易發生之前便知道這筆交易會發生,就像執行客戶買賣委託的交易商知道買賣會發生一樣。

區塊鏈的時間特殊性

區塊鏈是一個分布式的系統,其最大的問題之一是參與者無法就物理時間達成共識。但為了確定交易順序從而避免雙花,網絡參與者們對時間達成共識又非常重要,因此中本聰把工作量證明與最長鏈原則結合在一起,實現時間戳服務:用區塊的先後順序代表時間的先後順序,參與者們只需對區塊順序達成一致即可。可以認為區塊是區塊鏈上的基本時間單位。

那麼,如何把一筆交易的分秒時間單位轉換成區塊時間單位?

交易在被提交後,會進入一個叫做交易池的地方,這裡還有很多其他交易。礦工會從交易池中選擇交易打包進下一個區塊,這些交易有默認的優先次序,物理時間是決定次序的一個因素,但不是最重要的因素,比如礦工費就遠比物理時間重要。只有被選擇進入下一個區塊的交易,才會從分秒時間單位轉換成區塊時間單位,也只有當這種轉換完成後,這筆交易才算真正地在區塊鏈上發生。

不難發現,交易要先在物理時間發生,然後在交易池中等待,最後在區塊鏈上發生。這個不確定的等待過程會導致交易意圖暴露,使得 Front Running 很容易發生。

誰能看見暴露了的交易意圖?最典型的是礦工。礦工是打包交易的人,他們不僅能看見交易,甚至知道哪些交易會進入下一個區塊,以及這些交易在同一區塊中的順序。從技術角度而言,礦工可以通過對交易次序的幹預,把自己的交易插入到合適的位置。在 Front Running 這件事上,沒有人比礦工更具優勢。

除了礦工,我們每個人也都可以看到交易意圖。因為交易是先被廣播到網絡,然後進入交易池的,而所有人都可以去監聽交易廣播。對於 DEX 上的交易者、交易機器人而言,只需要監控 DEX 上的交易情況,在發現交易意圖後,通過提高交易費的方法讓自己的交易排在前邊,從而完成 Front Running,實現無風險盈利。

但 Front Running 顯然是不公平的,它破壞了正常交易者的交易策略、損害了他們的交易利益。一個不準確但可以說明問題的例子:你計劃從市場購買 100ETH,可能的平均價格是 270 美元 /ETH;但交易機器人發現你的交易意圖後搶先買入,它是以 270 美元 /ETH 價格買的,而你可能就要以拉升後的 280 美元/ETH 的價格買,多花費 1000 美元。

在這種情況下,人們怎麼可能在 DEX 上進行大規模的交易?每筆交易都有可能被「揩油」。只要 Front Running 存在,DEX 就難成規模。

DEX 上的 Flash Boys

2019 年,活躍的康奈爾大學區塊鏈研究員菲利普戴安與同事一起發表了一篇論文,名為《Flash Boys 2.0:去中心化交易中的搶先交易,交易重排及不穩定共識》,分析了區塊鏈上的交易機器人通過提高交易費、減少網絡延遲進行搶先交易的情況。

Flash Boys 來源於《大空頭》作者麥可·劉易斯的《Flash Boys:一場華爾街起義》一書,指代的是華爾街上的一群高頻交易員們。

《Flash Boys:一場華爾街起義》,麥可·劉易斯著

區塊鏈上的 Front Running 會被拿來與高頻交易(High Frequency Trading)進行比較,因為它們具有一定的相似性。

高頻交易會在所有交易所放上「誘餌」訂單,這些小額訂單提供最低的賣價和最高的買價,當一筆大交易分拆成多筆交易在多個交易所完成時,它們最先遇到的總是這些誘餌,如此一來其交易意圖就可能暴露(還有其他方法一起預測該交易的情況);與此同時,高頻交易利用更好的技術與更「直」的網線,搶在這筆大交易的其餘部分完成之前,在各個交易所進行相關股票的買賣,然後通過價格差賺錢。

高頻交易究竟有多賺錢?我們可以找到一個有趣的途徑進行反推:劉易斯曾談論過一個為 Citadel 證券工作的人,他每年的薪水是 9000 萬美元,但他後來憤怒地離職了,因為覺得公司沒有給夠他薪酬。

高頻交易和區塊鏈上的 Front Running 都包括兩個基本的組成部分:發現交易意圖,搶先完成交易。只不過前者是通過「誘餌」發現交易意圖,後者是通過監聽發現交易意圖;前者是通過更好的技術把自己的交易提前,後者是通過更高的交易費把自己的交易提前。

兩者的不同之處在於,高頻交易的時間窗口很小,所有人都是以納秒為單位進行賽跑,這對高頻交易系統有著極高的要求;而區塊鏈上的 Front Running 基本只受交易費的影響,出的錢越多,就越能跑到前邊。

總體而言,從交易的手法來說,區塊鏈上 Front Running 更接近於傳統金融市場中的高頻交易,只不過用更高的交易費代替了更「直」的網線。從性質、不公平的程度,以及對市場的傷害而言,它則更接近於傳統金融市場中的 Front Running,只不過在區塊鏈上這種交易行為算不上違法,因此也不能被禁止。

解決之道

避免去中心化交易中的 Front Running 問題,需要從 DEX 本身的設計入手。不同特點的 DEX 協議,可能會發展出不同的方法。

荷蘭拍模式的 DEX 協議很難發生 Front Running,典型的代表是 DutchX,交易間的競爭主要基於價格而不是基於「時間」,且這些交易都以相同的價格被執行,Front Running 無利可圖。不過由於荷蘭拍完成的時間較長,對時間敏感的交易需求無法通過 DutchX 滿足。

自動化做市模式的 DEX 協議較難阻擊 Front Running,比如 Uniswap,它根據可用的流動性自動調整價格,交易的大小對報價有較大影響,而交易的順序就決定了成交的價格。為了減少 Front Running 帶來的破壞,Uniswap 採用的方法是允許用戶指定交易的最高價格,這樣一來用戶可能無法完成交易,但不會以難以接受的高價完成交易。不過這是一種權宜之計,真正解決問題的方法還需要進一步被探索。

目前應用最廣泛的、基於訂單簿模式的 DEX 協議,在對抗 Front Running 的難易程度上基於前兩類協議之間。可以通過對 DEX 的設計來減少 Front Running 的影響:已經被應用的方法是引入一些中心化,比如由管理員在鏈下完成訂單的匹配,並限制只允許管理員最終提交至鏈上進行結算;正在發展中的方法是利用零知識證明,隱藏交易者的交易意圖。根據已有的經驗,用密碼學的方法來解決區塊鏈上的問題似乎是比較理想的途徑。

Front Running 是 DEX 面臨的普遍問題,也是阻礙 DEX 成為主流選擇的重要原因。但隨著技術的發展,我們有可能規避或控制 Front Running。本文討論的是 DEX 的問題,但這些問題並不能用來證明 DEX 不是一種好的選擇,我們討論它,恰恰因為它值得討論。

參考資料

《Bzx 閃電貸事件之套利邏輯,盈虧分析和敏感度測試》,作者:天然;

《PeckShield:硬核技術解析,bZx 協議遭黑客漏洞攻擊始末》,作者:PeckShield;

《閃電貸:一筆以太坊交易能做什麼?》,作者:阿劍;

《談去中心化交易所 Front-Running 的問題時,我們在談什麼?》,作者:克洛說;https://bihu.com/article/1695326980

相關焦點

  • 阿喀琉斯之踵
    在讀《奢侈的》這本書,裡面有這句話「普拉達的迴避態度,其實不明智地露出了今天奢侈品業的阿喀琉斯之踵」。讀到這句話的我一臉懵逼,這是什麼意思?!無知的我上網查了資料,阿喀琉斯是西方荷馬史詩中的英雄,他是凡人英雄珀琉斯和海洋女神忒提斯的兒子。
  • 什麼是阿喀琉斯之踵?寓意深刻的古希臘神話與寓言
    阿喀琉斯之踵(Achilles' Heel),原指阿喀琉斯的腳跟,因是其唯一一個沒有浸泡到神水的地方,是他唯一的弱點。後來在特洛伊戰爭中被人射中致命,現在一般是指致命的弱點,要害。阿喀琉斯,是凡人珀琉斯和美貌仙女忒提斯的寶貝兒子。
  • Alina塔羅佔卜——小人與阿喀琉斯之踵
    Alina塔羅佔卜——我的性格特點及在人際關係中的近況、對策中提到的)阿喀琉斯是古希臘神話中的英雄。阿喀琉斯是凡人珀琉斯和海洋女神忒提斯在阿喀琉斯剛出生時就捏住他的腳後跟將其倒提著浸入可是令人遺憾的是,阿喀琉斯的腳後跟由於被母親的手提著,因此並未沾到冥河水。這成了他全身留下的唯一的弱點。後來,在特洛伊戰爭中,阿喀琉斯被帕裡斯一箭射中腳踝而死去。
  • 「達摩克利斯之劍」與「阿喀琉斯之踵」
    國王則提議與他交換一天的身份,那樣他就可以體驗一下作為一國之主是什麼感覺。在晚上舉行的宴會裡,達摩克利斯當然非常享受,可是直到晚宴結束,他才注意到王位上方僅用一根馬鬃懸掛著的利劍。嚇得他立馬跪地請求狄奧尼修斯放過他,他再也不想得到這樣的幸運。
  • 寒冬裡,他們為幹警把脈「阿喀琉斯之踵」
    寒冬裡,他們為幹警把脈「阿喀琉斯之踵」 2021-01-13 17:51 來源:澎湃新聞·澎湃號·政務
  • 阿喀琉斯之踵:再強大的人也有出其不意的弱點
    阿喀琉斯是半人半神,她的母親是海洋女神,父親是個凡人英雄。由於他的母親想把阿喀琉斯變成一個完完全全的神,所以在阿喀琉斯很小的時候便把他帶到冥河那裡,用冥河水不斷浸泡阿喀琉斯的身體,浸泡的方式也很特別:他的母親一隻手提著阿喀琉斯的一隻腳後跟將他浸入冥河水中。於是阿喀琉斯全身變得刀槍不入。
  • 阿喀琉斯之踵!官方:伯恩利前鋒沃爾特斯因跟腱傷勢退役
    沃爾特斯在自己的twiier上寫道:「這難道不諷刺嗎...我的『阿喀琉斯之踵』確實是我致命的弱點,這讓我很失望。現在,我結束了我的足球運動員生涯。」沃爾特斯2000-01賽季在布萊克本流浪者開始了自己的職業生涯,19年職業生涯輾轉了13支球隊。2010年入選愛爾蘭國家隊,迄今為止為愛爾蘭隊出戰54場比賽,打入14球。
  • 原創|誰偷襲了恆大集團的「阿喀琉斯之踵」?
    被人偷襲了怎麼死的都不知道第三個感覺就是「阿喀琉斯之踵」。現代企業其實有個通病,也就是現代企業的普遍特徵,那就是融資風險的巨大性。基本上任何一個現代企業都會負債,要麼是民間借貸,要麼是正規金融機構借貸。借貸好啊!
  • 跟腱斷裂——運動員的阿喀琉斯之踵
    荷馬史詩裡面,記載著這麼一個英雄:阿喀琉斯。阿喀琉斯,是凡人英雄珀琉斯和海洋女神忒提斯的愛子。忒提斯為了讓兒子煉成「金鐘罩」,在他剛出生時就將其倒提著浸進冥河。遺憾的是,阿喀琉斯被母親捏住的腳後跟卻不慎露在水外,在全身留下了唯一一處「死穴」。後來,阿喀琉斯被帕裡斯一箭射中腳踝而死去。現在我們用這個詞語來比如人的弱點。
  • 蔣凡,阿喀琉斯之踵與狼人殺
    穩打穩紮地上升,從接手手淘,到阿里北京技術中心主席,首席架構師。 到淘寶總裁,天貓總裁。 35歲,這才是明日之子。 這份履歷完美如職場的阿喀琉斯,眾神都屏息關注,於是早早傳聞,他是未來的阿里太子,啊不不不,太子太粗糙了,還是說「繼承人」吧。
  • 蒂亞戈的離去讓我們看到了拜仁的阿喀琉斯之踵
    整場比賽,拜仁的主題就是在強硬逼搶,但是諾伊爾成為本場最佳的尷尬後面,我們清楚的看到了拜仁的阿喀琉斯之踵。那就是缺乏前場向前傳球的中場球員,這是本場比賽中的拜仁與上賽季的拜仁的最大不同。最大原因就是蒂亞戈和庫迪尼奧的離開。
  • 阿喀琉斯之踵,Nike 正式發布 Kobe 11 戰靴
    阿喀琉斯之踵Nike 正式發布 Kobe 11 戰靴
  • 再有本事的人,也有「阿喀琉斯之踵」,這六字是保護它的不二法門
    爺爺說,古希臘神話中有個著名人物,叫阿喀琉斯。阿喀琉斯,是凡人英雄珀琉斯和海洋女神忒提斯的愛子。忒提斯為了讓兒子煉成「金鐘罩」,在他剛出生時就將其倒提著浸進冥河。遺憾的是,阿喀琉斯被母親捏住的腳後跟卻不慎露在水外,在全身留下了唯一一處「死穴」。後來,阿喀琉斯被帕裡斯一箭射中腳踝而死去,所以,大家常以「阿喀琉斯之踵」來說明這樣一個道理:即使是再有本事的人,也有致命的死穴或軟肋。
  • 人類認知的阿喀琉斯之踵
    所以你看,人無癖好不可與之交,我這才是有血有肉有情感的可交之人!額~02遇到這樣的場景該怎麼辦?其實很簡單,你只要懂一點概率推理的原理,就可以將其推翻。只是,對概率推理的接受無力似乎是人類認知的阿喀琉斯之踵。因為,人們很難接受概率性預測的現實,即人不是生活在一個確定的世界當中。
  • 特洛伊戰爭:阿喀琉斯與彭忒西勒亞
    紛爭女神厄裡斯由於沒被邀請去參加婚禮,就氣衝衝地出現在婚禮上並留下個金蘋果,還說「送給最美麗的女神」……各位讀者們應該知道後面的故事了……也就是說,阿喀琉斯的誕生是來善後的……阿喀琉斯的入軍有趣的是阿喀琉斯是在一群公主中長大的,還秘密的和一位名叫「伊達彌亞」的公主結婚,並得一子(此子後被阿伽門農之子所殺)。嗯……阿喀琉斯……小可愛不說了,厲害!更厲害的是因為「沒有阿喀琉斯希臘軍便無法攻破特洛伊」的神諭,阿伽門農便派奧德修斯去斯庫羅斯島找阿喀琉斯。
  • 從希臘怪獸到神話英雄,字母哥要在NBA稱王,應克服阿喀琉斯之踵
    前言:古希臘的輝煌文明本身就是一部關於英雄的讚歌,來自這片土地的揚尼斯·阿德託昆博體內也流淌著英雄的血液,那些曾經閃耀在神話史詩中的英雄之魂,在這個25歲的年輕人身上重新燃燒,他如同那位擁有半神之軀的阿喀琉斯,身懷萬夫莫敵之勇,但離天下無雙始終差那麼一些,他們的身上,都有著名為阿喀琉斯之踵的致命傷。
  • 《特洛伊》:以阿喀琉斯之名
    電影《特洛伊》則斂去引發戰爭的不和女神和暗中放箭的阿波羅,展現活生生的人用生命的激情衝撞命運的枷鎖,更高貴的人性與榮耀這才脫穎而出。於是我們得以透過神話的輕紗,一窺這位肉身傳奇左右特洛伊戰爭,成就阿喀琉斯之名的三次重要抉擇。
  • 阿喀琉斯對戰喀戎,弓兵終於是遠程
    喀戎是希臘神話中的半人馬,很多英雄的老師,他的學生有赫拉克勒斯和阿喀琉斯,在劇情裡他和阿喀琉斯是對立方,兩人上演一場巔峰對決,世人都知道不死英雄阿喀琉斯唯一的弱點是腳踝,又名阿喀琉斯之踵
  • 組織再生:修復阿喀琉斯之踵
    阿喀琉斯在希臘神話中被譽為希臘第一勇士,他唯一的弱點就是他的腳踝,所以解剖學上也將人腳踝部位的肌腱命名為阿喀琉斯腱,也就是跟腱。來自浙江大學幹細胞與再生醫學研究中心的研究者最近發表了一種治療小鼠肌腱損傷的新方法。
  • 鑑賞|大英博物館「特洛伊」展中的阿喀琉斯是誰?
    陶製浮雕,約公元前490至470年,表現了忒提斯為了拒絕佩琉斯的求婚,將自己幻化成火焰、野獸(這裡表現的是獅子)的場景阿喀琉斯之踵與他的女神母親不同,阿喀琉斯是一個凡人。在他出生之時,忒提斯便將阿喀琉斯放入斯堤克斯河(River Styx)浸泡使其刀槍不入,但由於被抓住的腳踝沒有沾到河水而成為阿喀琉斯唯一的弱點,這便是諺語「阿喀琉斯之踵」的由來。