主页 > 安卓手机怎么下载imtoken > HashKey Cui Chen:以太坊降低gas费的做法及优缺点分析

HashKey Cui Chen:以太坊降低gas费的做法及优缺点分析

安卓手机怎么下载imtoken 2023-11-30 05:13:26

哪些解决方案可以降低以太坊 Gas 费用? 从Layer 1、Layer 2及相关Gas产品分析。

作者:崔晨,就职于HashKey Capital Research

审稿人:邹传伟,万向区块链首席经济学家

最近以太坊网络经常拥堵。 为了尽快完成交易,用户会提高Gas费,希望能先被矿工打包,尤其是在交易有利可图的时候。 2021年后以太坊网络利用率将长期超过97%,资源紧缺的问题暂时不会得到缓解。 按照这个趋势,以太坊的Gas fee短期内不会大幅下降。

HashKey 崔晨:解析降低以太坊 Gas 费的实践及优劣势

图 1:以太坊网络利用率

HashKey 崔晨:解析降低以太坊 Gas 费的实践及优劣势

图 2:以太坊网络中的平均汽油费

以太坊高昂的gas费饱受诟病,严重影响了用户体验,降低以太坊gas费迫在眉睫。 Gas费用全部交给负责维护网络和执行交易的矿工,代表用户使用网络资源需要支付的费用。 Gas Fee的计算方式为Gas Price*Gas Used,其中Gas Price由用户设定,代表用户为每单位Gas支付的价格,Gas Used为实际使用的Gas量。 在操作过程中,用户还需要设置Gas Limit,即用户愿意为本次交易支付的最大Gas数额。 如果在执行过程中发现所需的Gas超过了设定的Gas Limit,交易将失败,此时Gas Used等于Gas Limit,用户仍然需要支付Gas费用。 如果Gas Used小于Gas Limit,交易成功后将按实际使用量收取Gas。

根据Gas fee的计算方式,可以通过降低Gas Price和Gas Used来降低Gas fee,体现在降低网络拥堵程度,将计算转移到二级网络上; 降低合约的复杂度,减少计算的执行步骤; 改变 Gas Collection 方式等。本文将从 Layer 1、Layer 2 和相关 Gas 产品的角度分析降低以太坊 Gas 费用的做法和利弊。 其中,Layer 1 是指以太坊网络本身,Layer 2 是指以太坊主链之外的网络。

以太坊 Layer 1 上的做法提高了区块的 Gas Limit

以太坊gas_以太经典是以太坊的分叉币吗_以太坊gas费是直接销毁么

以太坊对单个区块的大小没有强制性规定,但是每个区块携带的Gas单位数量是有上限的,也就是区块的Gas Limit。 提高Gas Limit最直接的影响就是单个区块可以执行更多的操作,从而提高整个系统的承载能力。 每个区块可以打包更多的交易来缓解网络拥堵,用户可以降低Gas Price。 这是最直接的网络扩容方案,由于实现简单,常被用于扩容。 2020 年 7 月之后,以太坊区块的 Gas Limit 达到了 1250 万左右,相比 2017 年底增长了近两倍。

HashKey 崔晨:解析降低以太坊 Gas 费的实践及优劣势

图 3:以太坊区块的 Gas Limit

可以看出,虽然以太坊区块的Gas Limit一直在增加,但以太坊仍然会出现网络拥堵。 这是因为以太坊的用户和使用量同时在增加。 只要 Gas Limit 的增加不超过使用量的增加,增加 Gas Limit 并不能从根本上解决高 Gas 费用的问题。 Gas Limit的具体数值由矿工投票决定。 在当前网络拥堵的情况下,有矿工建议继续将Gas Limit提高到1600万,但遇到了很大的阻力。

除了不能从根本上解决网络拥堵问题外,在提高Gas Limit后,由于区块容量的扩大,区块的验证和同步时间也有所延长。 这样一来,网络更容易分叉,出现叔块的概率会增加,节点维护网络的成本也会增加。 最终,网络可能会出现安全和中心化问题。 虽然提高 Gas Limit 是最简单的网络扩容方式,但其缺点也不容忽视。 然而,当前网络拥堵正在加剧。 为了可用性以及矿工会被更多的gas费奖励所吸引,未来很可能会提高区块的Gas Limit以增加承载能力。

