來聊聊MEV之亂
MEVA vs Fair Ordering.
前言
最近這幾個月來,以太坊上面的MEV(Miner Extractable Value)的話題越來越紅,對於該如何解決這之中的不公平性,社群中展開了很大的爭論。由於最近剛好看到一篇很棒的Tweet統整了這半年來的一些好文章,就試這整理一下這幾篇的主要論點。(如果對MEV已經有基本概念的人,也可以直接follow這個thread就好xD)
由於主要辯論的雙方剛好是目前做Optimistic Rollup最有名的兩大團隊:Optimism 和 Arbitrum,因此我們也可以透過這次辯論看出兩個團隊未來的開發走向。
前情提要: 什麼是MEV (Miner Extractable Value)
在Ethereum現有設計中,Miner有著選擇交易收入區塊(Tx Inclusion),和決定交易先後順序(Tx Ordering)的權力。MEV指的就是礦工透過掌握這兩個權力所能提取的總價值。
雖然名詞定義上為礦工的可抽取價值,但是除了礦工之外,很多Front running 機器人在做的事情也是一樣的:透過觀察mempool裡面的交易,當發現front run機會的時候,透過付錢更高手續來讓自己的交易先被執行,這之中所抽取的價值,也是所謂的MEV,因此在後面會提到的很多文章中,大家直接用Front Run這個詞來代表了擷取MEV的行為。@danrobinson 在他經典的文章 Ethereum is a Dark Forest 中很好的闡述了如此的現況,也正式把這個問題帶進更多人的視野。
在那之後,一個名為FlashBots的組織現身,開始進行公開的MEV 相關研究與開發,旨在改善MEV帶來的負面影響,例如:front running 造成手續費提高、 MEV太高對以太坊安全性的影響。非常推薦大家Follow他們的進展。
接下來我們就來看看,一個重要的Proposal已經圍繞它而生的一些辯論。
MEVA (MEV Auction)
MEV Auction 是由 Karl Floersch 、Vitalik 、Philip Daian等人,於2020年一月共同提出的解決方法,字面上的翻譯就是透過一個拍賣(Auction)機制,讓MEV可以被更公平的分配。Karl 同時也是Optimism的CTO,也可能是因此設計出了這個能夠完美契合Layer2的架構。
更精準一點來說,這個拍賣要拍賣的是礦工的兩個權力中的「排序權」:它礦工未來只負責「選擇交易進入區塊」,而不再控制區塊內交易順序的排列,而把此權交給另外一個叫做Sequencer的角色來進行。至於Sequencer的選擇方式,就會是一個簡單的拍賣競標。在競標中獲勝的Sequencer將可以拿到未來一段時間的區塊排序權。至於整個協議競標中得來的錢,可以作為提供公共財的資金(fund public goods)。
為什麼說這個提案契合Layer2,是因為在L2原本的設計中,就是由一個Sequencer收取所有用戶的L2交易,在L2的鏈上執行,最後把執行結果以及所有交易資料Publish到L1上。換言之,這個排序者角色其實已經存在L2的架構中。若是L2層先實做看看這個拍賣機制,就可以在不改變以太核心協議的情況下,測試一下其可行性、參數等等。
對MEVA的質疑
在MEVA概念被提出之後,Ed Felton (Arbitrum 背後公司 Official Lab 的創辦人兼普林斯頓的教授),對此提出了諸多的質疑。
1. 用戶最終體驗是否變差
Ed Felton最先寫了一篇名為「MEV auctions considered harmful」的文章,其中質疑了這個設計會讓使用者體驗更糟:這個Ordering權力的競標,無異於將「Front Running」這個行為專業化,因為理論上最會front run的人,將能夠一直出最高價得標。這在使得「Tx Ordering」這個權力中心化的同時,更變向鼓勵了大家開發厲害的front running程式,最終的受害者仍是的以太坊一般用戶,因為所有的MEV其實都是從用戶的身上抽出來的。
Vitalik 對Ed的看法提出了反駁:他認為「MEV來自用戶」這件事是一個已知且不可避免的事實,這個機制主要的重點,在於分離MEV的收入與礦工的收入,藉由把這個金流轉給Sequencer這個非礦工的角色,可以去除礦工中心化等危及Layer1 安全的疑慮。一個簡單的例子就是:若是有一個MEV很高的區塊(假設礦工可以透過re-ordering拿到100個ETH),那麼礦工就有動機在這個區塊高度進行fork(希望最終自己的挖到區塊被網路接受)。這個例子讓我們看到,考慮MEV會使得礦工的行為比起「單純領block reward」更難預測,這將危及到Layer1的安全。
Vitalik也表示,專業化帶來的「中心化tx ordering」並不見得是件壞事,儘管它對於使用者體驗是有害的,但無論如何MEV是有個上限的,Sequencer並沒有權力從使用者口袋偷錢,而且用戶可以在任何時候決定不使用這種比較容易被Front-run的合約。
2. 沒有MEV Auction的話,L1真的會變得更中心化嗎
Ed 接著寫了一篇名為「Front Running as a service」的文章,簡單回應了中心化tx ordering的問題,也挑戰了另一個MEV Auction的假設:「MEV將使得L1 Mining power趨於中心化」。
這個假設背後的理由很簡單,假如有一個礦池特別會front run,它將能夠獲得比其他礦池更高的收入,這會吸引所有礦工轉到這個礦池。
Ed 提出的反駁理論也十分有趣:假設現在有兩個礦工:A與B,其中兩者都有一定的算力,但A有較好的MEV程式,因此能夠透過排列交易獲得更高的收益。在任何時間點,只要B還存在,A礦工就有動機把這個MEV程式「賣給」B,因為本來B也有機會挖到一些區塊,在這些區塊中A的收益為0。若是能夠達成一個互惠的條件:B將使用A的程式多賺的收入分一部分給A,那麼這筆交易對於礦工A與B而言都是有益的,因此這筆交易必定會發生。
其衍伸意義為:身為MEV專家的礦工,其實有動機提供「Front Running as a service」,所以最終這個Service會自然被分離出來,並且形成一個自己的市場,本質上跟MEVA是類似的,並不會導致L1算力中心化。
3. MEV Auction是否真的能分離Tx Inclusion 與 Tx Ordering
Ed 還寫了另外一篇「MEVA(What is it good for?)」的文章,用經濟學解釋為什麼這個Auction最終會失效。
簡而言之,不管我們如何想要分離這兩個權力,最厲害的front-runner若是能夠同時掌握Tx Inclusion的權力,它必定能夠提高自己的收入。這也表示,最厲害的Sequencer會想要自己成立一個礦池,因為當他同時掌握Tx Inclusion和Tx Ordering 兩個權力時,他能夠提供最高的報酬。因此一個理性的Sequencer會願意透過提高給礦工們更高的獎勵,來壟斷Tx Inclusion + Tx Ordering的權力(這是一個在現實商業世界中非常常見的壟斷策略)。這會使得最後這個模式會變得跟現在一模一樣:由單一角色決定Tx Inclusion和Tx Ordering的權力。
Fair Sequencing
不難看出,Ed所有的論點都圍繞一個重點:MEV Auction最終並沒有辦法解決任何問題,而且這個拍賣還會為社群帶來更多問題:例如一次拍賣24小時的交易排序權力,會讓這個權力過度中心化。
那麼Ed所在的Official Lab有提出什麼解法嗎?其實有:他們認為真正解決這個問題的方法並不是在鼓勵專業化Front Run並且拍賣這個權力,而是從根本上消除Front Run的機會,也就是說,應該要設計一個機制「避免」任何人任意排列交易順序。也就是所謂的Fair Sequencing問題。
在Arbitrum目前的計畫中,在未來他們會在Arbitrum Layer2中引入一個這樣的「公平排序」。實際的細節還沒有太明朗,他們計劃在幾個月內上線的第一個Rollup 版本也不會包含這些功能,所以其實他們的Mainnet Launch會類似Optimism,由單一Sequencer決定所有交易排序。但還是很期待他們未來能不能夠真的實作出更好的方法。
Chainlink Labs: Fair Sequencing Service
另一位Chainlink Labs 研究員(身兼康乃爾的教授) Ari Juels,也因為最近在CoinDesk發表了一篇類似的文章質疑MEVA,讓這個問題加溫不少。在這篇文章中,用了一個非常極端的譬喻:把Front Run這種惡意行為比喻為犯罪,若是一個城市充滿了罪犯,一個政府該做的事情並不是拍賣大家入室盜竊的權力、再將這些拍賣所得拿來回饋人民。反之,政府應該想辦法阻止犯罪。
這篇文章透過這樣的比喻,來表達對於MEVA機制的不認同,同時譴責Flashbots這類的社群專案是在系統化的傷害使用者,並指出「如何解決MEV應該成為以太社群的研究重點」。
文末的結論跟Ed Felton 相同,都是認為Fair Sequencing 才是此問題真正的解決之道。這其實是呼應自己Chainlink Labs幾個月前發佈的一個 Fair Sequencing Service。簡而言之,就是透過Chainlink 最擅長的預言機(Oracle network)來投票、避免讓一個中心化Sequencer角色單獨掌握這個權力。
其實這個Fair Sequencing 問題是一個非常大的研究領域、除了Chainlink labs提出的Oracle解決方法以外,還有許多包括ZKP的其他解決方法。我會盡量多Follow一些,以後有機會再來做更多介紹。
社群中其他的聲音
對於這個MEVA vs Fair Ordering的爭論,除了理論派以外,也有不少其他的聲音讓我們可以更全面地看看的整個局勢。其中一則Tweet表示:MEV Auction在實作上比Fair Ordering單純許多、也不需要牽扯一些複雜的密碼學:
最後一定要提一下的是另一個以太坊大佬 Hudson 對於Ari這篇文章的回應。他認為MEV問題在短期內將會持續困擾使用者,Flashbots這種公開透明的開發流程能夠吸引更多社群關注,並且能夠讓MEV更公平的分配給更多角色、而非只是少部分的玩家。同時他也指出,以太坊核心開發者目前有更重要的2.0開發工作要做,面對這個議題,大家應該更踴躍參與以太坊公開的研究流程,而不是把所有的責任丟到所謂的「Core Devs」身上。
個人覺得Hudson這一段回應其實很值得大家更多思考,除了在學術上的辯論以外,真正實質上的社群參與也是很重要的。
小結
整個MEV議題到目前為止還是一個ongoing debate,在接下來幾天會不會愈演愈烈、會不會有人提出新的觀點,都是非常值得大家關注的問題。就像文章開頭低一篇Tweet所說的,這是非常高學術性良性辯論,我這裡只簡單的收錄了一部分,由於是順著Official Lab的脈絡撰寫、難免有些偏頗,希望大家可以到Flashbots的Github了解更多,會對於目前Optimism + Flashbot那一派目前所在做的事情有更多的了解。
如果還沒有follow Philip Daian這個人,非常建議大家Follow他。他除了是Flashbots目前最主要的推手之一,更有趣的是,他現在還在Cornell 念PHD,並且是Ari的學生。這場師生大戰讓整個辯論更加戲劇性,但卻不失其高質量的本質。對於接下來還會有什麼發展,讓我們一起期待吧。