针对昨日Gemholic项目资金被卡的问题,zkSync发布推文称:“我们想分享有关更好地支持遗留Solidity功能的更新,transfer()和.send()将可完全像在EVM中一样工作。该解决方案不涉及任何类型的重组或再生。这将是一个正常的协议升级。”
zkSync对此技术进行了相信的解释:“在zkSyncEra上,value>0的调用通过MsgValueSimulator系统合约,消耗一些gas。这就是为什么在zkEVM上不提供gas而调用transfer会失败的原因。因此作出以下更改:对没有最低gas需求的MsgValueSimulator的调用现在至少需要2*64*pubdata_bytes+Kergs。其中,需要pubdata来传输值,并且K将被选择得足够高以处理transfer。在MsgValueSimulator结束时,将确保至少花费2*64*pubdata_bytes+K'来处理transfer(如果花费的ergs更少,则退款将退还给调用者)。K-K'将是zkSyncEra津贴。为了防止重入,我们将确保存储写入成本至少为K-K'ergs。这种方法与以太坊非常一致:当value>0并授予一些津贴时,向用户收取更多费用。实际上,这意味着津贴将启用一次且仅支持一个存储更新,除此之外别无其他。此更改可能会略微影响交易成本的估计和退款后的实际交易成本。但是,未来估计费用与实际费用之间的差距将大大缩小。”
zkSync提到,上述更新需要一些时间才能实施,并会在下一次协议升级时经过多次测试、审计和社区审查后部署。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。