BloXroute、Blocknative 與 Alchemy 的以太坊 Mempool 服務各有何特點?

原文標題:《熱點丨如何利用高效 Mempool 服務在 DeFi 中獲利?》
撰文:KeeperDAO
翻譯:Olivia

Mempool 是一組已經廣播到網絡並等待被打包進區塊的以太坊交易。Mempool 服務可以直接追蹤交易的生命週期。當交易被用戶廣播到節點後,會在 Mempool 中進行等待,然後交易會被打包進一個區塊,或者被網絡放棄。一個好的 Mempool 服務會爲你監控這個過程中存在的每一筆交易。

DeFi 交易者如何藉助以太坊 Mempool 服務獲利?交易者分析以太坊 Mempool (內存池),可以大幅提高獲取利潤的機率

Mempool 是如何用於 DeFi 交易的?

交易者分析以太坊 Mempool,以大幅提高獲取 MEV (礦工可提取價值)的機率。Mempool 可以應用的交易策略有多種不同類型。這些策略中的一部分會涉及尋找原本不存在的交易機會。因此,自這些 Mempool 服務進入市場以來,DeFi 交易生態系統已經發生了巨大的變化。

  • Front running:確定贏得 Gas 拍賣所需的 Gas price。
  • Back running:根據另一個用戶的交易結果,預測交易機會,並將其打包進未來的區塊。
  • Sandwiching:預測交易機會,通過將另一個用戶的交易機會推到最大滑點極限,從而預測未來的區塊,這將導致在以後的時間(通常是在同一區塊內)出現套利機會。
  • Generic predator (掠奪者):劫持交易調用,希望能在 Front running 中運行 Gas 拍賣,從而獲取 MEV (礦工可提取價值)。這通常是通過用 Predator 的地址替換原始交易者的地址,並以更高的 Gas price 提交新的交易來完成的。

競爭者

雖然我們下面討論的公司和產品提供了各式各樣的產品和服務,但我們這次討論的重點是他們的以太坊 Mempool 功能。

BloXroute

BloXroute 是一個區塊鏈加速網絡(BDN),利用全球服務器網絡優化網絡性能。他們投入了大量的資源,爲以太坊 DeFi 交易者和構建者構建網絡基礎設施。你可以在他們的博客上了解他們的發展。他們的 Mempool 功能叫做「訂閱 NewTX 流」,可以在他們的產品定價頁面上找到。在那裏你會發現各種其他有用的功能,其中許多功能將幫助您建立一個更強大的 DeFi 產品,並在市場上獲得交易優勢。

BloXroute 通過 websocket 連接向您發送 Mempool 事件。它們的速度非常快並且包含所有信息,這意味着你可以在你的終端進行交易過濾。因此,如果你正在關注 Uniswap 上的交易,那麼你可以簡單地根據感興趣的 Uniswap 地址進行過濾。

Blocknative

Blocknative 運營着一個橫跨比特幣和以太坊的全球 Mempool 數據平臺。他們專門爲以太坊 DeFi 交易者和構建者提供 Mempool 服務。你可以在他們的博客上閱讀他們的最新發展。他們的 Mempool 功能叫做「Mempool 瀏覽器」,相關信息你可以在他們的產品上找到。

Blocknative 會根據你的觀察列表,專門通過 webhooks 向你發送 Mempool 事件,該列表託管在 Blocknative 的服務器上。因此,如果你正在關注 Uniswap 上的交易,就可以簡單地將 Uniswap 地址添加到自己的觀察列表中,然後就能開始接收 webhook 事件。

Alchemy

Alchemy 會提供基本的比特幣和以太坊節點設施服務。他們爲以太坊 DeFi 交易者和構建者提供了一個非常方便的 API 端點。他們的 Mempool 功能叫做 「alchemy_newFullPendingTransactions」,可以在他們的文檔中找到。

Alchemy 通過 websocket 連接向你發送 Mempool 事件,這些事件包含了所有信息,這意味着你要在你的終端進行過濾。因此,如果您正在關注 Uniswap 上的交易,您可以簡單地根據感興趣的 Uniswap 地址進行過濾。

性能基準

我們在 DeFi 交易中廣泛地使用了這三種服務,並看到了它們在性能上的巨大差異。下面概述了性能測試結果和獲得的所有數據 , 其中性能是以毫秒爲單位的延遲來度量的。我們將所有三個服務連接到我們的 keeper 機器人上,並監控 Uniswap 的路由器合同,以及記錄每個服務報告傳入交易的時間。一旦記錄下來,這些信息就被繪製出來,並對公衆開放。

假設每筆交易的基線爲第一個 Mempool 服務發現該交易時的基線。所以,第一個發現交易的服務將被定位零延遲,而之後每個服務的延遲將等於它發現它與第一個服務的時間差。

DeFi 交易者如何藉助以太坊 Mempool 服務獲利?

這張圖中的數據描繪了一幅非常清晰的圖景。 BloXroute 的延遲始終運行在零線上。Blocknative 的延遲始終比 BloXroute 的稍差。Alchemy 的情況很糟糕,有時甚至會比其他服務晚好幾秒。

DeFi 交易者如何藉助以太坊 Mempool 服務獲利?

我們進一步放大來看,Blocknative 始終比 BloXroute 落後 175ms 左右。如果你正在操作一個每天交易數百或數千次的大型交易,這就會造成很大的差異。

DeFi 交易者如何藉助以太坊 Mempool 服務獲利?

BloXroute 在 235 次交易中率先檢測到 228 次交易。

爲什麼擁有最快的 Mempool 服務很重要?

