摘要
是的,某些操作码调用将需要更多的 gas 开销,但必须这样做来提高安全性。
但另一方面,一直以来应该更便宜的操作 (存储后加载相同的 slot) 最终会变得更便宜。
另一个重要裨益是,适度提高 gas limit 现在变得更安全。现在限制 gas limit 提高的主要原因跟多在于状态大小问题。
柏林硬分叉中引起 gas 开销变化的 EIP 有:EIP 2565 (降低ModExp 求模求幂运算的 gas 开销 )、EIP 2929 (提高SLOAD 与 CALL 的 gas 开销)、以及 EIP 2718 和 2930,用以支持受 gas 开销增加影响的合约的兼容性,以及为未来的升级铺垫。
Vitalik Buterin:账户抽象可为以太坊带来数十亿美元的收益:金色财经报道,最近在巴黎举行的以太坊社区会议(EthCC)上的一次演讲中,以太坊创始人Vitalik Buterin详细介绍了账户抽象升级如何让用户用用于交易的代币支付Gas费,从而吸引数十亿人使用以太坊。帐户抽象使用户能够从外部拥有的钱包(EOA)切换到基于智能合约的钱包。如果此次升级成功,钱包管理将比现在更加高效和轻松。Buterin和社区相信,这可以使加密技术得到广泛采用。
此外,加密货币领域充斥着丢失助记词或助记词被盗的用户。通过账户抽象,用户可以创建充当可编程智能合约的非托管钱包。据报道,钱包恢复只是此次新升级带来的众多功能之一。Buterin相信此次升级可以给以太坊带来数十亿美元的收益。[2023/7/20 11:05:50]
目前,这些 EIP 中最重要的是 EIP-2929。它的核心内容是:SLOAD 的 gas 开销从 800 增加到 2100,CALL 的 gas 开销 (包括STATICCALL 、 DELEGATECALL和其他操作码) 以及外部合约查询 (BALANCE、EXTCODESIZE 等) 从 700 增加到 2600,但这种情况仅会在地址和存储 slot 在交易里首次被访问时发生。
Waves生态项目Gravity测试框架正在添加币安智能链:10月20日消息,Waves生态项目Gravity测试框架正在添加币安智能链。币安智能链是币安链的平行公链,可以通过Ankr创建智能合约和BNB staking。除了以太坊和Waves,币安智能链将成为Gravity网络新的主要目标公链。
在准备这次集成时,Waves生态项目Gravity团队使用了Waves合作伙伴Ankr提供的一键式BSC节点部署解决方案。[2020/10/20]
这样做的目的是进一步提高对 DoS 攻击的抵御能力:早期的研究显示,以太坊协议目前最大的 DoS 漏洞在存储访问,而且是有可能可以创建一些区块对大量账户作简单重复的访问,处理时间可能长达 80 秒。解决办法是一个简单的快速修复:使这些操作持续更长的时间 (存储访问需要磁盘访问) 以消耗更多的 gas,最终 DoS 问题会被削弱大概 3 倍。与此同时,客户端团队进行了一些出色的工作——实现磁盘存储缓存、减少存储加载所需的数据库查询次数、以及更长远地堵住这个漏洞。
TAVITT将允许用虚拟货币进行结算:位于泰国曼谷的Tavitt(Thailand)Co.,Ltd.公司日前表示,将允许比特币、Tavittcoin(TVC)等虚拟货币在“TAVITT网页”上购买机票、预订酒店、结算Tavitt规划的旅行团等。虚拟货币Tavittcoin(TVC)已经于2018年3月1日开始在Waves交易所上市。Tavittcoin(TVC)的销售期限是从2018年3月1日凌晨12点(星期日)至2018年3月31日晚间12点(日本时间)。[2018/3/6]
gas 开销重新定价加上这些客户端的改善使得现有的区块链更安全,也使得提供 gas limit 比现在更加安全。在 EIP-2929 后,避免大幅 gas limit 提升的主要原因实际上不再是 DoS 攻击问题,而是状态大小的增加 (这两方面互相影响:当存储负载变大后存储加载消耗的 gas 会更多)。因此,状态过期和无状态会变得非常重要,甚至可以说是“合并” 后的首要任务。
以太坊创始人Vitalik看好以太经典属不实消息 只是提醒社区不要太浮躁:今日,有传闻称以太坊创始人Vitalik Buterin不再看好以太坊(ETH),转投以太经典(ETC),经核实其属于不实消息,Vitalik发布的推文只是提醒社区成员不应过于浮躁,他表示,如果大家关注的只是“兰博基尼”这些东西,那么他会选择离开。 ????[2017/12/28]
这次的重新定价产生的第二大长期裨益是无状态验证的见证大小理论上最大能减少 3 倍。对于代码读取,我们还需要一次重新定价 (类似于:每访问 31 字节代码需要 500 gas),但这一点可以在未来实现。
请注意:这份 EIP 只增加每笔交易第一次访问的 gas 开销。往后的访问实际上是更便宜的 (任何情况下都是 100 gas)。另外,对预编译的调用一直只消耗 100 gas,包括首次调用。这样做有带来以下正面影响:
在同一个 slot 里,任何SLOAD后的SSTORE(或者SSTORE后的 SLOAD) 都会变得更便宜。这是因为第一次存储读取或写入以及支付了访问存储 slot 的 gas 费了,因此该存储 slot 已经“预热了”,第一次读取和写入都会更便宜;这样,我们需要支付的 gas 不是 800 + 5000,而是 2100 + 2900 (大约),减少了大约 800 gas。这可能使采用 ERC20 协议标准代币的转发更便宜。
Self-calling 变得更便宜
对预编译的调用变得更便宜 (这对于低 gas 开销的预编译来说特别有价值,这些预编译需要倍调用非常多次,比如 ECADD)
添加第一次访问规则是因为当一个账户或存储 slot 被第二次访问时,该账户或存储 slot 应该已经在内容里有缓存了,因此就不需要进行昂贵的磁盘访问了。当然,对同一个数值的两次访问也只需要一次的见证条目。
来源 |?r/ethereum
作者 | Vitalik Buterin
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。