銘文導致 zkSync 網路當機?為何核心開發者反倒慶祝技術突破?

Kyle
分享
銘文導致 zkSync 網路當機?為何核心開發者反倒慶祝技術突破?

zkSync 生態第一個銘文專案 Sync 於 17 日開放鑄造,不過當日區塊鏈瀏覽器顯示異常且部分用戶用戶頻繁交易失敗,普遍被認為是 zkSync Era 網路當機;然而加密研究員 Haotian 提出不同的看法,指出網路完全正常運作,並非如外界所誤解。

銘文鑄造使 zkSync 當機?

銘文熱潮蔓延至 zkSync,17 日該生態出現首個銘文專案 Sync,開放提供給所有人鑄造,該專案預計未來將開設銘文交易所與鑄造服務。

不過當日 zkSync 網路傳出災情,大量交易短時間內湧入,區塊鏈瀏覽器上顯示異常,而部分用戶錢包送出交易頻繁失敗,社群一度認為 zkSync 網路已因為此次銘文鑄造而癱瘓。

廣告 - 內文未完請往下捲動

延伸閱讀:各大公鏈銘文市場熱潮帶來對網路效能真實的壓力測試

zkSync 實際上正常運作

在事發過後,zkSync 開發人員 Anthony Rose 在推特表示網路並非當機,完全以正常機能運作,甚至 TPS 超乎平日表現,那麼為什麼參與用戶會面臨上述問題?加密研究員 Haotian 提出了幾點解釋,並認為本次事件反倒體現 zkSync 效能與彈性。

Metamask 與 zkSync 設計落差

首先需要先知道 zkSync 打包出塊的工作原理。在 zkSync 網路中,用戶簽署交易後,交易資訊會送到排序器,依照燃料費用排序打包成區塊,並將區塊證明資訊上鏈至 Ethereum 主網完成最終性確認。

用戶簽署交易的環節,大部分會透過 Metamask 等錢包端發起交易,而排序器接收交易資訊進入等待的環節,等待時間短則幾秒長則幾分鐘,如果等待時間較長,MetaMask 內部機制就會認定該筆交易已經失敗,然後前端返回交易失敗的字樣。

這並不代表交易真的失敗,只是因為 Metamask 的 RPC 回饋邏輯和 zkSync的排序器排隊打包交易邏輯差異所致。這也是為什麼一些明明 MetaMask 顯示失敗的交易,在等待一段時間後,後端伺服器顯示又成功的原因。如果使用者不用錢包,直接使用後端程式碼呼叫 zkSync 的 RPC,就不會存在回應時間逾時以及提示失敗的問題。

因此本次事件的交易失敗屬於錢包體驗端問題,和 zkSync 網路的處理能力無關。

多筆交易同時提交造成 API 調用錯誤

而排序器依照交易燃料費排序的環節,也可能讓用戶產生誤解。

當用戶發出交易時,每一筆交易都會從 nonce 值為 0 開始疊加,如果交易還在排隊狀態,用戶又發起了一筆 nonce 值為 1 的新交易,需要等待 nonce 值為 0 的交易完成並成功打包至區塊才可以執行 nonce 值為 1 的新交易。

推測當時用戶在 MetaMask 看到上一筆交易顯示失敗後,同時又提交新的交易,很可能新提交的交易由於錢包端和 zkSync API 調用問題,有一部分交易最終並沒有成功提交到 RPC 的等待序列中而被跳過了 (因為 nonce 值可能重疊),實際上 zkSync 主網路只收到了其中一部分的交易資訊。

因此 MetaMask 錢包的 RPC 回應時間邏輯問題和用戶著急向鏈上疊加交易的行為,都會造成大量的交易失敗。

區塊鏈瀏覽器 RPC 介面延遲

針對區塊鏈瀏覽器異常問題,Haotian 表示 zkSync 網路並未當機,只是區塊鏈瀏覽器前端顯示異常。因為瀏覽器同樣需要透過 zkSync 的 RPC 介面讀取最新數據,介面回應可能因大量交易而有延遲使瀏覽器顯示異常。

最終,區塊鏈瀏覽器讀取資料同步速度跟不上排隊交易激增的速度,這是瀏覽器前端的問題,與 zkSync 區塊鏈的運作沒有關係。通常等交易速度適當放緩瀏覽器抓取到新資料後,問題就會解決。

當遇到區塊鏈瀏覽器當機的時候,可以透過其他同步 zkSync 區塊資料的瀏覽器來交叉驗證,例如: https://hyperscan.xyz

zkSync 實際運轉效能如何?

在所謂當機傳聞爆出後,zkSync 的官方工作人員 @anthonykrose 卻在推特上頻頻發出 TPS 刷新的捷報。zkSync TPS 飆到 187.9 的峰值,而正常情況下 TPS 只有 50 至 100 左右,這說明大量的新交易湧入,zkSync 網路其實扛住了壓力。

本次事件確實為未來數千甚至上萬的 TPS 做了一次充分的「壓力測試」。

另一方面,ZK-Rollup 擁有一個特殊機制 — 交易量越大的同時燃料費則越便宜。因為將零知識證明上鏈的成本被更多交易分攤,zkSync 的燃料費在當下也確實更加便宜。

根據 growthepie 數據,當日 zkSync 的燃料費平均值降低 5.2%,平均在 0.19 美元左右,確實佐證了 ZK-Rollup 在未來使用者增加時,將可以享有更好的使用這體驗。

銘文帶給 layer2 壓力測試

根據 Dune 數據顯示, 由於 Sync 銘文鑄造,當日新增了五百萬筆交易,共有 65,575 個用戶參加,以結果來說確實是一次有效果的壓力測試,

若能正確理解背後的技術原理,會發現其實 zkSync 實際上表現良好。銘文事件並非傳言中把 Layer2 性能打回了原型,反倒讓團隊得到進一步優化性能的市場經驗,而不再執著於實驗環境的 TPS 測量,長遠來看對產業將有更健康的發展。

Haotian 認為應該給 Layer2 更多的信心。