减少作业的耗气量

虽然以太坊区块的Gas Limit在增加,区块的承载能力也远超以往,但数据显示,目前的转账量与2018年初持平,表明大部分资源在以太坊网络被分配给更复杂的合约交易。 如果能够降低合约编写的复杂度,降低合约执行所需的Gas,或者直接降低操作的Gas定价,就可以达到节省Gas费和网络资源的目的。

HashKey 崔晨:解析降低以太坊 Gas 费的实践及优劣势

图 4:以太坊上的每日转账数量

以太坊黄皮书规定了Gas的消耗规则。 在智能合约的编写过程中,同一个功能的不同实现会消耗不同的Gas。 为了节省Gas费用,需要实现最节省Gas的代码实现方法。 比如存储新数据和修改数据都会消耗Gas,所以最好避免重复修改,尽量一次性写入。 下图中,两者的结果是一样的,但是右边代码的实现消耗的Gas更少。

以太经典是以太坊的分叉币吗_以太坊gas_以太坊gas费是直接销毁么

HashKey 崔晨:解析降低以太坊 Gas 费的实践及优劣势

图 5:相同结果的两种代码实现,右侧节省了更多的 Gas

此外,压缩智能合约的数据输入,避免在创建智能合约时将其作为数据存储,也可以节省Gas。 有人提出,运营消耗的gas原来的定价分析不全,存在定价不当的问题。 以太坊中的 EIP 1380 和 EIP 2046 等提案涉及减少操作的 Gas。 但是,以太坊 Gas 定价的变化应该慎重考虑,因为降低一些操作的 Gas 定价会降低重入攻击的难度。

电子工业产权 1559

EIP 1559已包含在以太坊伦敦硬分叉升级中,改变了以太坊网络Gas费的定价和分配规则。 当前的以太坊 gas 费定价规则是基于市场竞价。 用户设定愿意支付的Gas Price,矿工选择支付最高Gas Price的交易包。 每个人都希望尽快完成交易,所以在网络拥堵的情况下,gas fee 会一直居高不下。 EIP 1559 提出了新的 gas 费征收方案。 用户支付的gas费分为base fee和tip,其中base fee直接销毁,tip属于矿工收益。

EIP 1559 方案引入了 Gas Target 的概念。 一个区块的gas上限是Gas Target的两倍。 基础费用根据网络使用情况动态调整,是区块实际包含的 Gas 与 Gas Target 的比较。 如果该区块的 Gas 超过 Gas Target,则下一个区块收取的基础费用将增加,否则,如果低于 Gas Target,则减少。 涨跌幅不会超过12.5%,避免Gas费暴涨暴跌。 由于base fee是动态调整的,如果连续多个区块所含的Gas一直超过Gas Target,base fee会呈指数级上升到一个夸张的价格,以至于用户不得不暂停交易,等待Gas下降低于气体目标。 费用会下降。 用户必须支付基础费用,矿工小费可以选择性支付。 当网络使用率不高时,基础手续费可以让用户及时完成交易,无需支付矿工小费。 如果网络拥堵,优先交易需要支付小费。

目前Gas费收取需要用户设置支付Gas Price。 太低了,等待的时间会很长,太高了,又会造成浪费。 EIP 1559的实施将提升用户体验,因为基础费用已经计算好了。 理论上,支付基本费用就可以保证交易的完成。 用户只需要选择支付给矿工的小费即可,不需要给矿工小费。 EIP 1559 并没有直接体现 gas 费用的降低。 在不拥堵的情况下,用户只需支付基本费用,从而避免了gas费的浪费。 在网络拥堵的情况下不断提高基础手续费,并不能使用户少花钱,而是通过不断的涨价,让人们在面对高额手续费时不得不暂停交易。 因此,很多人怀疑EIP 1559的实施在降低Gas费用方面的有效性,尤其是短期内遭受重创的矿工群体。 但从长远来看,销毁本应交给矿工的gas费可以将交易带来的价值引入以太坊系统,增加整个系统的价值也会增加矿工的收入。

以太坊2.0的实现

