zkSync Era出包》921 ETH卡合约无法领!团队承认:部分函数非EVM等效
zkSync Era 上线仅仅不到两周时间,TVL 已经突破 1 亿美元,但随着使用者快速攀升,当前处于 alpha 阶段的 zkSync Era 也开始传出技术问题,旗下生态项目筹集了 921 ETH 却卡在合约中无法领出。前情提要:L2热潮》zkSync Era锁仓突破14亿镁!生态最大DEX SyncSwap宣布发币背景补充:L2深度分析》zkSync Era 是什么?与Lite性能差异?埋伏空投互动教学
基于零知识证明技术ZK rollup的以太坊 L2 扩容方案 zkSync,在 3 月 24 日启动主网 zkSync Era 后,迅速获得市场投资人关注,仅不到两周时间内,其锁仓量TVL就突破 1 亿美元。
zkSync Era 生态项目筹集 921 ETH 卡在合约无法领出不过,随着使用者快速攀升,当前处于 alpha 阶段的 zkSync Era 也开始传出技术问题,先是在 4/1 出现宕机情况,一度暂停出块逾 3 小时。
今7日,根据 The Block 研究员 Eden Au 发布的推文指出,zkSync Era 上的一个新项目透过代币销售完成了 921 ETH价值约 170 万美元的众筹,但因为合约程式码存在问题transfer() 函数适用于以太坊和其他EVM链,但不适用于 zkSync,导致筹集的资金被永远卡在合约中无法取出。
延伸阅读:L2热潮》zkSync Era 启动主网,详解独特架构和生态应用
A project on zkSync raised 921 ETH (17M) in a token sale but funds are stuck forever in the smart contract
The transfer() function works on Ethereum and other EVM chains but not on zkSync pictwittercom/HQiOMrs8GT
mdash Eden Au (@0xedenau) April 6 2023
zkSync:已找到解冻合约解决方案对此,zkSync 紧急发文澄清,这个新项目是 Gemholic,并表示资金是安全的,当前团队正在与项目方合作,帮助他们解决问题。zkSync 补充解释:
HTX交易所任何调用 transfer() 或 send() 函数的智能合约都严重依赖 Gas 成本硬编码 2300 Gas,但这不能保证在以太坊上运作,因为 fallback()函数可能会消耗超过 2300 Gas,而且在以太坊未来版本中 opcode Gas定价可能会发生变化,进而导致合约中断。
然而,zkSync Era 本身有别于一般 EVM 兼容环境,采取的是一种动态且发散的 Gas 计量方式,使得某些交易类型比其他 EVM Rollup 的交易更便宜 10 到 1000倍 。因此按照当前 Era主网的 Gas 水平,任何没有明确 Gas 津贴的 transfer() 调用目前都会失败。

不过,zkSync 表示当前已经找到一种解决方案来解冻合约:这将需要对协议的 Gas 计量进行最小的更改,但将允许完全回收资金,预计将在明天发布更多详细讯息。
延伸阅读:zkSync 全方位报告》检视团队组成、技术、代币经济、生态系统
@GemholicECO is a multiproduct platform that recently deployed their token contract and performed a presale launch on zkSync Era After deployment they encountered an issue with their contract due to the usage of the transfer() function
mdash zkSync (@zksync) April 7 2023
值得一提的是,为了避免此事件对 zkSync Era 生态产生负面影响, zkSync 还在推文中强调,编译器已经添加了关于 transfer() 函数调用的警告,但 Gemholic 的合约没有事先在测试网或本地节点测试过就直接部署在 Era 的主网上,这才导致问题的发生。
此外,zkSync 还表示早在三年前 Consensys 就已警告 Solidity 开发者放弃使用 transfer() 函数,而大部分主流项目也早已不使用 transfer() 函数,似乎在暗示此次问题的发生并非全是 zkSync Era 的责任。
It was clear to us that this problem could arise so we added a warning about transfer() directly to the compilerhttps//tco/sJgTr4SVh2
mdash zkSync (@zksync) April 7 2023
相关报导zkSync 20 上线第二阶段 Alpha,开放项目方于主网部署程式码
zkSync 全方位报告》检视团队组成、技术、代币经济、生态系统
zkSync 母公司 Matter Labs 完成 2 亿镁融资,宣布保留 2/3 代币促进生态系