点击蓝字 关注我们
作者:@tmel0211
排版:ZaynR@InfoFlow
在 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 区块数据信息的浏览器来交叉验证,比如真实链的“运转性能”情况如何呢?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 多一点信心。
·END·
关于讯流 InfoFlow:
讯流科技立足于华人初创项目,提供 Web3.0 与区块链项目方从 0 到 1、成体系、差异化、阶段化的内容叙事服务,并帮助项目方链接跟踪深度关注用户。
相关链接:
Twitter: @InfoFlow_CH
即刻: https://okjk.co/P08u7i
Nextme: https://nextme.one/InfoFlow
小宇宙:讯流会客厅
声明:请读者遵守所在地法律法规,本文不代表任何投资建议。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。