以太坊升级到2.0的最终目的是实现扩容,解决网络拥堵问题。 以太坊 2.0 除了将共识机制从 PoW 改为 PoS 之外,还需要实现分片,部署 eWASM 虚拟机。 分片就是对整个网络进行分区。 节点不需要维护整个系统的交易,只需要负责维护其中一个分区。 以太坊 2.0 将有 64 个分片,交易将分布到每个分片以增加网络的承载能力。 每个分片都可以与信标链交叉链接。 信标链不存储以太坊上的账户余额和合约状态等信息,而是负责管理验证者和记录分片状态。 分片要考虑到安全性,因为攻击单个分片的难度相对较小。 以太坊 2.0 的分片上有一个至少有 128 个验证者的委员会。 他们负责对分片上的信息进行投票。 这些人每个epoch(6.4分钟)更换一次,由信标链通过RANDAO+VDF方案分配。 作恶者很难同时控制同一个分片上超过三分之二的节点,从而保证网络的安全。

eWASM 是部署在以太坊 2.0 阶段的虚拟机。 与目前的 EVM 虚拟机相比,eWASM 将大大提高速度和效率。 通过分片技术,以太坊2.0可以实现大规模扩容,降低Gas费用。 但由于以太坊分片和eWASM开发难度相对较高,短期内不会上线。

以太经典是以太坊的分叉币吗_以太坊gas_以太坊gas费是直接销毁么

在以太坊第 2 层上练习 Rollup

Rollup 是目前最受关注的以太坊 Layer 2 解决方案。 降低Gas费最有可能在短期内解决以太坊网络拥堵问题。 Vitalik 还指出,Rollup 是以太坊 2.0 分片技术推出之前最有效的扩容技术。 Rollup operators 将计算和完成状态存储放在链下,压缩交易数据以实现在主链上的扩展。 事实上,交易数据是存储在区块链上的,风险来自于运营商可能提供错误的数据进而控制用户的资产。 为了规避风险,Rollup 有不同的解决方案。

ZK Rollup 通过有效性证明保证数据安全。 使用ZK-SNARK密码学证明,Layer 1可以在保证隐私的情况下快速完成验证和转账。 但是,ZK Rollup 难以证明 EVM,因此很难应用于智能合约场景。 Optimistic Rollup 使用欺诈证明的方法。 如果有人发现运营商处理的状态根是错误的,可以出具证明。 证明通过后,交易将被回滚,并对操作者进行处罚。 Optimistic Rollup 支持在主网部署智能合约,更适合当前的扩容需求。 但由于需要提供欺诈证明,在退出 Rollup 时,需要一周的时间来检查其他用户是否提交了欺诈证明。

以太坊上存储一个字节的交易需要 50 Gas,以太坊区块的 Gas 上限为 1250 万。 Rollup 可以压缩以太坊上运行的字节数,去除 Rollup 验证所需的 Gas 量,计算 Rollup 在扩容方面的性能。

HashKey 崔晨:解析降低以太坊 Gas 费的实践及优劣势

表一:Rollup带来的扩展空间(来源:Vitalik博客)

总的来说,Rollup 在扩容方面是非常有效的,因此可以降低以太坊的 Gas 费。 但是以太坊gas费是直接销毁么,Rollup 会涉及到链上应用的迁移,不同团队开发的 Rollup 的使用也会导致互操作性下降的问题。

侧链

侧链是不同于主链的区块链。 用户可以将主链的资产转移到侧链进行交易,从而节省主链的资源和交易者的成本。 严格来说,侧链不是 Layer 2 解决方案,因为无法充分保证用户资金的安全,也无法保证侧链与主链的关联性。 侧链只能归类为链下解决方案,但由于实现方式与其他Layer 2类似,这里暂时归类为讨论。 状态通道、Plasma、侧链都是通过链下交易实现扩容的,在具体实现方式和安全性上有所不同。 侧链的技术实现有很多,重点是让资产安全的转移到侧链上,让侧链的资产安全的转移回主链,即可以双向锚定安全实现。

双向锚定体现在主链锁定代币后侧链发行相同数量的代币,侧链销毁代币后解锁主链相同数量的代币链。 以太坊侧链的概念源于比特币侧链,有单方或多方托管方式、SPV模式、中继模式等。生态应用,在实践中,用户对于侧链更关注易用性和生态问题,即资产转移过程要简单、不敏感,侧链必须与主链具有相同的生态。 因此,最有资格、受众最多的侧链是BSC和Heco。 虽然他们采用托管的方式进行资产转移,存在较高的中心化风险,但用户对这些交易平台作为托管人有足够的信任。 完全去中心化的托管模式将没有竞争力以太坊gas费是直接销毁么,因为用户不了解该技术,或者存在被黑客攻击的风险。

