超前交易可拆解爲陷阱、操作市場、獲利了結三個部分,bZx 攻擊不過是另一種超前交易。

相關閱讀:《Front Running:去中心化交易的阿喀琉斯之踵

撰文:Linda Xie,區塊鏈投資機構 Scalar Capital 聯合創始人,Coinbase 早期產品經理
翻譯:盧江飛

他們是黑客嗎? (預言機黑客?DEX 黑客?)

他們是攻擊者嗎? (閃電貸攻擊者?智能合約攻擊者?)

或者這是套利行爲? (套利……糟糕的 DeFi 設計?)

2020 年 2 月 14-18 日發生的兩起涉及 bZx 的「攻擊」事件,引發了一些有存在主義意味的反思,焦點是市場的做市商和交易員有沒有新的設計空間。雖然這些攻擊讓人感覺新鮮,但如果我們拆解一下超前交易(front-running)的不同組成部分,就會發現這些攻擊不過是另一種味道的超前交易。

鏈聞注: Front running,譯作超前交易,或搶先交易,香港譯作扒頭交易,一般指交易員在執行客戶買賣委託之前,先替自己的賬戶買賣,因爲他知道客戶的訂單將改變市場價格。或者是交易員在自己發表的研究報告未廣泛傳播之前,先行買賣股票的行爲。

如果說在法幣的證券 / 衍生品交易市場,一切都是證券欺詐……那麼在 DeFi 中,一切都是超前交易。

什麼是超前交易 ?

超前交易包含三部分:

  1. 一個設置(下套)的交易
  2. 一個操縱市場的交易
  3. 一個獲利了結的交易

拆解 bZx 事件:不過是另一種超前交易

上圖:第一步,設置一個陷阱;第二步,操縱市場;第三步,獲利了結。

下面,我將展示如何應用此框架來理解法幣市場裏的「市場操縱」問題,繼而拆解 bZx 掠奪模式,並分析到底是什麼讓區塊鏈上的超前交易成爲一種未在法幣市場出現過的新攻擊模式。不僅如此,我還將解釋爲什麼 DeFi 合約可以採用「無價」(priceless)的設計模式來解決相關問題。

傳統市場操縱

假設你想針對某個股票進行某種內幕交易,比如特斯拉(股票代碼:TSLA),你可能會(天真地)按如下步驟操作:

  1. 一個設置交易
    • 購買一些短期 TSLA 看跌期權(puts)。
  2. 一個市場操縱交易
    • 找到一個辦法,在現貨市場借入並拋售 TSLA 股票,如果在這個交易結束時,你能逃脫且不用償還這些 TSLA 股票,那就更好了。
  3. 一個獲利了結的交易
    • 出售 / 行使你的短期 TSLA 看跌期權。

拆解 bZx 事件:不過是另一種超前交易

上圖:第一步,購買 TSLA 看跌期權;第二步,賣掉(借來的?) TSLA;第三步,行使看跌期權。

這是一種非常幼稚的內幕交易操作,也是超前交易的一種形式(在 TSLA 股票被大量拋售之前,你的 TSLA 看跌期權就超前交易了)。那些盯着內幕交易的人,往往會監控可疑的大型期權交易,以發現這種設置交易。我不是律師,但是我想,這麼操作的人大多數都會被抓住,因爲要設置這種陷阱又不暴露個人身份且在交易間不留下痕跡,那是非常難的。在後面章節中我們會發現,這一操作弱點在 DeFi 裏如何成爲一個強項。

這個 「三步框架」也適用於更多的傳統超前交易:

  1. 一個設置的交易
    • 下一些出售 TSLA 的限價單(如果您有一些 TSLA 股票,那就這麼做;如果沒有,請先購買)。
  2. 一個市場操縱的交易
    • 有幾種方式可以操作:
      • 說服某個人購買大量的 TSLA 股票。也許你是一位投資銀行家或私人財富顧問,認識某個有充足現金來推動這個市場的人。
      • 購買某人的 TSLA 的訂單流(Order Flow)。也許你認識某個觀察到很多 TSLA 散戶訂單的經紀商,他願意把這些訂單通過你路由到交易所去交易。
  3. 一個獲利了結的交易
    • 一旦你的市場操縱交易使得 TSLA 的買單價格上漲,並超過你的限價單的價格,你就可以推高的價格出售 TSLA 並獲利走人。

我們在下面會發現,在 DeFi 中,這些交易並不總是按線性順序發生。

拆解 bZx 式掠奪

