hao86下載站:值得大家信賴的游戲下載站!

首頁(yè) > 區(qū)塊鏈 > 銘文狂熱傳至Layer2 zkSync為何能通過(guò)天量交易壓力測(cè)試?

銘文狂熱傳至Layer2 zkSync為何能通過(guò)天量交易壓力測(cè)試?

時(shí)間:2023-12-18 18:47:55
來(lái)源:hao86下載
區(qū)塊鏈

【#區(qū)塊鏈# #銘文狂熱傳至Layer2 zkSync為何能通過(guò)天量交易壓力測(cè)試?#】

作者:Haotian,加密觀察員 來(lái)源:X,@tmel0211

在 zkSync 鏈上刻銘文,短時(shí)涌入的天量交易,確實(shí)是一次 layer2 公鏈性能的「壓力測(cè)試」,不過(guò)結(jié)果并非「宕機(jī)」,恰恰相反,這是一次 zkSync 的公開練兵,結(jié)果是 TPS 峰值、GAS 穩(wěn)定性等都完美經(jīng)受了考驗(yàn)。

乍一聽,是不是有點(diǎn)反直覺?接下來(lái),用技術(shù)邏輯,我來(lái)給大家澄清一下:

zkSync 打包出塊的工作原理,簡(jiǎn)單而言:用戶構(gòu)造交易進(jìn)入 zkSync Sequencer 的排序序列,然后 Sequencer 根據(jù) Gas Fee 高低排序打包進(jìn)區(qū)塊,然后再把區(qū)塊傳入 Proof 系統(tǒng)驗(yàn)證,最后 Submit 到主網(wǎng)完成 finality 狀態(tài)確認(rèn)。

這里邊有 2 個(gè)關(guān)鍵點(diǎn),容易制造「體驗(yàn)糟糕」假象:

1)用戶構(gòu)造交易環(huán)節(jié):大部分用戶都會(huì)通過(guò) Metamask 等錢包端發(fā)起交易,而通過(guò)錢包端向 zkSync 發(fā)交易,交易會(huì)先進(jìn)入 RPC 遠(yuǎn)程調(diào)用服務(wù)器里,然后 Sequencer 接收這些交易進(jìn)入排隊(duì)序列。這里的排隊(duì)時(shí)間短則幾秒,長(zhǎng)則幾分鐘,人如果等待時(shí)間較長(zhǎng),MetaMask 就會(huì)認(rèn)定該筆交易已經(jīng)失敗,然后前端返回交易失敗的提示。

然而,這并不意味著交易真失敗了,而只是因?yàn)?Metamask 的 RPC 響應(yīng)時(shí)間和反饋邏輯和 zkSync 的 Sequencer 排隊(duì)打包交易邏輯存在「不兼容」所致。這正是為何,一些明明 MetaMask 顯示失敗的交易,在等待一段時(shí)間后,后端服務(wù)器顯示又成功的原因。

如果用戶不走錢包管道,直接使用后端代碼調(diào)用 zkSync 的 RPC,就不會(huì)存在響應(yīng)時(shí)間超時(shí)以及提示失敗的問(wèn)題,體驗(yàn)相對(duì)而言會(huì)很絲滑。這確實(shí)會(huì)讓一些可使用后端代碼指令的「科學(xué)家」取得了優(yōu)勢(shì),但本質(zhì)上屬于錢包體驗(yàn)端的問(wèn)題,和 zkSync 鏈的處理能力無(wú)關(guān)。

2)Sequencer 公平排序環(huán)節(jié):當(dāng)用戶短時(shí)向 RPC 隊(duì)列發(fā)出交易時(shí),每一筆交易都會(huì)從 nonce 值為 0 開始疊加,如果上一筆交易還在排隊(duì)狀態(tài),nonce 為 0,這時(shí)用戶又發(fā)起了一筆新交易 nonce 為 1,zkSync 的 Sequencer 會(huì)根據(jù) time 來(lái)給這些交易分配 nonce,然后按照順序排序。

但倘若,用戶在 MetaMask 前段看到上一筆交易顯示失敗后,同時(shí)又提交新的交易,很可能新提交的交易由于錢包端和 zkSync API 接口調(diào)用的問(wèn)題,有一部分交易最終并沒有成功提交到 RPC 的排隊(duì)序列中。用戶以為提交了很多交易,實(shí)際上 zkSync 只收到了其中一部分,而只要他們收到就會(huì)去排序處理。

這么看,用戶看到 MetaMask 反饋交易失敗,不停提交新交易的行為也會(huì)造成大量交易失敗,因?yàn)楦揪蜎]有提交到 zkSync 鏈的后端,只是你在前端以為自己提交了。