以太经典是以太坊的分叉币吗_以太坊gas费是直接销毁么_以太坊gas

BSC和Heco链上的生态发展比较繁荣。 和以太坊生态一样,有借贷、交易等DeFi应用。 因此,很多用户将ETH转入BSC和Heco,以获得低Gas费的体验。 但对于BSC和Heco来说,以太坊侧链并不是发展目标。 它们也有独立的生态,以太坊资产转移到侧链会降低以太坊主链的价值。 预计BSC和Heco将以太坊TPS上限提高十倍左右。 如果以后侧链的用户太多,侧链也会出现拥堵问题。

状态通道和等离子

状态通道是一种链下交易和状态更新的技术,比特币闪电网络是一种支付通道。 以太坊的状态通道允许交易各方在不占用链上资源的情况下更新状态并在链下进行交易。 他们通过状态通道进行交易时,需要对双方的行为进行签名并保存一份,每一步的操作都一目了然。 如果他们结束链下交易,他们签署最终状态并将其返回主链以更新主链上的状态。

状态通道在用户提款时有挑战期要求,以防止用户上传过期的交易记录牟利。 用户必须等待一段时间以确认没有人上传更新的副本。 等待期结束后,将执行最新的副本。 如果其中一位用户在挑战期间被攻击掉线,他将因无法应对而遭受损失。 状态通道需要有一定的参与者集合,因为通道中的状态变化仅限于通道内的用户,而状态通道的部署需要成本,适用于一个区域内状态更新频繁的场景一段的时间。

Plasma 也是一种链下交易方式。 它是通过在以太坊主链上创建一条子链来实现的。 交易和状态更新通过子链进行操作。 以太坊不保存交易副本,因此可以节省以太坊空间实现扩容。 Plasma 子链上也有区块生产者,其中的共识机制可以与以太坊主链不同。 他们在以太坊上建立交易的根节点,记录子链的状态,作为子链更新的证据。

为了防止 Plasma 链上的区块生产者作恶,Plasma 使用了防欺诈机制。 如果有人发现生产者作恶,可以提交证明回滚错误的区块,没收生产者的保证金。 如果用户想要退出 Plasma,他还需要经过挑战期来证明他的交易是最新的交易。 但如果 Plasma 上的所有人同时返还资金,可能会导致以太坊主链没有能力同时处理如此多的交易,从而导致用户资金流失。

状态通道和 Plasma 的共同问题是资产需要有所有者,以便资产所有者可以发布证明。 但是对于智能合约不属于任何人的应用,很难兼容状态通道和Plasma,所以这两者只能减少transfer Gas的耗时效果。 但由于易用性和挑战期等问题,技术进步一直处于停滞状态。

Gas相关产品Gas Token

以太坊的 Gas Price 并不总是保持高位,而是在高低之间不断变化。 因此,Gas Price 的不断变化可以用于 Gas 存储和套利,例如 Gas Token 的应用。 Gas Token是利用以太坊的定价体系实现的。 在清理状态和存储槽以及删除带有自毁操作码的合约时,Gas 费用为负,即您将获得 Gas 返还。 最大退款是创建消费的一半。 因此,在价格低的时候创建一个state,在价格高的时候删除state,就会得到Gas,然后用于其他交易,节省Gas成本。 GST1 和 GST2 是使用不同机制的 Gas Token。 铸造和销毁完成 Gas Token 应用程序。 他们使用存储和退款机制,创建和自销毁机制来获得Gas退款,而GST2获得的Gas更多。

1inch实践并创新了一种名为Chi的Gas Token。 价格低时,会创建Chi来“储存”Gas,等未来Gas费上涨后释放出来完成交易。 相当于用 Chi 返还的 Gas 来支付本该用钱购买的 Gas。 Chi 或任何 Gas Token 都可以集成到其他系统中以节省 Gas 费用。 用户可以铸造 Gas Token 或购买 Gas Token。 Gas Token的价格会随着Gas Price的涨跌而变化。 对于用户或者项目方来说,在Gas Price低的时候自己铸造更划算。

