header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP

為什麼說zkSync「公開練兵」成功了?

閱讀本文需 9 分鐘
長遠看,銘文事件並非傳言中把Layer2性能打回了原型,反倒給Layer2的進一步性能優化提供了實踐經驗。
原文作者:Haotian


編者文:最近,隨著銘文的火爆,各大公鏈在短時湧入了天量的交易。這無疑是對公鏈的「大考」。而在這次考驗中,zkSync 無論是TPS峰值,還是 GAS 穩定性等都完美經受住了考驗。關於這個主題,加密研究員 Haotian 從技術的角度在x 上發表了自己的看法,BlockBeats 整理如下:


在zkSync 鏈上刻銘文,短時湧入的天量交易,確實是一次Layer2 公鍊性能的「壓力測試」,不過結果並非「宕機」,恰恰相反,這是一次@zksync的公開練兵,結果是TPS 峰值、GAS 穩定性等都完美經受了考驗。


乍聽,是不是有點反直覺?接下來,用技術邏輯,我來給大家澄清一下:


zkSync 打包出塊的工作原理,簡單而言:用戶構造交易進入zkSync Sequencer 的排序序列,然後Sequencer 根據Gas Fee 高低排序打包進區塊,然後再把區塊傳入Proof 系統驗證,最後Submit 到主網完成finality 狀態確認。


-這裡邊有2 個關鍵點,容易製造「體驗糟糕」假象:


1)用戶建構交易環節:大部分用戶都會透過Metamask 等錢包端發起交易,而透過錢包端向zkSync 發送交易,交易會先進入RPC 遠端呼叫伺服器裡,然後Sequencer 接收這些交易進入排隊序列。這裡的排隊時間短則幾秒,長則幾分鐘,人如果等待時間較長,MetaMask 就會認定該筆交易已經失敗,然後前端返回交易失敗的提示。


然而,這並不意味著交易真是失敗了,而只是因為Metamask 的RPC 回應時間和反饋邏輯和zkSync 的Sequencer 排隊打包交易邏輯存在「不相容」所致。 這正是為何,一些明明 MetaMask 顯示失敗的交易,在等待一段時間後,後端伺服器顯示又成功的原因。


如果使用者不走錢包管道,直接使用後端程式碼呼叫zkSync 的RPC,就不會存在回應時間逾時以及提示失敗的問題,體驗相對而言會很絲滑。這確實會讓一些可使用後端程式碼指令的「科學家」取得了優勢,但本質上屬於錢包體驗端的問題,和 zkSync 鏈的處理能力無關。


2)Sequencer 公平排序環節:當使用者短時向RPC 佇列發出交易時,每一筆交易都會從nonce 值為0 開始疊加,如果上一筆交易還在排隊狀態,nonce 為0,這時用戶又發起了一筆新交易nonce 為1,zkSync 的Sequencer 會根據time 來給這些交易分配nonce,然後按照順序排序。


但倘若,用戶在MetaMask 前段看到上一筆交易顯示失敗後,同時又提交新的交易,很可能新提交的交易由於錢包端和zkSync API 介面呼叫的問題,有一部分交易最終並沒有成功提交到RPC 的排隊序列中。 用戶以為提交了很多交易,實際上 zkSync 只收到了其中一部分,而只要他們收到就會去排序處理。


這麼看,用戶看到MetaMask 回饋交易失敗,不停提交新交易的行為也會造成大量交易失敗,因為根本就沒有提交到zkSync 鏈的後端,只是你在前端以為自己提交了。


整體而言,MetaMask 錢包的RPC 回應時間邏輯問題和使用者急著向鏈上疊加交易的行為,都會造成大量的交易「失敗」,如果清楚zkSync 的後台交易處理工作流程的話,相對更容易避開這些優化體驗問題。


-基於以上科普,再來澄清下「宕機」問題:


zkSync 鏈並未「宕機」,只是瀏覽器前端顯示問題,因為瀏覽器會透過zkSync 的RPC 介面拉取最新數據,但是介面回應會有延遲,大量新交易會使回應變慢。


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


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


-真實鏈的「運轉性能」情況如何?


1)在所謂宕機傳聞爆出後,zkSync 的官方工作人員@anthonykrose在推特卻頻頻發出 TPS 刷新捷報。 實際上,zkSync TPS 飆到了 187.9 的峰值,正常情況下,TPS 只有 50-100 左右,這說明大量的新交易湧入,zkSync 其實抗住了壓力。 這確實也給未來數千甚至上萬的 TPS 做了一次充分的「壓力測試」。


2)ZK-Rollup 的特殊機制決定了,處理的交易量越大,Gas 費就越便宜,事實上,zkSync 的Gas 費確實更加便宜了,因為交易成本也被分攤了,根據growthepie 數據顯示,近24 小時,zkSync 的Gas 平均值還降低了5.2%,平均在$0.19 左右,這個數據每個人的體驗可能不一樣,但綜合鏈的運作數據,確實是便宜了。 佐證了 ZK-Rollup 的更流暢體驗需要將現有的使用者規模提升到一個量級。


-銘文事件對 layer2 公鏈的影響?


根據 dune 數據顯示,Sync 的銘文鑄造,14 小時新增了 5M 筆交易,已有 65575 個 Holder 參加。誠然,zkSync 官方已經知道了這場社區發起的「壓力測試」活動,也緊急採取措施來確保 zkSync 鏈的有序進行。


這個數據對 zkSync 確實是較好的壓力測試實驗,其正向影響大於負向。 長遠看,銘文事件並非傳言中把 Layer2 性能打回了原型,反倒給 Layer2 的進一步性能優化提供了實踐經驗。


不過據我了解,除了Sync 之外,還有其他銘文正在鑄造,雖不及Sync 那麼fomo,但也給此壓力測試添了一把火。


Anyway,結果整體而言是好的,大家若釐清zkSync 後台排序出區塊的技術邏輯,再撥開其中存在的「體驗不良」誤會,就應該懂得,一切運作安好,我們得給layer2 多一點信心。


原文連結


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交