對話 Vitalik Buterin:簡述 Rollup 等以太坊 Layer 2 方案差異及取舍

imToken
2021-05-08 20:48:13
收藏
Vitalik Buterin 認為, Rollup 相較於兼容 EVM 的新公鏈的優勢在於安全性,以及與以太坊生態連接更緊密。

本文發布於imToken,原文標題:《AMA 對話以太坊創始人 Vitalik》,採訪:潘致雄,鏈聞研究總監,整理:ECN Esther


以太坊擴容在社區中的討論如火如荼,多個解決方案正在加緊開發,並有望在今年全部上線主網。在整個以太坊 Layer2 方案爆發的前夕,imToken 聯合 ETHPlanet、EthFans、ECN、上海前沿技術研討會和 HiBlock 等多家優秀的以太坊生態社區與公司,共同策劃一場以太坊擴容主題系列活動。

4 月 23 日舉辦了第一場活動:Rollup - 以太坊 L2 擴容新範式杭州線下 Meetup。以下是本次 Meetup 對話以太坊創始人 Vitalik 的 AMA 實錄文字版本。

潘致雄: 現在 EVM 的兼容性可能會成為公鏈或 Layer2 的一個非常重要的競爭力。那很多的交易所公鏈,就比如說 BSC、HECO,他們都利用自己的用戶或整體的資源,可以提供一個相對以太坊而言去中心化程度更弱一些,但是性能、TPS 以及用戶的接入成本更低的公鏈。其實從長期來看,無論是 xDai 或者 BSC、HECO 這些側鏈或者公鏈來說,他們產生了這種以 EVM 為主的兼容性的攻略生態有沒有可能成為未來的一種公鏈生態體現形式?以及 BSC 或者是 xDai,它們有沒有可能未來會反哺到這個以太坊生態,最終會讓以太坊整個生態受益?

Vitalik: 好,明白了。現在的問題是那種可以擴展的、有特別高的去中心化的、兼容 EVM 的區塊鏈是沒有的。現在有以太坊的力量了,還有 Matic 和 xDai 其他的側鏈項目。還有跟以太坊完全沒有關係的項目,比如 BSC,這種有很多。現在以太坊的交易費還是特別高的。有些應用跟以太坊交易費的高低是沒有關係的。但有很多的應用的確是需要更低的交易費。現在沒有什麼特別好的去中心化的方式。所以現在很多人開始在看側鏈和其他的鏈的項目。

但是,這只是現在的情況。明年和後年,Rollup 的項目大概都會上線。還有,我們會有以太坊的分片,所以明年我們會有一些支持 EVM 的鏈,但是我們還有基於以太坊的第二層的鏈。基於以太坊的第二層的鏈有兩個最大的優點,第一個是安全。如果你在做自己的鏈,可能有 20 個、100 個節點,但要有 5000 個、1 萬個節點很難。如果你做一個 Rollup,或者做跟以太坊有直接連接的平台,你可以得到以太坊網絡的安全標準。第二個優點是如果你跟以太坊的生態有緊密的連接,你可以得到以太坊網絡效應的一些好處。不過。你在這些鏈上做一個應用,你會有自己的生態。這些生態和以太坊的的生態的連接會有問題。

潘致雄: 第二個問題是與開發者相關的,因為我們看到越來越多 Layer2 的項目可能會在接下來的這幾個月裡面馬上就上線了。但是其實我們和很多包括國內的開發者去聊 DeFi 項目的時候還是在疑惑到底是選哪個 Layer2?或者是有這麼多選擇,包括 State Channel、Plasma、Rollup 這麼多可以選,包括側鏈也是。對於 DeFi 的開發者,或者是想進入以太坊生態的普通開發者來說。在這樣一個多 Rollup、多 Layer2 的場景下,對他們有沒有什麼建議,以及他們可以從哪些角度去考慮該選哪些作為他們的新方向?