以太坊gas费是直接销毁么_以太经典是以太坊的分叉币吗_以太坊gas

由于以太坊网络交易量的增加和账本容量的扩大,Gas Token由于占用空间被认为不利于网络的发展。 除了增加全节点成本的问题外,未来Gas操作的重新定价也会让Gas Token失效,所以从长远来看,Gas Token不应该作为降低Gas费用的手段。

气体衍生品

Gas Price 的不断变化会改变用户和矿工的支出收入。 为了消除这部分不确定性,可以将Gas Price设计成期货产品,让投机者和用户进行交易。 例如,uGas 以以太坊交易 Gas Price 在一个月内的中位数定价,类似于期货产品。 经常花费 Gas 的人可以通过购买 uGas 来锁定支出,矿工可以通过铸造和出售来锁定收入。 但期货衍生品的实用前提是人们对Gas Price的预期不同,从而保证充足的流动性。 目前,以太坊网络的 Gas Price 是由网络拥堵程度决定的,因此很容易让大多数人对 Gas Price 产生相同的预期。 如果大家统一看涨或看跌,uGas就会因为流动性问题偏离正常定价区间而难以使用。

其他节省汽油费的方法

一些用户习惯和相关辅助工具可以帮助用户节省Gas费用,例如:

进行同一代币的批量转账; 选择交易者休息且网络 Gas Price 较低的时间段; 使用Gas Price实时监控产品,确定准确的Gas Price区间; 查询常用的Gas Limit范围,然后进行设置,避免交易失败造成Gas费的浪费; 开发者可以通过代付Gas费的方式为用户节省成本。思考与总结

本质上,用户在以太坊网络中为交易支付Gas费用,就是在为使用以太坊网络资源付费。 当网络拥堵、资源稀缺时,gas 费自然会上涨。 在不减少用户数量的情况下,降低以太坊 Gas 费用的最佳方式是扩大网络容量,减少用户对网络资源的竞争。 以太坊扩容的方案有很多,包括增加Gas Limit、sharding、Rollup、侧链、状态通道等,它们的优缺点各不相同,而sharding和Rollup是最有效和可行的扩容方案。 简单的代码实现也很重要。 优化智能合约以减少用户使用的gas单位数量是降低gas费用的有效途径。 AMM的兴起有这个因素。

EIP 1559 通过改变 gas 费的收费方式,改善了目前的拥堵状况。 虽然最终的结果是网络空闲时费用低,网络拥塞时费用高,但这是系统自动调整基础费用的结果。 当网络拥堵时,gas 费用会成倍增加,高额费用会抑制人们的使用需求,从而达到缓解拥堵的效果。 EIP 1559 解决方案不适合长期缓解拥堵,但由于基础费用被破坏,因此对以太坊生态系统整体有利。 此外,对于EIP 1559,矿工可能会联合起来将区块容量保持在Gas Target附近,这样想先交易的用​​户只能像现在这样给矿工更多的提示。 因此,EIP 1559 最终降低 Gas 费用的效果存疑。 对于其他Gas产品,不适合长期、大规模的减免Gas费。 下表总结了上述降低以太坊 gas 费用的方法的有效性和缺点。

HashKey 崔晨:解析降低以太坊 Gas 费的实践及优劣势

表 2:降低以太坊 Gas 费用的方法比较

如果把以太坊比作一条载着很多车的高速公路,那么提高 Gas Limit 就是在扩容高速公路,但以往的经验告诉我们,扩容高速公路永远跟不上路上车辆的增加。 EIP 1559是改变收费方案,让部分汽车因收费高而不愿出门。 事实上,这与降低 Gas 费用让更多人享受以太坊服务的理念背道而驰。 优化智能合约就是缩小车辆的体积,让同一条道路可以承载更多的车。 尽管该方法可行,但车辆不能无限减少,大多数智能合约在部署前都会考虑到这一点。 碎片化就是在原有基础上建设桥梁和高速公路,实现更高效的扩张。 Layer 2是让汽车司机放弃这种交通方式,让他们坐火车或者飞机到达目的地,把本来应该在原链上完成的交易转移到链下,减少原链的使用路。 这个比喻很清楚地让我们看到什么对扩容和降低 Gas 费用是有帮助的。