哪些方案可降低以太坊Gas费?从Layer1、Layer2和相关Gas产品三个角度分析。
撰文:崔晨,就职于HashKeyCapitalResearch审核:邹传伟,万向区块链首席经济学家
最近以太坊网络经常拥堵,用户为了尽快达成交易,会上调Gas费希望能优先被矿工打包,尤其是在交易有利可图的时候。以太坊网络在2021年之后利用率长期超过97%,资源短缺的局面暂时不会得到缓解,按照这种趋势,短期内以太坊的Gas费不会大幅下降。
图1:以太坊网络利用率
图2:以太坊网络的平均Gas费
以太坊高昂的Gas费深受诟病,严重影响了用户体验,降低以太坊Gas费迫在眉睫。Gas费全部交给负责维护网络执行交易的矿工,代表用户使用网络资源需要付出的费用。Gas费的计算方式为GasPrice*GasUsed,其中GasPrice由用户设置,代表用户为每单位Gas支付的价格,GasUsed是实际中使用的Gas数量。在操作时用户还需要设置GasLimit,代表用户愿意为此交易支付最多的Gas数量,如果在执行过程中发现所需的Gas超过设置的GasLimit,会导致交易失败,此时的GasUsed等于GasLimit,用户仍需缴纳Gas费。如果GasUsed小于GasLimit,交易成功后Gas数量会按照实际执行使用的数量收费。
根据Gas费的计算方式,可以通过降低GasPrice和GasUsed实现降低Gas费,体现在降低网络拥挤程度,将计算转移到二层网络中进行;降低合约复杂度减少计算的执行步骤;改变Gas的收取方式等。本文将从Layer1、Layer2和相关Gas产品这三个角度出发,解析关于降低以太坊Gas费的实践以及优劣。其中Layer1指的是以太坊网络本身,Layer2指的是以太坊主链外的网络。
以太坊Layer1上的实践
提高区块的GasLimit
以太坊对单个区块的大小没有强制规定,但每个区块承载的Gas单位数量是有上限的,也就是区块的GasLimit。提高GasLimit带来最直接的影响是单个区块可以执行更多的操作,因此提高了整个系统的承载量。每个区块可以打包更多交易来缓解网络的拥堵状况,用户就可以降低GasPrice。这是最直接对网络进行扩容的方案,因执行简便经常被用于扩容。2020年7月之后以太坊区块的GasLimit达到了1250万左右,相较于2017年末已经上涨了近两倍。
数据:比特币矿工1THash在三日内将价值约1.26亿美元BTC转入币安:金色财经报道,CryptoQuant 高级分析师 Julio Moreno 发推称,比特币矿工 1THash 将 5592 枚 BTC(约 1.26 亿美元)转入币安。1 月 17 日,1THash 将 2396 枚 BTC 中的 2256 枚转入 1BRuc4 开头地址后又将其转入以 1H96nj 和 1DD1vn 开头的两个地址,这两个地址又将 BTC 转入币安。1 月 19 日,1THash 又将 3336 枚 BTC 直接转入币安。目前,1THash 的 BTC UTXO 为 0。Julio Moreno 表示,1THash 哈希率最低,在过去 30 天内,仅挖矿打包 2 个区块,占总收入的 0.05%。[2023/1/21 11:24:47]
图3:以太坊区块的GasLimit
可以看出,虽然以太坊区块的GasLimit一直在提高,以太坊还是会出现网络拥堵的情况。这是因为以太坊的用户和使用量是同时上涨的,只要GasLimit的上涨程度没有超过使用量的上涨,提高GasLimit就无法根本解决高Gas费的问题。GasLimit具体数值由矿工投票决定,在目前的网络拥堵程度下,有些矿工建议将GasLimit继续提高到1600万,但遭到了很多阻力。
除了无法根本解决网络拥堵的问题外,提高GasLimit后由于区块容量扩大,区块的验证和同步时间有所延长。因此导致网络更容易分叉,叔块出现的概率升高,节点维护网络的成本也会增加,最终网络可能出现安全性和中心化问题。虽然提高GasLimit是最简单进行网络扩容的方式,但它带来的弊端也是不能忽视的。不过目前网络拥堵情况加剧,出于可用性考虑,加上矿工会受到更多笔Gas费奖励的吸引,未来极有可能仍会提高区块GasLimit来增大承载量。
降低操作的Gas消耗
虽然以太坊区块的GasLimit在增加,区块的承载量远超过去,但数据显示目前的转账数量刚刚与2018年初的转账数量持平,说明了以太坊网络中大部分资源被分配给了更复杂的合约交易。如果在合约编写上能够降低复杂度,减少合约执行所需要的Gas,或者直接降低操作的Gas定价,就可以实现节约Gas费的目标,并且节约网络资源。
图4:以太坊的每日转账数
以太坊的黄皮书规定了Gas的消耗规则,智能合约的编写过程中,同一功能的不同实现方式消耗的Gas会有所不同,为了节约Gas费就需要执行最节约Gas的代码实现方法。例如储存新数据和修改数据都要消耗Gas,所以最好避免重复修改,一次性尽可能多地写入。在下图中,两者在结果上相同,但右边的代码实现消耗Gas会更少。
Hashflow宣布集成互操作协议Wormhole:12月7日消息,去中心化交易平台Hashflow宣布与互操作性协议Wormhole集成,以提供跨链交易功能。目前Hashflow支持以太坊、Avalanche、Optimism、Arbitrum、Polygon与BNB Chain。而本次合作将使Hashflow用户能够以更低费用在更多链上交换加密货币。(The Block)[2022/12/7 21:29:01]
图5:同一结果的两种代码实现,右边更节约Gas
除此之外,压缩智能合约的数据输入,避免创建智能合约时将其用作数据存储等方式也可以节约Gas。有人提出操作消耗Gas的原始定价没有经过充分分析,存在定价不当的问题。以太坊中的EIP1380、EIP2046等提案就涉及降低某个操作的Gas。但以太坊Gas定价的改变要慎重考虑,因为降低有些操作的Gas定价会降低重入攻击的难度。
EIP1559
EIP1559已经被纳入在以太坊的伦敦硬分叉升级中,它改变了以太坊网络Gas费的定价和分配规则。目前以太坊Gas费定价规则为市场竞价的方式,用户自行设置愿意支付的GasPrice,矿工挑选支付最高GasPrice的交易打包。每个人都希望能尽快完成交易,因此在网络拥堵时Gas费会居高不下。EIP1559提出了一种新的Gas费收取方案,用户支付的Gas费分为基础费和小费,其中基础费直接销毁,小费归矿工收入。
EIP1559方案引入了GasTarget的概念,区块Gas上限是GasTarget的两倍,基础费根据网络使用情况进行动态调节,也就是区块实际包含的Gas与GasTarget的比较。如果区块的Gas超过GasTarget,那么下个区块收取的基础费就会上涨,反之如果低于GasTarget就会下降。上涨和下降的幅度不会超过12.5%,避免了Gas费突然暴涨暴跌。由于基础费一直是动态调节的,如果连续多个区块包含的Gas一直超过GasTarget,基础费就会指数上涨到夸张的价格,让用户不得不暂停交易,等待Gas降低到GasTarget以下,基础费才会下降。基础费是用户必须支付的,矿工的小费可选择支付,在网络使用率不高的情况下,基础费就可以让用户及时完成交易,没有必要支付矿工小费。如果网络拥堵,则需要支付小费优先交易。
目前Gas费收取需要用户设定支付的GasPrice,如果太低需要等待很久,太高则造成浪费。EIP1559的实施会提高用户使用体验,因为基础费是已经被计算好的,理论上支付基础费就能保证完成交易,用户只需要选择给矿工支付的小费,而且在不拥堵的情况下不需要给矿工小费。对于降低Gas费来说,EIP1559中没有很直接的体现,在不拥堵时用户只缴纳基础费于是避免了Gas费浪费。在网络拥堵时持续调高基础费没有让用户花费更少,而是通过不断涨价让人们面对高昂收费时不得不暂缓交易。因此很多人对EIP1559的实施对降低Gas费的有效程度存疑,尤其是短期受到很大损失的矿工群体。但从长远看,销毁本来应该交给矿工的Gas费,能够将交易带来的价值引入到以太坊系统中,提升整个系统的价值也会提高矿工的收入。
Phi Labs 完成 2100 万美元种子轮融资,CoinFund 和 Hashed 领投:3月24日消息,Cosmos 智能合约平台开发商 Phi Labs 完成 2100 万美元种子轮融资,CoinFund 和 Hashed 领投,1confirmation、IDEO CoLab、Figment、Blockchain Capital、Wintermute、Chorus One、stake.fish、Lemniscap、Cosmostation 和 Hypersphere Ventures等参投。
据了解,Phi Labs 开发的? Archway 是一个基于 Cosmos 并奖励开发者的激励性智能合约平台,该协议为开发人员提供了快速构建和启动可扩展的跨链 dApp 的工具,并因 dApp 对网络的贡献而获得奖励。(blockworks.co)[2022/3/24 14:16:01]
以太坊2.0的实现
以太坊升级到2.0阶段的最终目标是实现扩容,解决网络的拥堵问题,除了将共识机制由PoW转变为PoS,以太坊2.0的还要实现分片和部署eWASM虚拟机。分片就是将整个网络分区,节点不需要维护整个系统的交易,只需要负责维护其中一个分区即可。以太坊2.0将有64个分片,将交易分布到各分片中增加网络的承载量。各分片可以与信标链进行交联,信标链不储存以太坊上的账户余额和合约状态等信息,负责管理验证者和记录分片状态。分片要考虑到安全性的问题,因为相对而言攻击单分片的难度会降低。在以太坊2.0的分片上都存在至少128个验证者组成的委员会,他们负责表决分片上的信息,这些人每epoch更换一次,由信标链通过RANDAOVDF的方案分配。作恶者很难保证在同一时间控制同一分片上超过三分之二的节点,因此保证了网络的安全。
eWASM是以太坊2.0阶段部署的虚拟机,相较于目前的EVM虚拟机,eWASM在速度和效率上会大幅提升,配合分片技术,以太坊2.0能够实现大规模扩容,降低Gas费。但由于以太坊分片和eWASM的开发难度比较高,短期内不会上线。
以太坊Layer2上的实践
Rollup
Rollup是目前受到最多关注的以太坊Layer2解决方案,最有可能在短期内解决以太坊网络拥堵的问题来降低Gas费,Vitalik也指出Rollup是以太坊2.0分片技术上线之前最有效的扩容技术。Rollup的运营者通过将计算和完整的状态储存放到链下,压缩交易数据实现主链上的扩容。实际上交易数据是储存在区块链上的,风险源自运行者可能提供错误的数据进而控制用户资产,为了避免风险存在不同的Rollup解决方案。
MixTrust(MXT)获得Hash Capital 战略投资并达成合作:据官方消息,投资机构Hash Capital 和MixTrust(MXT)项目已达成战略合作,并出资1000万美金投资MixTrust团队开发的流动性挖矿产品MixCake。
Hash Capital 是一家专注于区块链行业投资和数字资产管理的专业投资机构。投资赛道包含智能合约、证券交易结算、身份证明、分布式记账、数据 API 以及区块链基础设施等领域。
MixTrust是基于以太坊的去中心化合成资产发行协议,为合成资产提供了去中心化的跨链交易平台:支持无缝资产合成,去中心化的跨链交易和跨链抵押贷款,对标SNX和REN。[2021/3/6 18:21:16]
ZKRollup通过有效性证明保证数据安全,使用ZK-SNARK密码学证明,Layer1可以快速完成验证并转账,同时可以保证隐私性,但ZKRollup很难对EVM进行证明,因此难以应用于使用智能合约的场景。OptimisticRollup使用欺诈证明的方式,如果有人发现运营者处理的状态根是错误的,那么可以发布一个证明,证明通过后会回滚交易并对运营者进行惩罚。OptimisticRollup在主网中支持智能合约的部署,更适用于现在的扩容需求。但由于欺诈证明的要求,在退出Rollup时,需要一周的时间检查其他用户是否提交欺诈证明。
以太坊上储存交易的一个字节花费50Gas,以太坊区块的Gas上限为1250万。Rollup可以压缩以太坊上操作的字节数量,除掉Rollup校验所需要的Gas量,可以计算出Rollup在扩容方面的表现。
表1:Rollup带来的扩容空间
总的来说,Rollup在扩容上十分有效,因此可以降低以太坊Gas费。但Rollup会涉及链上应用的迁移,使用不同团队开发的Rollup还会导致互操作性下降的问题。
侧链
侧链是一条区别于主链的区块链,用户可以将主链资产转移到侧链上交易,以节约主链的资源和交易者的成本。严格意义上侧链不算是Layer2解决方案,因为无法完全保证用户的资金安全也不能保证侧链与主链的关联性。侧链只能归为链下解决方案,但由于实现方式和其他Layer2较为相似,这里暂时归为一类讨论。状态通道、Plasma和侧链都是通过链下交易实现扩容的,他们在具体实现方式和安全性上有所不同。侧链的技术实现有多种,重点在于让资产安全地转移到侧链,并让侧链资产安全地转移回主链,也就是能安全地实现双向锚定。
比特币矿场NiceHash被盗后重新上线 1月底前偿还用户损失:12月初,斯洛文尼亚的比特币矿池NiceHash受到黑客攻击,4700枚比特币被盗,时值6200万美元。目前,该网站在关停一段时间后重新上线,CEO承诺在1月31日前偿还用户所有损失。[2017/12/25]
双向锚定体现为主链上锁定代币后到侧链上发行同等数量的代币,以及在侧链上销毁代币后到主链上解锁相同数量的代币。以太坊侧链的概念从比特币侧链衍生而来,有单方或多方的托管方式,SPV模式,中继模式等。由于目前以太坊因生态应用繁荣拥堵,实际中用户对于侧链更偏重易用性和生态问题,也就是资产转移过程要简易无感,侧链上要有与主链相同的生态。因此目前最合格且受众最多的侧链是BSC和Heco,虽然他们使用了托管方式进行资产转移,中心化风险较高,但用户已经足够信任这些交易平台作为托管机构。完全去中心化的托管模式会因用户不了解技术,或者存在黑客攻击的风险而失去竞争力。
BSC和Heco链上的生态发展较为繁荣,和以太坊生态一样出现了借贷、交易等DeFi应用,所以有很多用户将ETH转移到BSC和Heco上来获得低Gas费的使用体验。但对于BSC和Heco来说不是将以太坊侧链作为发展目标,他们同样有独立的生态,以太坊资产转移到侧链上会因此降低以太坊主链的价值。经测算BSC和Heco提高以太坊TPS上限约十倍左右,如果未来侧链中用户使用量过多的话,侧链也会出现拥堵问题。
状态通道和Plasma
状态通道是一种在链下进行交易和状态更新的技术,比特币闪电网络就是一种支付通道。以太坊的状态通道可以让交易双方在链下进行状态的更新和交易,无需占用链上资源。他们通过状态通道进行交易时,需要对双方的行为进行签名并保存副本,每一步的操作是清晰的。如果他们结束了链下交易,就将最终状态签名后返回到主链上来更新主链上的状态。
状态通道在用户撤回资金时有挑战期的要求,是为了防止用户上传过期的交易记录牟利。用户要等待一段时间确认没有人上传更新的副本,等待期结束后会按照最新的副本内容执行。如果其中一个用户在挑战期受到攻击掉线等,他就会因无法回应而受到损失。状态通道需要有一组确定的参与者,因为在通道中的状态改变只限用于通道内的用户,而且部署状态通道需要成本,适合在一段时间内频繁进行状态更新的场景。
Plasma也是一种链下交易的方式,它通过在以太坊主链上创建子链实现,交易和状态更新通过子链操作,以太坊不会保存交易副本,因此可以节约以太坊空间实现扩容。Plasma子链上同样存在区块生产者,其中的共识机制可以与以太坊主链不同。他们在以太坊上建立交易的根节点来记录子链状态,作为子链更新的证据。为了防止Plasma链上的区块生产者作恶,Plasma使用欺诈证明机制,如果有人发现了生产者的作恶,那么可以提交证明让错误的区块回滚并没收生产者的保证金。如果用户要退出Plasma,也需要经历挑战期来证明他的交易为最新交易。但如果Plasma上所有人同时退回资金,那么可能导致以太坊主链没有容量同时处理这么多交易,会导致用户资金丢失。
状态通道和Plasma的共性问题是要求资产具有所有者,这样资产所有者才可以出具证明。但对于智能合约不属于任何人的应用来说很难与状态通道和Plasma兼容,因此这两者只能针对降低转账Gas费时效果明显,但由于易用性和挑战期的问题,技术进展处于停滞状态。
Gas相关产品
GasToken
以太坊的GasPrice不是一直都保持在高位,而是在高低之间不断变化,因此可以利用GasPrice的不断变化进行Gas的储存和套利,例如GasToken的应用。GasToken利用以太坊的定价系统实现,在清理状态和存储插槽以及删除带有自毁操作码的合约时的Gas收费为负值,也就是会收到Gas的退款,最高退款为创造时消耗量的一半。于是在低价时创建状态,在高价时删除会获得Gas,再用于其他交易就可以节约Gas的花费。GST1和GST2是使用不同机制的GasToken,铸造和销毁就完成了一次GasToken的应用,他们分别使用了储存和退款机制、创建和自毁机制来获得Gas退款,其中GST2得到的Gas更多。
1inch实践并创新了一种名为Chi的GasToken。在价格低的时候,Chi会创建来「储存」Gas,未来Gas费上涨后释放来完成交易。就相当于花费Chi退回的Gas来支付应本应花钱购买的Gas。Chi或者任何GasToken都可以集成到其他系统中来节约Gas费,用户可以铸造GasToken,也可以购买GasToken。GasToken的价格会随着GasPrice的涨跌而变化,对于用户或项目方来说,在GasPrice低的时候自行铸造更为划算。
由于以太坊网络交易量增加,账簿容量扩张,GasToken由于占用了空间被认为是不利于网络发展的。除了增加全节点成本的问题,未来对Gas操作的重新定价也会让GasToken失效,因此GasToken不应该作为长期降低Gas费的手段。
Gas衍生品
GasPrice的不断变化会让用户和矿工支出收入随之改变,为了消除这部分的不确定性,GasPrice可以被设计为期货类产品,让投机者和用户之间交易。例如uGas取一个月中以太坊交易GasPrice的中位数来定价,它类似于一种期货产品。频繁花费Gas的人可以通过购买uGas来锁定花费,矿工可以通过铸造并售出来锁定收益。但期货衍生品实用的前提是人们对GasPrice的预期不同,才能保证足够的流动性。目前以太坊网络GasPrice由网络拥挤程度决定,所以很容易出现大部分人会对GasPrice产生相同的预期。如果大家统一看涨或看跌,uGas就会因流动性问题偏离正常的定价范围而很难使用。
其他节省Gas费的方式
一些用户习惯以及相关辅助工具可以帮助用户节约Gas费,例如:
进行同种代币的批量转账;挑选交易者休息、网络GasPrice低的时间段交易;利用GasPrice实时监控产品确定准确的GasPrice区间;查询常见的GasLimit范围再进行设置,避免因交易失败造成Gas费浪费;开发者可以通过代交Gas费的方式为用户节约费用等。思考与总结
用户在以太坊网络中支付Gas费进行交易本质上就是为使用以太坊网络资源付费,在网络拥堵资源稀缺的情况下Gas费自然就会上涨。在不减少使用人数的情况下,最好地降低以太坊Gas费的方法就是进行网络扩容,降低用户对网络资源的竞争。以太坊扩容存在多种方案,包括提高GasLimit、分片、Rollup、侧链、状态通道等,他们的优劣进展各不相同,其中分片和Rollup是最有效和最可能实现的扩容方案。简洁的代码实现也很重要,优化智能合约降低用户使用Gas的单位数量是有效降低Gas费的方式,AMM的兴起有这方面的因素。
EIP1559通过改变Gas费收取方式来改善目前的拥堵状况,虽然最终仍是网络闲暇时收费低,网络拥堵时收费高的效果,但这是由系统自动对基础费调整的结果。在网络拥堵时Gas费会呈指数型增长,高收费会抑制人们的使用需求,所以达到缓解拥堵的效果。EIP1559的方案不适合长期用于缓解拥堵的手段,但由于基础费被销毁所以整体对以太坊生态是有利的。除此之外,针对EIP1559,矿工可能会联合起来让区块的容量维持在GasTarget左右,这样想优先交易的用户和现在一样只能交给矿工更多小费。因此这里对EIP1559最终实现降低Gas费的效果存疑。对于其他的Gas产品,都不适合作为长期、大规模降低Gas费的工具使用。下表是对上文中提到的降低以太坊Gas费方式有效性和缺点的总结。
表2:降低以太坊Gas费的方式比较
如果将以太坊比作一条承载了很多汽车的公路,提高GasLimit就是在扩建公路,但过去经验告诉我们扩建公路永远赶不上路上车辆增多的速度。EIP1559是通过改变收费方案,让一些车会因高昂的收费而不愿出门,其实这是与降低Gas费让更多人享受到以太坊服务的理念相悖的。优化智能合约就是将车辆改小,让同一条公路能够承载更多的车,虽然方式可行,但车辆不可能无限制地缩小,而且大部分智能合约在部署前都考虑到了这一点。分片是在原来的基础上建立交桥和快速路,实现更有效率的扩容。Layer2是让开汽车的人放弃这种交通方式,让他们乘坐火车或者飞机达到目的地,将本应该在原链上完成的交易转移到链下进行,减少对原来公路的使用。这个比喻就很清楚地让我们看出哪些对扩容降低Gas费是有帮助的。
免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。
以太坊
以太坊
开放的分布式区块链应用平台,通过其专属加密货币Ether以太币提供去中心化的虚拟机,处理点对点合约。允许任何人建立和使用通过区块链技术运行的去中心化应用,没有任何欺诈、审查、第三方监管。以太坊的概念首次在2013至2014年由维塔利克·布特林VitalikButerin受比特币启发后提出,旨在共同构建一个更全球化、更自由、更可靠的互联网。以太坊EthereumETHERC20ERC-20ERC20ERC721ERC-721以太坊2.0查看更多Optimism
1、政策及市场指标其他数据变化不大,但是资金回流的幅度比较客观,有助于继续走高。不过,近期炮情况比较多,资金流入流出的变化非常大而且频繁,说明资金换手率也比较高.
1900/1/1 0:00:00金色财经现场报道,4月10日,由金色财经主办,波场TRON总冠名,HBTC、SumSwap、SubGame首席合作企业的“2021共为·创新大会”在上海举办.
1900/1/1 0:00:00亲爱的用户:为满足广大用户交易需求,在新杠杆ETF产品基础上,HomiEx将于2021年4月9日15:00在杠杆ETF交易区上线新的杠杆ETF产品:ETC3L/USDTETC3S/USDTBAT.
1900/1/1 0:00:00国际消息面从4月11号凌晨4点左右的时间得来的信息约翰霍普金斯大学经济学教授和诺贝尔奖获得者SteveHanke今日发推文称,比特币是一种投机性资产,而不是货币.
1900/1/1 0:00:00亲爱的用户:币安将于2021年04月09日15:00(香港时间)上线NKNUSDT1-25倍U本位永续合约。注意:NKNU本位合约是正向合约,即稳定币合约,采用稳定币作为保证金.
1900/1/1 0:00:00今天稍微有点时间,我们今天展开一点来讲。关于BTC的观点,做投资还是需要回到历史研究中,所以你看到那么多人告诉你,做投资的人都喜欢读历史和哲学的书.
1900/1/1 0:00:00