以上實驗結果表明,交易者的 Mempool 服務選擇直接影響其盈利能力。根據 ethstats.net 的數據顯示,現在以太坊區塊時間平均只有 13 秒多。落後 180ms,或者更糟糕的是 1000 多 ms 時將大大削減你的交易利潤,減少交易被打包下一個區塊的可能性。同時滯後也會減少你在 Gas 拍賣中的反應時間。

Websockets 與 Webhooks 的比較

值得比較的是這些 Mempool 服務使用的兩種事件交付方式。從技術上講,Websocket 應該更快,然而它的可靠性可能稍差。使用 Websocket 連接,客戶端有可能在斷開連接時錯過一個事件。而使用 Webhooks 連接時,你收到的每個 Mempool 事件都有自己的網絡連接,該連接爲每個 Mempool 事件進行事件推送。這可能會增加少量的延遲開銷,但同時也增加了一些可靠性。值得一提的是,交易員可能更喜歡較低的延遲,而 DeFi 產品構建者可能更喜歡相對可靠的。

最佳性能和冗餘解決方案

如果您是一名交易員,並且希望在性能和可靠性方面兩全其美,這裏有一些可能適合你的冗餘解決方案。

解決方案 A)使用最快的服務,BloXroute,並連接到多個網關。你可以在自己的服務器上運行自己的 BDN 網關,也可以連接到多個託管網關。你也可以指定這些網關分佈在不同的地區,這樣如果一個地區的網絡出現問題,你就不會在一段時間內完全失去 Mempool 的訪問權。

解決方案 B)使用多個 Mempool 服務。這樣你就能以儘可能快的速度獲取數據,如果一個服務因爲任何原因宕機,你還有另一個服務可以依靠。這裏唯一的缺點是,它使你的 Mempool 服務費用成倍增加。

價格比較

所有價格比較均以 2020-12-4 爲基準。請注意,每個服務的功能列表和價格結構是隨時可變的。

與其他服務相比,BloXroute 的定價是非常大方的。240 美元的專業版是非常有價值的,考慮到你得到的是性能最好的 Mempool 服務與零費率限制,以及大量的其他有用功能。

Blocknative 的定價很難與 BloXroute 的定價相比,原因有幾個:首先,他們只提供 Mempool 服務,所以你不會像 BloXroute 那樣得到任何額外的東西。其次,他們規定了每天的 API 事件限制,乍一看可能不像是個問題,但實際上是一個巨大的限制。讓我們來看看這如何發揮出上面這個基準測試中的信息。

假設你是一個 DeFi 交易員,你正在利用 Back running,你將希望監控所有傳入 Uniswap 的 Mempool 交易。實際上,你會想在大量的協議上做這件事,比單純的 Uniswap 要多得多。但讓我們保持簡單化,只關注上面使用的一個單一的 Uniswap 路由器。在基準測試的數據中,讓我們把重點放在第一個和最後一個數據輸入上,這樣我們就可以得到每天的大概交易量,以便與 Blocknative 的 API 事件每天的限制進行比較。

測試從這第一筆交易開始,到這最後一筆交易結束。也就是從 11381311 塊到 11381328 塊,時間跨度約爲 4 分鐘。在這段時間裏,我們評估了 235 筆交易。大約每秒鐘就有一筆交易,由於每天有 86400 秒,這意味着每天大約有 86400 筆交易。這大約是 Blocknative 生產計劃的 8 倍速率限制。這就把你推到了增長計劃(Growth),每月 833 美元。但這其中是有問題的,因爲如果 Uniswap 變得更受歡迎,你會受到速率限制,並被迫跳到每月 8300 美元的領導者計劃(Leader)。這很快就會變得很昂貴。

Alchemy 的定價通常是非常靈活的。然而,Mempool 特定的定價對你的速率限制表現的不友好。如果你想跟蹤交易,這需要你監控所有傳入的交易到 Uniswap,你會在很短的時間內喫掉你的速率限制。Alchemy 甚至在他們的文檔中提到了這一點。

alchemy_newFullPendingTransactions 訂閱類型的維護成本超級高,而且需要大量的計算單位,因爲它發出的是完整的交易信息,而不僅僅是交易哈希。我們不建議非企業層用戶長期保持該訂閱類型的開放。

使用這些服務 VS 運營自己的節點

一般來說,運行和維護自己的節點並不困難,特別是如果你只是單純的使用它來進行以太坊調用。然而,Mempool 則是一個不同的運行方式。在 Mempool 交易的早期,交易者會從自己的節點上獲取 Mempool 信息。這就是競爭激烈的地方。誰擁有更好的 Mempool 基礎設施,誰就能在每一次交易機會中比別人略佔優勢。而當你把這種微弱的優勢乘以成百上千的日常交易機會,就會產生巨大的優勢。

假如你不想使用這些服務之一,你想自己運營這個網絡。你將需要一個散佈在世界各個地區的節點網絡。理想情況下,你還需要 GETH 和 Parity 節點,因爲它們的行爲有些不同。你甚至可能想要以不同的方式配置各種節點,以反映你預測礦工可能會配置他們的節點的方式。今天大多數礦工都運行 GETH,所以你可能可以只運行 GETH。但當你有一個大的交易操作時,你要儘可能地覆蓋你的基礎。

成本也是一個重要因素。你必須考慮到在世界各地的服務器上運行自己的節點的成本。同時也要考慮到你開發一個系統的時間成本,這個系統能夠將所有這些交易從你的節點網絡路由到你的交易機器人。

結論

BloXroute 毫無疑問是最好的以太坊 Mempool 服務,適用於大規模交易操作的自動化 DeFi 交易者。他們不僅提供最低的延遲,而且還擁有最友好的速率限制(幾乎沒有)以及合理的價格。而且雖然我們相信你自己運行的節點,但大多數交易者都不太可能像 BloXroute 那樣低成本、高性能地運營自己的 Mempool 基礎設施。