下面我們把此框架應用於第一次 bZx 攻擊,更詳細的報道可在此查看。

  1. 一個設置的交易
    • 在閃電貸借入 ETH,並用這些 ETH 在 Compound 上借入 wBTC。
  2. 一個市場操縱的交易
    • 使用部分借入的 ETH 在 bZx 上建一個 5 倍 wBTC / ETH 多頭頭寸。
    • bZx 將在 KyberSwap 上發起大量 wBTC / ETH 的買入(路由到 Uniswap)以實現槓桿作用,從而導致 wBTC / ETH 價格在流動性不足的市場中飆升。
  3. 一個獲利了結的交易
    • 在 Uniswap 上以推高的價格出售 wBTC,獲得 ETH。
    • 如果這個市場操縱的交易成功,你獲得的 ETH 不僅足夠用來償還第一步的 ETH 貸款,還有一些超額利潤。

拆解 bZx 事件:不過是另一種超前交易

上圖:bZx 遭到的第一次攻擊。

步驟一:借入 ETH,借入 wBTC;步驟二:在 bZx 上開 5 倍 wBTC / ETH 多頭,從而在 KyberSwap 上觸發大量 wBTC / ETH 的買入;步驟三:賣出 wBTC,還掉 ETH 貸款,並獲得額外 ETH 利潤。

下面,我們將此框架應用於第二次 bZx 攻擊,關於該攻擊的詳細報道可以在此查看。

  1. 一個設置的交易
    • 在閃電貸借入 ETH,賣出部分 ETH 換取 sUSD。
  2. 一個市場操縱的交易
    • 使用借入的另一部分 ETH,在 KyberSwap 上購買 sUSD (路由到 Uniswap),從而促使 sUSD / ETH 價格在流動性不足的市場中飆升。
  3. 一個獲利了結的交易
    • 按推高的價格,用第一步獲得的 sUSD 在 bZx 上借到 ETH。
    • 如果這個市場操縱的交易成功,你獲得的 ETH 不僅足夠償還此前的貸款,還能有一些超額利潤。

拆解 bZx 事件:不過是另一種超前交易

上圖:bZx 第二次攻擊。

步驟一:借入 ETH,賣一部分 ETH 換得 sUDS;步驟二:在 KyberSwap 賣出一些 ETH 換取 sUSD;步驟三:在 bZx 用 sUSD 借入 ETH,這樣不但償還了此前貸款還獲得額外的 ETH 利潤。

是什麼讓 DeFi 不同?

爲什麼本文標題會定爲「一切都是超前交易」呢?如果使用上面的框架來分析其他 DeFi 黑客 / 掠奪 / 操縱事件,我們將看到:

  1. 設置交易和市場操縱交易是無法被制止的。只要人們可以在鏈上借用資產,並在去中心化交易所(DEX)上進行交易,步驟 1 和步驟 2 就總會發生。
  2. 獲利了結的交易,礦工應該能識別出來。如果發覺某交易的發起人將獲得一筆給定利潤,這筆交易的礦工(執行人)可以向交易發起人收取「礦工可提取價值」,也有人稱之爲「榨乾超前交易」(dry front-running)。
  3. 如果三個步驟是按順序執行,以上陳述總爲真;如果超前交易者在區塊鏈的一個交易內完成所有三個步驟,那麼上述陳述就更加正確了。當然,此時礦工也能更容易的識別出獲利了結的交易。

另一個讓 DeFi 不同的重要因素是閃電貸。不過,在本文提及的框架中,閃電貸僅影響三個交易中的一個:它使市場操縱交易比以往更有效。有幾種方案可以減少閃電貸的影響:

  • 交易所可以通過建設更有深度、流動性更高的市場來解決問題,但這很難,且耗費時間(一個魔高一尺道高一丈的遊戲)。
  • DeFi 項目(比如放款 / 借款協議)可以嘗試更多的使用抗市場操縱的價格流(price feeds),比如 TWAPs、medianizers 等。這最終會變成一個「貓鼠遊戲」,直到執行市場操縱交易的成本高於從獲利了結交易賺得的利潤。
  • DeFi 項目可以選擇不使用鏈上的價格流,而選擇以一種「無價」(priceless)或「樂觀」(optimistic) 方式操作。

在我看來,這些選擇中的最後一個似乎最有吸引力。這就得重新設計 DeFi 協議中的激勵結構,但我非常希望能參與這方面的對話。您可以在 這裏 查看一個示例,它詳細介紹瞭如何構建一個「無價」版本的 BitMEX,你也可以密切關注後續文章,我會試着重新設計一些知名 DeFi 項目的「無價」版本。

來源鏈接:lildex.com