Vitalik: 第一個問題是你選支持 EVM 的還是不支持 EVM 的項目。現在有一些不支持 EVM 的第二層項目,因為它們更簡單,所以它們很多都上線了,包括路印、zkSync、還有 OMG 的 Plasma。如果你在做一個很簡單的應用,包括一個代幣相關的或者 NFT 相關的那種東西,其實你不太需要支持 EVM。現在做,你可以選擇一個不支持 EVM 但已連接主網的 Layer2。

但是如果你在做一個更複雜的東西,或者你已經有一個基於以太坊的應用,你很可能需要一個支持 EVM 的 Rollup。其實你可以選擇另一個程序應用或環境,但是現在 EVM 有一個很大的生態,有很多的合約和代碼,所以用支持 EVM 的 Rollup ,你的工作會更簡單。如果你選擇一個支持 EVM 的 Rollup,你有很多選擇,你有 Optimism、Arbitrum、zkSync,它們支持 EVM,還有一些其他項目。

我覺得 Optimistic 的 Rollup 會更安全,因為零知識證明還是比較新的技術。它很複雜,沒有很多人特別懂怎麼看 zkSNARK 電路的代碼。但是如果你在看 Optimism 和 Arbitrum 的代碼,兩個都是比較簡單的。所以,我覺得短期 Optimistic Rollup 有問題的可能性更少,但是長期 ZK 的 EVM Rollup 更好。但長期可能是 3 年、5 年、8 年,現在的 Optimistic Rollup 項目以後可能也會變成 ZK Rollup。現在如果你想用一個支持 EVM 的 Rollup,我覺得 Optimistic Rollup 是更安全的,我也覺得更大可能它們真的會上線,不會有那種拖延到明年或更多的問題。

那 Optimism 和 Arbitrum 之間,我個人特別尊重這兩個團隊,我也知道現在有更多 Optimistic Rollup 的團隊,我覺得大家需要繼續看它們的進展,看這些項目,它們的社區和發展是怎麼樣的。

潘致雄: 好,謝謝。那下一個其實想聊一下關於剛才聊到的 zkPorter 這個話題。因為他們最快兩、三個月之後就會發布上主網。那 zkPorter 這套方案其實相當於就是把數據可用性放到了鏈下。這塊其實它有點像是以太坊 2.0 的分片,也是把數據可用性放到了鏈下。想問一下這兩者有沒有可比性,以及它的方案和以太坊 2.0 的分片方案到底怎麼來進行比較?有哪些比較點?

第二個問題是如果說 zkSync 能在八月準時交付並且上線的話,那對於開發者來說,他們選擇 Optimism 有沒有什麼其他的優勢。因為從長期來看肯定是 zkSync 的安全性會更高一些?

Vitalik: 其實我有點擔心 zkPorter 的數據可用性的方法,因為不管是在以太坊的分片還是由整個網絡在支持的數據可用性,如果你不能成功攻擊以太坊的鏈,你沒有辦法攻擊一個分片的數據。但是 zkPorter 的數據可用性方法不是以太坊的鏈支持的,而是它們的一些節點支持的,所以要攻擊它們的數據可用性會更容易。其實我覺得你對比它們的 zkRollup 和它們的 zkPorter,它們的 zkPorter 可能會更便宜,但其實在一個 Rollup 上交易已經很便宜了。因為現在在主網發一個交易是要大概 20 塊人民幣,發一個 Rollup 上的交易今年會是 0.2,明年或者 2.0 分片的時候會是 0.002 或 0.0002,所以在 Rollup 上的交易費會很低的。所以一個鏈下的、它們自己數據可用性的平台其實我覺得是沒有必要的。

第二,如果他們成功在 8 月上線,它們會有什麼優缺點。zkRollup 一個比較大的優點是你在提款的時候沒有 Optimistic Rollup 的等待期。在 Optimistic Rollup 裡,如果現在你提款,你要等 7 天。其實 Optimism 和 Arbitrum 等一些其他團隊,他們在用一個第二層的方法來解決這個問題,就是如果你現在提款會有一個 Liquidity Provider (流動性提供者),在你提款的時候他就給你提供幣,然後這個 Liquidity Provider 會等 7 天的時間。

