用于编写支持以太坊上各种去中心化应用程序 (DApps) 的智能合约的 Solidity 编程语言最近 升级 到版本 0.8.20。
Solidity 更新至版本 0.8.20
分析师观察到,此更新后的几项代码增强功能可以显着帮助依赖智能合约进行去中心化金融 (DeFi) 或不可替代代币 (NFT) 操作的用户削减汽油费。
在以太坊中,每笔交易,包括简单的转账,都会收取 ETH 费用。 支付的费用以“gas”衡量,并根据交易的复杂性和类型而有所不同。
例如,交易越复杂,gas 费用就越高。 这是因为处理复杂事务需要更多计算。 同时,某些交易(例如涉及智能合约的交易)的汽油费高于其他交易。 这是因为智能合约可能更复杂,需要更多的计算来处理。
在对 Solidity 编程语言进行调整后,在代码中引入功能和改进进一步稳定了区块链并使其智能合约具有成本效益。 具体来说,开发者在0.8.20版本发布了PUSH0操作码(opcode)。
PUSH0 操作码更改以随着时间的推移降低汽油费
Solidity 0.8.20 中的 PUSH0 操作代码允许开发人员仅用两个 gwei 将零值推送到以太坊虚拟机 (EVM) 堆栈。 这是对之前版本 Solidity 的重大改进,后者需要三个 gwei 才能将零值压入堆栈。
分析人士表示,这种操作码的变化将对以太坊开发人员有所帮助,甚至有助于随着时间的推移降低汽油费。 具体来说,尽管分析师表示 PUSH0 是一个微小的变化,但这次更新可以降低经常将零值推送到 EVM 堆栈的合约的成本,从而使智能合约更具成本效益。
同时,还有一个安全优势,因为它使智能合约不易受到“gas exhaust attacks”的影响。 在以太坊中,“气体耗尽攻击”是针对智能合约的拒绝服务。 在此,攻击者反复向消耗大量gas的智能合约发送交易,直到gas耗尽,使其无法使用。
多年来,虽然 Solidity 是一种新的编程语言,但它继续流行,锚定在以太坊上运行的智能合约。 它是图灵完备的,这意味着开发人员可以使用该语言来创建所有类型的智能合约。
然而,随着以太坊被广泛采用,开发人员继续改进 Solidity 以提高性能和气体消耗效率。
Canva 的特色图片,TradingView 的图表