整體而言,MetaMask 錢包的 RPC 響應(yīng)時(shí)間邏輯問(wèn)題和用戶著急向鏈上疊加交易的行為,都會(huì)造成大量的交易「失敗」,如果清楚 zkSync 的后臺(tái)交易處理工作流程的話,相對(duì)更容易避開這些優(yōu)化體驗(yàn)問(wèn)題。

基于以上科普,再來(lái)澄清下「宕機(jī)」問(wèn)題:

zkSync 鏈并未「宕機(jī)」,只是瀏覽器前端顯示問(wèn)題,因?yàn)闉g覽器會(huì)通過(guò) zkSync 的 RPC 接口拉取最新數(shù)據(jù),但是接口響應(yīng)會(huì)有延遲,大量新交易會(huì)使響應(yīng)變慢。

總之,瀏覽器的拉取數(shù)據(jù)同步速度跟不上排隊(duì)交易激增的速度,這是瀏覽器前端的問(wèn)題,與鏈的運(yùn)轉(zhuǎn)沒有關(guān)系。通常等交易速度適當(dāng)放緩,瀏覽器可以抓取到新數(shù)據(jù)后,問(wèn)題就會(huì)解決。

當(dāng)遇到瀏覽器不 work 的時(shí)候,可以通過(guò)其他同步 zkSync 區(qū)塊數(shù)據(jù)信息的瀏覽器來(lái)交叉驗(yàn)證,比如:https://hyperscan.xyz

真實(shí)鏈的「運(yùn)轉(zhuǎn)性能」情況如何呢?

1)在所謂宕機(jī)傳聞爆出后,zkSync 的官方工作人員 Anthony Rose 在推特卻頻頻發(fā)出 TPS 刷新捷報(bào)。實(shí)際上,zkSync TPS 飆到了 187.9 的峰值,正常情況下,TPS 只有 50-100 左右,這說(shuō)明大量的新交易涌入,zkSync 其實(shí)抗住了壓力。這確實(shí)也給未來(lái)數(shù)千甚至上萬(wàn)的 TPS 做了一次充分的「壓力測(cè)試」。

2)ZK-Rollup 的特殊機(jī)制決定了,處理的交易量越大,Gas 費(fèi)則越便宜,事實(shí)上,zkSync 的 Gas 費(fèi)確實(shí)更加便宜了,因?yàn)榻灰壮杀疽脖环謹(jǐn)偭?,根?jù) growthepie 數(shù)據(jù)顯示,近 24 小時(shí),zkSync 的 Gas 平均值還降低了 5.2%,平均在 $0.19 左右,這個(gè)數(shù)據(jù)每個(gè)人的體驗(yàn)可能不一樣,但綜合鏈的運(yùn)行數(shù)據(jù),確實(shí)是便宜了。佐證了 ZK-Rollup 的更流暢體驗(yàn)需要將現(xiàn)有的用戶規(guī)模提升一個(gè)量級(jí)。

銘文事件對(duì) layer2 公鏈的影響?

根據(jù) dune 數(shù)據(jù)顯示, Sync 的銘文鑄造,14 個(gè)小時(shí)新增了 5M 筆交易,已有 65575 個(gè) Holder 參加。誠(chéng)如上述所言,zkSync 官方已經(jīng)知道了這場(chǎng)社區(qū)發(fā)起的「壓力測(cè)試」活動(dòng),還緊急采取措施來(lái)確保 zkSync 鏈的有序進(jìn)行。

這個(gè)數(shù)據(jù)對(duì) zkSync 而言確實(shí)是一次較好的壓力測(cè)試實(shí)驗(yàn),其正向影響大于負(fù)面。長(zhǎng)遠(yuǎn)看,銘文事件并非傳言中把 layer2 性能打回了原型,反倒給 layer2 的進(jìn)一步性能優(yōu)化提供了實(shí)踐經(jīng)驗(yàn)。

不過(guò)據(jù)我了解,除了 Sync 之外,還有其他銘文正在鑄造,雖不及 Sync 那么 fomo,但也給此壓力測(cè)試添了一把火。

Anyway,結(jié)果總體而言是好的,大家若厘清 zkSync 后臺(tái)排序出塊的技術(shù)邏輯,再撥開其中存在的「體驗(yàn)糟糕」誤會(huì),就應(yīng)該懂得,一切運(yùn)行安好,我們得給 layer2 多一點(diǎn)信心。

小編推薦下載

相關(guān)文章

更多>>

資訊排行

同類軟件下載