但 zkRollup 不需要擔心這些問題,用戶體驗可能會更好。但是如果 Optimism 和 Arbitrum 這些團隊成功做出 Liquidity Provider 的機制,Optimistic Rollup 就可以避免等待期的問題。它們 8 月份上線,我覺得它們最大的缺點是安全漏洞風險會更高,這個問題不是他們團隊的問題,而是 zkSNARK 的技術是很新的,更複雜的,懂 zkSNARK 代碼的開發者更少,所以更大可能存在他們沒有發現的問題。但這是現在的缺點,3 年後、5 年後,他們有更多的時間去確認他們 zkSNARK 的 EVM 是沒有問題的,生態會更成熟。所以這是短期的缺點,長期 zkSNARK 的優點是很大的。

潘致雄: 謝謝 Vitalik,那最後一個問題:問一下關於 Layer2 更廣泛的一些用途上面。因為,我們看到以太坊現在更多都是在 NFT、DeFi 或者是支付相關的一些應用場景。但是以太坊的一個初心其實並不只是想做純金融相關的一些業務。但事實上它現在成為了一種金融的結算層,對吧,最近看到數據都超過 PayPal 了,從結算的這個金額數據來看。所以說,我們有沒有可能看到一些非 DeFi 相關的一些更多通用的應用場景在 Layer2 上產生或者爆發?而且你這邊有沒有看到過一些有意思的這種項目?有可能是在 Layer2 這種低成本以及高 TPS 的場景中能發揮出作用的?

Vitalik: 嗯,明白了。我覺得現在 Rollup 沒有很大的挑戰。以太坊變成一個金融為主的項目的原因就是,現在的交易費是很高的。金融的項目是可以支付起這些費用的。但是,如果你在做一個非金融的項目,你現在就沒辦法去支付這樣的交易費。那 Rollup 的交易費是更低的,所以我覺得有很大的可能,在 Rollup 會看到這些應用。那其實我們現在就可以看到這些情況,如果你去看一些比較成功的以太坊生態的非金融項目,比如 Dark Forest,有一部分還是在以太坊主網上的,有一些搬到了我們的測試網(Rinkeby、Ropsten 等),有一些搬到了側鏈(xDai 或 Polygon)。所以我們有 Rollup 的時候,就會有更多這種非金融的應用,它們會搬到 Rollup。

一個比較重要的例子是 ENS。我覺得 ENS 是以太坊生態現在最成功的非金融應用。現在有很多人有 ENS 域名,但現在做一個 ENS 域名或者更新一個 ENS 域名變得特別貴,所以應用性變得很難。但是如果 ENS 或者 ENS 的一個部分可以搬到 Rollup 裡面,就會解決這個問題。


觀眾提問一:現在我們看到這麼多 Rollup,那麼在 Layer2 的這個技術的方案裡面,目前最關鍵的,最需要解決的問題是什麼,就是他們現在有沒有遇到什麼比較大的問題,哪些挑戰?

Vitalik: 嗯,明白了。我覺得現在這些 Rollup 沒有很大的挑戰,但是有挺多較小的挑戰。可能有 100 個小問題,而且如果他們沒法解決這 100 個小問題,那麼 Rollup 的性能和用戶體驗就會特別不好。但是如果他們能解決,就比如,100 個問題中的 50 個或者 80 個,那用戶的體驗就會特別好。比如有一個問題是我以前提的,Optimistic Rollup 的提款問題。就是從 Optimistic Rollup 裡提款需要等一周的時間。所以他們想做一個 Liquidity Provider (流動性提供者)的機制,幫用戶提取得更快。

