区块链研究实验室|停止使用Solidity的transfer()函数( 二 )
以太坊看起来EIP 1884正在伊斯坦布尔硬叉前进 。 这一变化增加了sload操作的gas成本 , 因此打破了一些现有的智能合约 。
这些合约将破裂 , 因为它们的fallback函数过去消耗的gas少于2300 , 现在它们将消耗更多 。 为什么2300gas是重要的? 如果通过Solidity的transfer()或send()方法调用合约的fallback函数 , 则它是合约的fallback函数 。
自从transfer()引入以来 , 它通常被安全社区推荐 , 因为它有助于防止重入攻击 。 在gas成本不变的假设下 , 这一指导意见是有意义的 , 但事实证明这一假设是错误的 。 我们现在建议避免transfer()和send() 。
气体成本可以也将改变
evm支持的每个操作码都有一个相关的gas成本 。 例如 , sload从存储器中读取一个单词 , 目前(但不是很长时间)需要200气体 。 gas的价格不是随意的 。 它们旨在反映构成以太坊的节点上每个操作所消耗的底层资源 。
EIP的动机部分:
操作价格与资源消耗(CPU时间、内存等)之间的不平衡有几个缺点:
推荐阅读
- gta三部曲|梦幻西游:129级五开分析师,研究抓鬼任务最优化投入,不浪费一分钱
- 电子竞技|S12或迎来双败制?Riot全球电竞负责人发话:会去仔细研究!
- 世界弹射物语|皇室战争:职业选手研究的英雄卡组,要论机动性,黄金圣骑YYDS
- 新世界|游戏推出一个多月就在研究合服,《新世界》如今情况如何?
- fly|Fly让AG得重新研究对策,终结ES八连胜!留在S组只差AG这一步
- 弈星|职业赛场八连跪,弈星已经被研究透了?这英雄的强度到底如何?
- 原神|原神成为中国文化敲门砖,这群老外甚至因北斗研究起了国产导航
- 鲁班|王者荣耀:将王研究出鲁班发育秘诀,网友看后纷纷点赞!
- 青钢影|《地下城与勇士》:玩这个游戏,要花时间研究一下活动和成长路线
- 手机游戏|哈利波特手游:虎牙四个四深入研究,配置斯内普卡组,只为榜一