背景介紹
以太坊擴容在社區中的討論如火如荼,多個解決方案正在加緊開發,並有望在今年全部上線主網。在整個以太坊Layer2 方案爆發的前夕,imToken 聯合ETHPlanet、EthFans、ECN、上海前沿技術研討會和HiBlock 等多家優秀的以太坊生態社區與公司,共同策劃一場以太坊擴容主題系列活動。
4 月23 日舉辦了第一場活動:Rollup - 以太坊L2 擴容新範式杭州線下Meetup。
Panel 分享現場視頻
以下是本次Meetup「如何建設更好的Layer2」的圓桌討論文字版本,由上海前沿技術研討會- 沙漏時間整理。
AMA 實錄
主持人:姚翔
嘉賓:
Celer 開發者- MichaelimToken 產品經理- 阿樹安比實驗室負責人- 郭宇Loopring CTO - Steve
姚翔:非常榮幸邀請大家來到這裡,一般來說都是要大家自我介紹一下,但是我今天給每位準備了一個問題,在回答問題之前,你可以做一下自我介紹,我們先從Celer 開始。
我先提一下我的問題,祝賀Layer2.finance 的主網今天早上上線了,能不能介紹一下你們的主網的情況,包括在之前的測試競賽當中,競賽的情況是怎麼樣的,有沒有出現什麼樣的技術或者是產品上的一些問題,或者說你們的發現。
Michael:大家好,我先介紹一下自己,我是Michael,是Celer 比較早期加入的開發者,我在Celer 主要就是一直在做以太坊和支持EVM 的所有鏈的這些擴容,我們最早做的是State Channel,就是狀態通道的技術。我們在18 年在以太坊主網上已經上線了通用狀態通道,不僅是轉賬,還可以支持鏈下的合約在鏈上進行仲裁這樣的一個功能。
之後我們就發現狀態通道好像使用場景比較有限,而且對用戶進出通道的體驗並不是那麼好,所以說我們也在看別的方向,正好那個時候就出了Rollup 的技術方向,然後我們覺得這個可能是未來會比較有希望的一個方向。
在19 年的時候,我們首先提出了一個混合式Rollup,把側鍊和Rollup 的安全性結合起來,用戶可以選擇是Rollup 的安全性還是只用側鏈的安全性,就有點像zkPorter 和zkSync 的概念。
在2020 年整個DeFi 非常火的時候,我們在想怎麼去解決Layer2 的流動性的問題。在大家都在想Layer2 之後會不會成為一個孤島的時候,我們就想是不是有一種反過來的思路,把DeFi 協議暫時還是留在Layer1,我們在Layer2 只是去聚合用戶的操作,但是所有的流動性還是在Layer1,所有的資金都還是在Layer1 的原來的協議裡面,至少短期或者說甚至中期都有可能是這樣的。而且換一個角度, Layer2 必然會有一些安全性上的犧牲,即使沒有安全性上犧牲,也會有一些資金利用率和資金可用性的問題。所以可能對於最大體量的資金,他們還是會比較傾向於把資金留在Layer1 的協議,所以說我們會去反向兼容他們,這就是Layer2.finance 的起源。
其實當時也有像StarkWare 提出了類似的概念,我們差不多是殊途同歸,我們算是第一個把產品做上線的一個項目。
我們在兩週前上了測試網,還搞了一些活動,讓大家來體驗,其實數據還是不錯的。差不多10 多天有大概1900 多個用戶累計進行了40 萬筆左右的Layer2 轉賬,具體的能省多少gas 我沒算過,但是大家稍微算一下,可以知道我們為用戶省下了非常多的gas 。我們部署了大概二十多個模擬的DeFi 協議,然後大家不斷地將資產進入協議,再退出協議,一共發生了40 多萬筆Layer2 上的轉賬。
剛才姚翔問有什麼問題,我們發現以太坊的Ropsten 測試網實在是不好用,它作為唯一的PoW 的測試網,但是出塊非常不穩定,而且經常給你來一個八十幾個區塊的回滾。所以說我們遇到了回滾的問題,但我們在遇到回滾後協議也是正確處理的,即把Layer2 的Rollup 的鏈暫時停下來了。我們CTO 花了一天的時間將Layer1 上所有calldata 重放,再把calldata 在Layer2 上重新生成一遍,這樣能保證它的安全性,我們算是第一個做到了這樣的項目。
這也是我們覺得把Layer2 數據可用性在Layer1 上得到保留是非常重要的一個原因。因為Layer2 可能會出現各種各樣的問題,如果Layer1 有一個確定性的歷史的話,你隨時可以把它重放,再在Layer2 上還原這個狀態。我們確實也做了,這個也是非常有意思的一件事情。
今天早上我們在以太坊主網上正式上線了,我們Layer2.finance 的第一個版本我們叫它v0.1,因為其實很多設計都還沒有完全定下來,現在只是說讓大家沒有手續費地去體驗一下。
我們第一次兼容的是這三個DeFi:Compound、AAVE 和Curve,都是非常保守的策略,全是穩定幣,所以收益不會太高,就可能在穩定幣的一般的年化10% 左右,大家有興趣的可以體驗一下。前500 名會有一些獎勵,而且我們會覆蓋你的充進Layer2 的手續費。我們的充值不是太貴,是一筆和Uniswap 兌換差不多的手續費。一旦你進入這個Layer2,你就可以在各個協議之間零手續費地進出。
產品目前只支持MetaMask 桌面,之後會出手機的適配,也會盡快上架各大錢包,這樣大家都在手機上也可以體驗Layer2.Finance。除了等待時間會受限於Optimistic Rollup 的等待時間以外,其他的體驗還是不錯的。現階段是零手續費,之後的話手續費應該還是會非常低的。等下一版本的大的更新之後,我們會把它結合Celer 代幣的這一些經濟模型,包括可能會有一些流動性挖礦的活動,到時候也會歡迎大家體驗。
姚翔:謝謝Michael,也歡迎大家去體驗Celer 的產品,我也聽到一個很有趣的點,其實Ropsten 測試網的不穩定性反而幫助Celer 去做了一個邊界條件下的測試。
接下來我想請問一下阿樹:最近也是看到imToken 集成了zkSync,我想去了解一下在集成過程當中你們有沒有遇到什麼挑戰。如果說別的錢包想去集成zkSync,你會給出哪些建議。
阿樹:謝謝姚老師,我介紹一下我自己:我目前主要負責imToken 錢包的產品,我叫阿樹。像剛才姚老師提到的,我們在17、18 年的時候就已經開始關注到以太坊的一個擴容工作發展,但為什麼到我們才去開始去做集成和相關實施工作。是因為在過去的幾年中以太坊擴容方案,它是一個不斷演化的過程,從最早像Celer 們做狀態通道,或者像OmiseGo、Plasma 到現在的Rollup 方案,它有一個比較大的進展,然後Rollup 方案應該是目前我們整個社區會認為它最具備可行性和落實的一個方案。
另外,去年大家其實能感受到DeFi 的一個發展。剛才像Changwu 老師也說到了,整個的發展讓以太坊網絡擁堵,導致正常用戶進行轉賬和DeFi 操作的費用非常高昂,但這個事情其實是跟imToken 的願景是有衝突的。我們希望錢包可以服務到更多的用戶,迎合以太坊普惠金融的願景。
現階段這些網絡只能服務到擁有幾萬美金以上的這些高淨值的用戶,所以我們開始關注到以太坊擴容的方案。關於方案的技術上其實選項有很多,我們現在主流看到有零知識證明的、樂觀的。在這裡我們的選擇標準可能有幾個,第一個,它是具備有社區共識的,也就是Rollup 這一塊,第二個它是經過時間,還有社區的一個實踐的驗證的。
我們可以看到像zkSync 方案,首先它已經在主網運行過了蠻長的一段時間。第二,它跟Gitcoin 合作,也是經過一個實踐驗證的。最近比如說Gitcoin,它的捐助85% 的交易都是通過zkSync 去完成的。第三,zkSync 團隊除了工程能力之外,產品能力也很強,他們對於開發者去集成的話,已經提供了一套非常完善的一個SDK。集成zkSync 之後,在很短時間內我們發現這個方案受到對於有轉賬需求用戶的一個青睞。 imToken 集成zkSync 半個月之後,數據顯示整個zkSync 網絡上接近51% 以上的轉賬都是來自於imToken,所以短期是解決了我們的一個問題。
第二個我們是更期待於說剛才zkSync Alex 他們提到的,他們5 月份會提供像NFT 功能、swap 的功能,這個會不斷地擴展imToken 在Layer2 的一個使用場景。當然我們更期待會有更多方案,我們可以以一種更具有開放性的方式去做適配。目前這個zkSync 是在原生層面去做集成的。其次其實現在主流的Layer2,我們都會以一個DApp 的形式,無論是Loopring、Celer 還是Hermez 等等,這些Layer2 方案都能這樣通過imToken 的瀏覽器訪問。
另外一個問題是姚老師問到的有什麼技術難點。其實這裡面的話對於錢包來說,它並不是一個工程上的問題,它更多是一個外圍依賴遇到的挑戰。舉個例子,現在Layer2 主流的做法是目前的節點都是單節點的形式,所以我們看到只要Layer2 方案的服務掛了,那麼就會導致整個網絡不可轉賬。這對一個面向千萬用戶的實際使用的錢包來說是比較不能接受的一個點。當然我們看到社區(的節點運營)會往PoS 方向去發展。
第二個事情其實說Layer2 網絡它最重要一點就是要有資金的流轉,目前我們遇到的問題是什麼。用戶的充值成本是非常高昂的。缺乏兩塊支持,一個是交易所支持,另外一塊是OTC 廠商的支持。目前在交易所這塊我們沒有看到比較新的進展,但是在OTC 廠商這一塊的話,海外幾家服務商應該會在今年5 月份或者年底都會提供相應的Layer2 充值服務,這是我們目前作為錢包遇到的一些外圍依賴的挑戰。
最後老師提到一個問題就是說對於同行錢包想做Layer2,有哪些建議。對錢包最關鍵是一個私鑰的問題。現在所有的Layer2 方案都有比較明顯的痛點,Layer2 的簽名密鑰一般是通過personal sign 去做簽名生成的,personal sign,在大家使用DApp 的時候經常會遇到,它會給一個文本讓你去做簽名,但文本簽名其實是非常容易去被偽造的,所以這是作為錢包服務商去集成Layer2 要非常注意的一點。
關於這一點,我們台北的imToken Labs 團隊會向社區去提供Signer 的一個存儲方案,減少釣魚攻擊的可能性。第二個事情錢包沒法確定如此多的Layer2 方案誰會在未來勝出,對錢包來說應該盡可能做到減少主觀性。我們在Layer2 方案裡面盡可能找到他們的一個範式,盡可能支持這些早期的Layer2 方案,讓市場去做選擇,謝謝姚老師。
姚翔:謝謝阿樹,聽起來Layer2 的集成不僅僅需要錢包的努力,還需要很多生態位的合作。接下來請問郭老師,郭老師在零知識證明領域的研究一直非常深入,非常前沿。最近我們也反复聽到一個詞叫遞歸零知識證明,也看到以太坊基金會跟Mina 基金會發布了一個grant ,關於能否讓EVM 去高效地驗證一個叫pickles 的這樣一個零知識證明技術。我想問問郭老師的是,如果說遞歸零知識證明能夠在EVM 裡面去高效地驗證,對我們去設計ZK Rollup 這個協議有沒有什麼啟發?
郭宇:我們團隊在蘇州,大概六七個人,從18 年初創立起在智能合約安全底層,還有零知識證明底層,一直在做很偏底層的研究。我們很少直接面對終端用戶,但是我們跟很多項目團隊在合作,幫他們解決一些底層基礎設施方面遇到的一些問題。我們的工作目前來說比較偏科研,陸續還會發布一些最新的研究成果,其中有一部分能夠有希望極大地改善ZK Rollup 的證明和證明大小,可能達到一到兩個數量級的提升。
接下來回答就是姚老師剛才這幾個問題。遞歸零知識證明,我就給大家簡單說一下歷史,比較早研究遞歸零知識證明的是Chiesa 與Tromer,他們大概在2010 年左右提出來一個概念叫proof carrying data,能夠把整個proof 的驗證也做到proof 裡面,這樣的話一個proof 可以跟隨一個數據到處傳播,這是非常前沿的一個概念。
當然這裡面它需要用到一個很tricky 的技術,就是它要找到兩條非常稀有的曲線,能夠讓這兩條曲線相互嵌入,之前找到的兩條曲線計算非常慢,難以實用。
一個小突破大概發生在2018 年,Zcash 團隊的Sean Bowe 和現在以太坊基金會的科學家Mary Miller,他們合作了一篇文章叫Sonic。他們在這篇文章中發現了一件非常神奇的事情,就是在傳統的Bulletproof 的後端裡面有一部分運算可以被分攤,也就是說如果你有很多proof 放在一起的話,可以用更有效的方式聚合在一起進行verify。這個發現後來被Sean Bowe 用來實現一種非常新穎的遞歸零知識證明算法Halo,這個遞歸零知識證明不再需要找兩條非常稀有而且性能差的曲線。這種遞歸證明技術可以用在很多的地方,只要能找到兩條不需要支持pairing 的普通曲線就可以做。這件事情直接打開了遞歸零知識證明的一個大門,研究成果非常激動人心,它可以讓整個區塊鏈上的應用充滿各種新的想像力,Mina protocol 也努力在往這個方向拓展。
以太坊由於傳統的設計上的一些缺陷,所以說它只能通過支持預編譯合約的方式來有限地支持零知識證明。但我們現在已經很欣喜地看見以太坊2.0 其實已經在努力地做工作,特別是EVM384 的改進也許在今年就能支持。那上面會支持更多的曲線,能夠非常靈活地支持遞歸零知識證明。只不過在目前的以太坊1.0 基礎上做相對就會麻煩一些。現在Mina 基金會和以太坊基金會共同聯合,徵集在EVM 高效驗證pickles 算法的方案,但是經過我們仔細分析,發現這件事情沒有那麼容易,還是挺困難的,因為這裡的核心問題是橢圓曲線裡面有一些非常耗時的操作,目前在以太坊上如果沒有預編譯合約的支持的話,基本上還是舉步維艱,可能會有一些效果,但優化程度非常有限。
我們還是期待能夠讓以太坊早日支持EVM384,然後能夠釋放遞歸零知識證明的威力。我最後談一下,這對於ZK Rollup 意味著什麼?
ZK Rollup 裡面現在會面臨一個問題,不管是zkPorter 還是zkSync,如果用同一個狀態根來實現在二層上的可組合性,你需要把狀態空間做得非常大,這樣你才能支持很多的DeFi 應用,支持更多的用戶。包括Loopring 團隊做的非常棒的這種轉換的方案,可以直接讓一層合約代理二層的資產到一層上去做操作,這都需要一個非常巨大的狀態。這個狀態會引入一個巨大的默克爾樹,巨大的默克爾樹會帶來問題,就是在上面產生proof 會非常地耗性能耗算力。像Loopring 用的是O(1) 複雜度的算法,然後PLONK 用的O(log n) 的驗證算法,當n 很大時,gas 消耗會很大。如果我們期待以太坊捕獲更大的價值,那PLONK 算法就會遇到很大的瓶頸,而StarkWare 的算法會更嚴重一些。遞歸零知識證明就完全開啟了另外一道門,ZK Rollup 有希望在這條路上優化得更徹底,能夠讓整個的以太坊上做零知識證明驗證的gas 消耗降到一個非常低的等級。
這是我覺得非常激動人心的一個新的方向,也希望感興趣的小伙伴可以跟我們一起去探討這方面,探索未來充滿想像力的天地。謝謝大家。
姚翔:謝謝郭宇老師,聽起來如果遞歸零知識證明得到更廣泛地應用,那麼ZK Rollup 可以發揮更大的功能,它的效率會有更大的提升。
話筒又給到了Steve。剛才Steve 做了一個演講。我也觀察到Loopring 在一季度有很大的進展,比如說增加了一個快速提款的功能,包括去提高了在AMM 上gas 的效率。我想問的是,請問在這個過程當中,在工程實現零知識證明上還有多少的效率可以去提升,這裡面主要的難度是什麼?
Steve:其實ZK Rollup 整個這套系統的搭建在工程角度來說還是蠻有挑戰的。包括我
演講
裡面也說了,我們是18 年下半年開始嘗試這個方向,真正做出第一版原型系統是19 年3 月份,19 年底的時候才是真正的主網上線,這是第一個版本。第二個版本是在20 年的六七月份上線,這也是半年多才迭代了一個大的版本,每前行一步,工程角度挑戰都很大。
這裡面尤其我可以說幾個點。比如說,我們19 年底的版本本質上還是一個不太可以商用的版本,還有很多限制,畢竟我們是第一個去嘗試這條道的。比如說剛剛郭宇所提到的,默克爾樹不能太大,我們當時其實就限定最多100 萬個Layer2 的賬戶,那也是為了我們的默克爾樹的層次不能太高,否則你去生成證明的時間開銷會特別大。
第一版有很多這種工程上的權衡,但是我們後面會發現這些權衡應該要去掉。這只能從工程上去做,比如說我們在零知識證明的生成的優化上面有一篇論文,大概是提升了至少一個數量級,生成效率提高了十幾倍。這之後我們就發現可以把默克爾樹變得更大了,現在其實本質上是幾億個賬戶完全都能處理。
做完這樣的一件事情之後,我們發現原來認為通過ZK Rollup 生成零知識證明的那部分成本會很高,但是相反,現在其實生成零知識證明的成本是很低的,只是數據上鍊和數據在鏈上做驗證的成本是比較高的。這部分成本怎麼來進一步降低?我們其實做了很多嘗試。第一個我們上傳calldata 前都是做過壓縮的,甚至做了一種壓縮算法,然後在EVM 裡面再解壓,這樣的gas 消耗反而能更低一點。第二,我們所有二層上的交易,能節省calldata,我們都一個字節一個字節地去摳,基本上我認為已經摳到了極致了。
所以同時就像郭宇說的,我們選了O(1) 複雜度的ZK-SNARK 的一個驗證算法,它的驗證時間不隨著交易的大小增長而增長,這也是一個很大的好處。我們其實也很期待遞歸零知識證明最終在以太坊上能夠得以實現,它能有效降低驗證的時間。但是大家要記住一點,它其實不能提升整個ZK Rollup 體系的TPS,因為整個ZK Rollup 最終的TPS 限制是數據上鍊決定的,最大的TPS 瓶頸就卡在這。除非你拋棄掉數據鏈上可用性,這是另外一條道。但我們覺得還是要保持數據上鍊,你的資產的安全性才得以保證。
姚翔:謝謝Steve,我們也聽到Loopring 在工程上做了非常多的努力,包括最後他提到了Loopring 認為數據的鏈上可用性非常重要。但與此同時我也看到一個傾向,因為我們今天剛才聽了Matter Labs 他們說發布了zkSync 2.0,這裡面其實是有兩個部分,包括ZK Rollup 和一個更像Validium 的一個部分;包括StarkWare,也是有ZK Rollup 和Validium 這兩個部分。同時我也看到像Arbitrum 這樣的團隊,他們也在嘗試把零知識證明引入到Optimistic Rollup 體系裡面來。
我的問題是面向這四位嘉賓,這樣一種混合的設計有沒有可能成為將來的協議設計的趨勢,因為混合本身可能給用戶不同的選擇的權利。
Steve:這種混合模式我是這麼來看的。路印協議從第一版支持ZK Rollup 的時候,我們協議本身就支持兩種模式,其實就對應數據可用性和不可用。本質上其實就是一個取捨,你要TPS 還是要安全性,這就是協商妥協的一個過程。至於剛剛提到的比如說Arbitrum,我們當時甚至都討論過,路印是不是可以在別的Layer2 上面再部署一套,把我們變成Layer3。
其實大家可以想像一下,我一直也提一個概念,就是盜夢空間,層層的夢,夢的疊加,就可以類似於無限的擴張TPS,這也是有可能的。這是我對這種融合的一個看法。
郭宇:首先我想表達一個觀點,零知識證明實際上是更底層的非常基礎的小工具,它到處可以用。 ZK Rollup 和Optimistic Rollup 的一個核心區別就是大家如何處理這個狀態空間。像簽名驗簽,像繼續去挑戰的動作的時候也可以生成證明,就是說這樣的證明可以到處使用,只是我們平時說的ZK Rollup 可能特指的就是零知識證明處理巨大的默克爾樹。
所以說我覺得所謂的混合方案,目前我看到Optimistic Rollup 在大量地使用零知識證明,我相信未來很多的部件會逐步被零知識證明替換。反過來混的情況我現在還沒看到,就說ZK Rollup 是不是有必要引入Optimistic Rollup 裡面的一些組件,例如把挑戰窗口這種基於經濟學的方法拿過來用,我目前還沒有看到有這個必要。我覺得必然很多的方案會逐步地用大量的零知識證明,因為馬上以太坊會支持更先進更複雜的這樣一個證明的應用場景。
我覺得所謂的混合方案可能是一種更好的Rollup 方案,我更喜歡用Rollup 這個詞。至於是不是強調基於零知識的,我覺得可能沒那麼特別重要,反正最後大家會共同往一個方向走。這裡面有一個核心的問題是,基於密碼經濟學和零知識證明的佔比會有些不同,可能跟不同場景有關係,DeFi 和遊戲可能會採用不同的策略,這是我的一點看法。
阿樹:關於混合,當然我看到ZK Rollup 和zkPorter 這兩者結合的方案,會覺得它其實並不是一個混合的想法,混合可能更多是一個短期內大家看到的東西。 zkSync 的Alex 在去年8 月份就已經提到zkPorter 的一個設計思路,它其實更像我們現在能看到以太坊2.0 分片的一個想法,所以我的觀點是什麼?支持,同時這只是一個短暫的階段,未來的話肯定是他們各自找到範式,就像郭宇老師說的Rollup 的範式,而他們按自己的需求去做不同的應用。
Michael:我的看法和阿樹有不同,我覺得混合式的會是比較長期的一個方案,提供不同級別的安全性。就像Celer 曾提出側鍊和Rollup 其實也是可以混合的。像Matic 上的一些應用,它的安全性就是側鏈的要求就可以了,它的用戶也不會特別在意一個遊戲一定要具有數據可用性或者保留整個完整的歷史,所以說我個人覺得未來會看到更多不同的混合式的方案。
在Layer2 的角度來說,也還有一個問題沒有很好解決,比如Optimistic Rollup,誰去提交這個區塊,其實現在並沒有一個很好的解決方案,現在大部分項目都是一個中心化的方式去提交。
我個人覺得在這個問題上通過PoW 的算法來決定出塊者都是可以的,反而可能比用質押的方式解決會更好。甚至未來有一天我猜想會看到二層上的算力會大於一層上的算力,這是有一天我的突發思想,就是大家為了挖礦去提交數據可用性,這件事情會用一個PoW 的方式去解決,我覺得也是一個可行的思路。未來設計空間還是非常大的,然後也不能說一定會朝著哪個方向走,還是需要一定時間的觀察和實踐。等項目上了主網,可能真的出一兩次這種安全性的事情之後才會有比較好的定論。
前兩天Arbitrum 的Ed Felton 和Matter Labs 的Alex 從Clubhouse 吵到推特,我也加入了。從安全性的角度來說,你不能說zkPorter 或者說Validium 有主網的安全性,這個事情是要打個很大的問號的。舉個例子,比如說在zkPorter 上玩BitMEX(譯者註:一個交易網站),然後我爆倉了,我跟Arthur Hayes 說你趕快停了,把數據可用性的插頭拔了,我這個爆倉到底發生了沒有?我這個錢到底是丟了還是沒有呢?
如果從zkPorter 的角度來說,一旦這樣他把鏈暫停以後,那麼賺到我的錢的人是提不走錢的。對他來說這個錢是不是丟了,這個錢是不是和被盜了是一樣的,我個人覺得是一樣的,但可能Alex 他們是有不同的意見。我想不同的應用可能會選擇不同的擴容方式,需要非常高的安全性的BitMEX 這種應用,最好的方式當然是得採用ZK Rollup 才會比較好,但是它的TPS 可能就只能降到幾千的水平了,這也是我覺得是沒有辦法的一個事情。
所以說未來設計空間還是非常大的,然後我覺得大家會逐漸地去發現一個各自的需求和各自最適合的擴容方式吧,這是我的觀點。
姚翔:好的,謝謝Michael。在Michael 的表達里我也聽到一個詞,就是現在的Rollup 的驗證者也好或者叫排序者也好,更多還是一個中心化的角色。我們也知道現在在Layer1 上我們討論一個問題叫MEV(譯者註:礦工可提取價值)。這個問題非常嚴重,如果能解決MEV,對系統的可擴展性也是很有幫助的。那麼在Layer2 上面,如果說我們想要解決這個問題,它是不是面臨更大的挑戰,尤其在怎麼打包和排序這個問題沒有解決的基礎上,我想听聽大家的看法。尤其作為一個Layer2 的設計者,你們對MEV 這個問題怎麼看的?你們有沒有一個比較好的解決方案。
Michael:我覺得是非常好的一個問題。 MEV 我覺得是Layer2 在超前於Layer1 在做的事情,就是嘗試在Layer2 先把這個問題解決了。我覺得這個同樣沒有定論,它有不同的解決方法,我看到過的有比較極端的就是Proof of Burn(銷毀證明)。比如說你要去提交一個Rollup 區塊,你要燒掉一部分代幣,這樣你是基本上不太可能去作惡的。
包括對於交易順序的打包問題,如果你沒有按照順序來打包,比如說它規定必須是按交易費從高到低打包,你沒有按照這個順序打包,你也會被罰沒資產,會有這樣的一個懲罰性的設計。這是一個極端。
另外一個極端可能會相對樂觀一些,就是說通過PoS 的出塊機制最簡單,甚至跑一個PoA 的輪流出塊也是可以的,只要它可驗證。只要你定一套規則,其實以太坊現在最大問題就是Layer1 的交易排序是沒有規則的,這個東西不在共識裡面,我覺得這屬於設計上的一個缺陷,或者說一個沒有考慮周全的地方。
如果Layer2 就可以把交易排序的方式寫到規則裡面,然後無論這個規則是強是弱,它是懲罰性的還是獎勵性的,我覺得都是可以的。
阿樹:有許多人在討論說MEV 到底是正義還是怎麼樣,這個是好事還是壞事。站在我們或者用戶的角度來看,MEV 不管好壞,其實是一套激勵機制,甚至通過競爭提高網絡資金效率。但它也帶來負面影響,用戶在區塊鍊網絡上做交易是會受損的。
因為我們的區塊鏈上的交易是一個資金池的形式,無論是做兌換還是藉貸都是一個資金池的形式,這會存在滑點,所以就很容易形成現在常見的所謂三明治夾擊的問題。
反過來我們更在意的是怎麼解決用戶受到的損害。有兩個點,一個點是剛才Michael 說的交易排序問題,當這個交易排序沒有主觀性的時候,它是平等公平的時候,是可能會被解決的。第二個是從DeFi 協議設計的角度,我們怎麼去設計DeFi 方案,使它可以減少滑點,避免用戶受損。
作為一個錢包方看待這個問題的時候,我們就看到幾個點。譬如DEX 採用PMM 方案,用戶的交易並不是直接上鍊,而是通過將簽名提交到中繼器,中繼器進行訂單上鍊。這個應該是目前能看到的比較理想的方式,可以保證用戶沒有滑點的受損。
相比Uniswap,可能它10 筆交易裡面至少有三四筆是會失敗的,PMM 這種機制的話基本能保證到90% 以上的一個成功率,這是一塊。
除了DeFi 上的設計的話,我們也能看到整個社區也在這塊上去想辦法,一個是排序的公平性,然後還有一個比較有意思的想法就是KeeperDAO。
大家想法是什麼? MEV 的價值我們是可以拿來去再次分配的,而不是說只有礦池和套利者之間的一個利益,我們跟MEV 的一個獲利者去聊的時候,甚至提出說我們MEV 的一個利潤能否提供出來給到所有的用戶。
舉個例子,可能錢包裡面有個按鈕,你點一下就能參與MEV 套利。 MEV 現在有一個主流的解決方案是Flashbots,它的做法是讓套利者零成本競價,這個方案有一定可行性,讓社區去競爭,而不是只有套利者跟礦池之間的一個利益分配。所以我的看法是優先從DeFi 協議上去解決這個問題,這遠比從交易排序上去解決更快。如果要解決MEV 的公平性,我們可以從分配角度去考慮。
姚翔:所以我們需要每一個DeFi 協議設計者都要先去學習一下什麼是MEV,怎麼在協議設計層面減少它的影響。
郭宇:我非常贊同阿樹老師說的觀點,就是我們可能很難從一層的共識協議來解決這個問題,可能真的需要額外的一個類似DAO 或者是有治理的這種方式來分配利潤。但是我想說的是,MEV 本身其實不是個問題,它是個現象,真正的問題是什麼,是front running,就是搶先交易。 MEV 裡面分成幾大類,一部分來自很多交易機器人,現在我們都把以太坊稱為黑暗森林,這裡面有很多的機器人,每天非常忙碌。但其中一部分是非常善意的機器人,正因為有這些機器人存在,所以Uniswap 的價格能夠跟中心化交易所良好地同步。
每當用戶有一筆兌換交易的時候,都會有機器人跟在用戶後面把這個池子重新拉平,拉到跟中心化交易所一樣,所以這些機器人實際上是為生態在貢獻自己的能量,但是它從中也獲取了目前來看還是比較大的利益,我覺得也是應得的。就是它為了生態的發展,包括像借貸協議的清算者,借貸協議就是需要有清算,當今年資產價格暴跌的時候,會有大量的機器人出動,而正是因為有大量的機器人,借貸協議才不會出現系統性壞賬。
為了金融生態的穩定性,就需要這些機器人,需要MEV 給它們提供動力,讓它們來維護整個系統。但是這裡面有些是惡意的,是非常有問題的,就是搶先交易,這會造成用戶以最大的滑點買到想要的資產。很多事情他都可以搶先交易,包括三明治是很多用戶討厭的,imToken 應該是這個很大的受害者。
我覺得三明治就是很大的問題,現在社區似乎有著不好的風氣,就是大家在討論MEV 問題的時候,過度關注了MEV 的分配,而沒有想辦法說我們怎麼去禁止搶先交易的出現。目前搶先交易沒有好只有壞,正因為他們的出現,讓很多用戶體驗不好。用戶發一筆交易想完成一件事情,對不起,你發現的這個機會被別人的機器人搶去了,你就會失敗,你額外消耗了手續費還沒有成功。我覺得搶先交易是百害無一利,大量MEV 的收益來源於搶先交易,我覺得社區要關注這些,區分哪些是好,哪些是壞的,讓不好的現像被曝光,對好的那些MEV,可以用KeeperDAO 或者是Flashbots 之類的方式把這個東西進行分配。
Steve:前面幾位嘉賓的觀點都很好,很明確。 MEV 在一層上的確挺嚴重的,我估計大家只要跟Uniswap 交互,應該多多少少都有體驗。在二層本身,其實目前這個階段,我認為對現在已經上線的這些二層項目還不存在這個問題,是因為大家的中繼節點,當前階段基本上都是中心化的方式實現。中心化的實現一定會按時間排序的方式設計,嚴格的按時間排序,否則用戶一定會用腳投票。你在自己的Rollup 裡面經常去搶跑用戶的話,用戶一看就明白了,自然就用腳投票退出你這個Rollup,我們不在你這玩。這樣本質上是一種從經濟博弈的角度來解決這個問題。
如果Layer2 上面,後續大家把中繼器改造變成去中心化的方式,肯定也會面臨這個問題。但要想從共識機制上去解決,我覺得也不太可能。可能真的只能從協議層靠經濟模型的博弈角度來徹底解決這個問題。這是我的看法。
姚翔:好,Steve 提到現在可能各個Rollup 的信譽還是吸引用戶的很重要的一個方面。