第二個例子就是,如果這些 Rollup 在開始特別成功,在裡面的 TPS 可能會很高,就比如,一個 Rolllup 裡面可能會有 100 個 TPS 或者 300 個 TPS,那這些 Rollup 裡面的節點,會有同步的問題。因為還是有 gas 的那種節點需要去處理這些 Rollup 裡面的交易。所以現在大家還沒有特別關心這個問題,因為在一個 Rollup 裡面有 100 個 TPS ,就是如果他們有這個問題,意味著他們的 Rollup 已經是特別的成功了。但是當他們這麼成功時,那麼他們的節點需要有更多的效率。這是第二個問題。

第三個問題就是,如果我們擴展性的未來,不止有一個 Rollup,而是有多個 Rollup,有 Optimism、Arbitrum、Loopring 等,那 cross-rollup 交易的問題就會變得特別重要。比如我現在在某個 Rollup 裡面有一些資產,我怎麼可以把我的資產搬到另一個 Rollup。其實我也想過這個問題,有一天我需要給我一個朋友付一些 ETH,可能是 0.05,可能是 0.03,但是現在的交易費是挺高的,我的朋友有一個 Loopring 的賬戶,我也有一個 Loopring 的賬戶,但是不夠 0.03,而我 zkSync 的賬戶有 0.1。但是在這個時候我沒有辦法在 zkSync 裡面把我的 0.1 搬到 Loopring。當然,我可以從 zkSync 裡提款出來,然後在 Loopring 上進行存款。但這需要耗費較長的時間和較多的 gas 費。但如果我們有一個 cross-rollup 的交易所就可以解決這個問題。所以,我覺得我們現在就有很多這種小的問題,如果我們能夠解決大部分的這些小問題,我覺得 Rollup 的生態一定會很好。這些小問題有一些不是什么研究問題,我們知道我們需要做什麼,但是需要開發者去寫代碼和做測試。

觀眾提問二: 然後下一個是關於技術方面的問題,以太坊現在有支持更多零知識證明算法預編譯的計劃嗎?比如說 Pickles 這類遞歸零知識證明算法?

Vitalik: 你說的是以太坊這條鏈有沒有計劃再添加更多的 pre-compile (預編譯),幫開發者、研究員做零知識證明?還是做零知識證明的編譯器嗎?因為有一些零知識證明體系,如果你寫了這個算法,在現在以太坊的鏈上,已經是可以研究的。如果是一個基於 elliptic curves pairing (椭圓曲線配對)的算法,在以太坊上是可以做的。

觀眾提問三:下一個問題是技術方面的。你怎麼看待 Rollup 中的多項式承諾(Polynomial Commitment)?我們可以用多項式承諾代替默克爾樹嗎?

Vitalik: 這個問題是有點複雜的,因為在考慮我們的 stateless clients (無狀態客戶端)和 state expiry (狀態逾期)時,我們也關心了這個問題,我們發現用 Polynomial Commitment 有一個比較大的問題,就是如果一個特別大的狀態,也就是一個狀態裡有很多賬戶,比如說有 5000 個賬戶在一個區塊裡面,如果有些賬戶的 balance (餘額)或者 storage (存儲)變了,就要計算所有賬戶的 witness (見證)。我們發現這個問題是特別難解決的,因此,在以太坊的路線圖裡,我們沒有選擇搬到 Polynomial Commitment。我們選擇搬到 Verkle Tree 上, Verkle Tree 就是一個 Merkle Tree 和 Polynomial Commitment 之間的一個方法。就是有點 Polynomial Tree 的特點,但是剔除了它的缺點。

潘致雄: 好,謝謝。這場活動到此為止,謝謝 Vitalik。

Vitalik: 謝謝大家,拜拜。

關聯標籤
鏈捕手ChainCatcher提醒,請廣大讀者理性看待區塊鏈,切實提高風險意識,警惕各類虛擬代幣發行與炒作,站內所有內容僅係市場信息或相關方觀點,不構成任何形式投資建議。如發現站內內容含敏感信息,可點擊“舉報”,我們會及時處理。
banner
ChainCatcher 與創新者共建Web3世界