以下是本次 zkSync 分享:zkPorter - Why Rollups Are Not Enough 的文字版,由 imToken Riely 整理。
---
大家好,我叫 Angela,是 zkSync 的產品經理。今天很高興有機會跟大家分享我們最新的進展 - zkSync 2.0。
大家都希望 Rollup 能在今年夏天盡快普及。當 Rollup 被廣泛使用後,我們預計礦工費可以便宜 100 倍。現在我們已經看到很多小資金在使用 zkSync 網絡,但總體來說,我們認為目前的 Rollup 還沒有經過廣泛的檢驗,因此還不建議大資金湧入。但是,再過幾個月,我們的 Rollup 會越來越安全。那時,zkSync 對於大資金來說,也同樣地安全可靠,而且我們還會支持 NFT 和 zkEVM,讓更多應用部署到 zkSync 網絡上。同時,我們也會看到之前那些因為以太坊太貴而外溢到其他鏈(比如:BSC,Polkadot,Solana,Polygon)的用戶回歸以太坊。另外,Coinbase IPO 也吸引了大量新用戶,相信他們也迫不及待想試試!
2020 到 2021 年間,以太坊用戶增長了 12 倍,但是礦工費卻呈指數增長,上升了 192 倍
早在 2018 年,我們就預見到了以太坊可拓展性的不足,無法服務十億級別的用戶的情況。為此我們開始做 zkRollup。但是按照上圖的趨勢,我們預計當前的 Rollup 方案提供的可拓展性仍然難以滿足潛在快速增長的用戶和需求,可能在 Rollup 普及一段時間以後,礦工費又會變得很高。因此,在 zkRollup 的基礎上,我們有了新的突破 - zkPorter。
在講 zkPorter 之前,我先介紹 zkSync 2.0 是怎麼工作的。 zkSync 2.0 會有一個默克爾樹根,這個默克爾樹根會分成兩個部分。第一個部分是 zkRollup,zkRollup 賬戶會在 zkRollup 的默克爾樹的葉子節點下。第二個部分是 zkPorter,zkPorter 的賬戶都在 zkPorter 默克爾樹的葉子節點下。
zkRollup
那麼 Rollup 的安全性如何呢? Rollup 的安全性主要由兩個很重要的因素決定,第一是數據有效性,第二是數據可用性。數據有效性保證了你的資產無法被別人動用;數據可用性保證了資產的歸屬權,也就是證明了你對資產的所有權。
zkRollup 通過把交易的計算和存儲轉移至 zkSync 網絡,然後將處理後的數據提交到以太坊主網來拓展以太坊性能。具體而言,當前 zkSync 網絡中的驗證人會將用戶在二層網絡中的交易匯總,然後通過 zkSNARK 算法壓縮後,把得到的默克爾樹根上傳到一層網絡中,以此保證區塊中所有交易的有效性。
至於數據可用性,我們通過把處理後的數據放到以太坊的 calldata 裡面來保證。那麼為什麼是 calldata 而不是智能合約呢?這是因為在同等安全性的前提下,放在 calldata 比放在智能合約更便宜。
由於 zkRollup 會將每筆交易壓縮後的數據傳到以太坊主網上,因此 zkRollup 的數據有效性和可用性都得到了保證,並且和以太坊是同等程度的。
zkPorter
zkPorter 和 zkRollup 的主要區別是數據可用性。大家想想,為什麼 Rollup 不能達到我們希望的可拓展性?這是因為我們要把每筆交易壓縮後的數據都放在以太坊上面,但是以太坊的區塊大小是有上限的。
那該怎麼辦呢?這時候,我們可以選擇提供鏈下數據可用性的 zkPorter,這樣就能達到我們所期望的可擴展性。
zkPorter 賬戶的數據可用性由 zkSync 代幣持有者保障。在 zkSync 2.0,你可以享受 zkRollup 和 zkPorter 賬戶的混合體驗(你們可以自由選擇,而且是完全可互操作的)。守護人(guardian)將通過質押其 zkSync 代幣參與權益證明,並通過對區塊簽名來確認 zkPorter 賬戶的數據可用性。
當然,天下沒有免費的午餐,由於 zkPorter 依靠 zkSync 代幣持有者(即守護人)來保障數據可用性,所以 zkPorter 的安全性將會比以太坊略低。但是需要強調的是,zkRollup 的安全性不會變,仍然具備和以太坊一樣的安全性。你可以看下圖中的藍點,這藍點是 zkRollup 的數據可用性。綠點顯示的是由 zkSync 代幣持有者組成的守護人(guardian)網絡裡面的數據可用性。
對應上圖中高一點的藍點,在數據有效性上,zkPorter 和 zkRollup 的有效性都是由 zkSNARK 保證的,並且賬戶狀態的正確性有著和以太坊主網相同的安全保證。這也就意味著沒有人可以移動你賬戶的資產。
那麼數據可用性在 zkPorter 上具體是怎麼樣的呢?通常我們講區塊鏈安全的時候,需要考慮最壞的情況。看看在最壞的情況下,系統安全性如何保證。我們先看 zkSync 的代幣持有者,即守護人(guardian),他們需要簽字確認每一個 zkSync 區塊的數據可用性。即便 ⅓ +1 的 zkSync 持有者拒絕生產區塊,這對 zkSync 網絡來說也是沒有太大影響的。因為 zkRollup 和 zkPorter 還可以去找另外的 ⅔ 問其數據可用性。
最差的情況是網絡遭遇 ⅔ 多數攻擊。在這種情況下,攻擊者可以去簽字確認最後的區塊,即它仍有有效性。但在這種情況下,攻擊者會讓數據不可用。此時,普通用戶不能證明自己所擁有的資產,因此無法正常管理這些資產。但同時,對攻擊者來說,他也無法證明他擁有這些資產,同樣無法動用這些錢。
大家可能會問,zkPorter 和 Optimistic Rollup 哪個更安全呢?我們認為是 zkPorter 更安全。為什麼?因為 zkPorter 的攻擊者沒有足夠的動力去破壞我們的系統。如果有一千萬個的 zkSync 代幣,攻擊者需要使用七百萬個代幣去攻擊,並且他拿不走任何資產(只能凍結 zkPorter 的狀態,因此也會凍結自己的押金)。但是在 Optimistic Rollup 上,攻擊者可以通過複雜但可行的攻擊方法從 Optimistic Rollup 中盜取資金。因此我們認為 zkPorter 比 Optimistic Rollup 更安全。
以太坊主網 vs zkRollup vs zkPorter
其實更重要的是,你願意接受哪種程度的安全性。如果你是大額資金,並且更認可以太坊主網的安全性,那我們建議你還是在以太坊上。但是如果你想要便宜一點,那麼我們建議你使用 zkPorter。
剛剛我們講到,由於以太坊區塊大小和 TPS 的限制,現在很多 Rollup 解決方案的最大 TPS 不超過 2000。但是 zkPorter 的數據可用性沒有被以太坊限制,可以達到 2 萬多 TPS,甚至更多。如果說以太坊主網礦工費是 100,那麼 zkRollup 轉賬需要支付 1(zkRollup 的礦工費會跟隨以太坊,以太坊礦工費如果更貴,那麼 zkRollup 也會變貴),zkPorter 轉賬只需要支付 $0.01(基本固定)。
為什麼說 zkSync 2.0 是一個突破?這是因為 zkPorter 和 zkRollup 可以互相轉賬。這也是我們為什麼我們選擇基於以太坊,以太坊上的互操作性和可組合性是驚人的!
如果我們使用 zkPorter 賬戶在 Uniswap 做一千次兌換,最後只需要確認交易匯總後的最終狀態是怎樣的,這樣就可以把交易費用節約至 $0.1,這就是 zkPorter 的優勢。
然後我再從數據有效性和可用性的角度,和 Optimistic Rollup 對比一下。在 zkSync 2.0 中, L2 狀態將會分成兩個部分:數據可用性在鏈上的 zkRollup 和數據可用性在鏈下的 zkPorter。但是 Optimistic Rollup 做不到這樣,因為它的有效性依賴於以太坊上面的數據可用性,否則它無法做欺詐性證明,所以 Optimistic Rollup 的 TPS 是受以太坊自身限制的。然而,zkPorter 可以突破這個限制。
zkSync 路線圖
什麼時候才能在 zkSync 上面造東西?首先,我們在 5 月份就會支持 NFT 了!然後,zkEVM 也會在 5 月份上線測試網。我們爭取讓 zkEVM 在 8 月份能上線以太坊主網。
謝謝大家!在這裡我想要特別感謝 Riely,她幫我翻譯了很多以太坊相關的專業詞彙。同時,我們在中國的社區看到了非常多積極的成員,非常感謝你們的支持。對此,Alex 和我都特別感動。那就這樣啦,拜拜!
zkSync 創始人 Alex 總結
我對 zkRollup 和 zkPorter 感到非常興奮,因為他們能把大量的用戶帶回以太坊,並給他們最大程度的安全性。我們高度關注協議的安全性,不管你們是 DeFi 項目方還是普通的以太坊用戶,我們都希望你們有安全保障。同時,zkPorter 對所有用戶開放,你們不用擔心再遇到鏈上昂貴的費用。
zkSync 希望帶給大家一個流動性充足、功能豐富的系統,不論貧富,在這裡每個人都有平等參與經濟系統的權利。這也是我們公司的價值觀之一,即多元包容。我們堅信這一點。