火星链 火星链
Ctrl+D收藏火星链

GAS:研究 | 解析降低以太坊 Gas 费的实践及优劣势

作者:

时间:1900/1/1 0:00:00

撰文:崔晨,就职于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年末已经上涨了近两倍。

研究:60%的北美人在没有做尽职调查的情况下投资于加密货币:金色财经报道,根据Bybit和Toluna的研究,64%的北美人在投资加密货币前花不到两个小时或根本不做研究。近50%的北美受访者承认,在评估了短短几个小时的利弊之后,就成为了HODLers,而15%的人说他们完全依靠社交媒体和朋友的建议。

年轻一代比年长者更容易忽视尽职调查的过程。33%的X一代和47%的Boomers在投资一个加密货币项目之前至少要花几天时间。[2023/1/22 11:25:24]

图3:以太坊区块的GasLimit可以看出,虽然以太坊区块的GasLimit一直在提高,以太坊还是会出现网络拥堵的情况。这是因为以太坊的用户和使用量是同时上涨的,只要GasLimit的上涨程度没有超过使用量的上涨,提高GasLimit就无法根本解决高Gas费的问题。GasLimit具体数值由矿工投票决定,在目前的网络拥堵程度下,有些矿工建议将GasLimit继续提高到1600万,但遭到了很多阻力。除了无法根本解决网络拥堵的问题外,提高GasLimit后由于区块容量扩大,区块的验证和同步时间有所延长。因此导致网络更容易分叉,叔块出现的概率升高,节点维护网络的成本也会增加,最终网络可能出现安全性和中心化问题。虽然提高GasLimit是最简单进行网络扩容的方式,但它带来的弊端也是不能忽视的。不过目前网络拥堵情况加剧,出于可用性考虑,加上矿工会受到更多笔Gas费奖励的吸引,未来极有可能仍会提高区块GasLimit来增大承载量。

降低操作的Gas消耗

虽然以太坊区块的GasLimit在增加,区块的承载量远超过去,但数据显示目前的转账数量刚刚与2018年初的转账数量持平,说明了以太坊网络中大部分资源被分配给了更复杂的合约交易。如果在合约编写上能够降低复杂度,减少合约执行所需要的Gas,或者直接降低操作的Gas定价,就可以实现节约Gas费的目标,并且节约网络资源。

堪萨斯城联储行长:美联储确实在研究CBDC 但目前没有推出计划:堪萨斯城联邦储备银行(Kansas City Fed)行长Esther George周一表示,美联储确实正在继续研究央行数字货币(CBDC),但目前没有在美国推出CBDC的计划。(雅虎财经)[2020/10/7]

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

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

图5:同一结果的两种代码实现,右边更节约Gas除此之外,压缩智能合约的数据输入,避免创建智能合约时将其用作数据存储等方式也可以节约Gas。有人提出操作消耗Gas的原始定价没有经过充分分析,存在定价不当的问题。以太坊中的EIP1380、EIP2046等提案就涉及降低某个操作的Gas。但以太坊Gas定价的改变要慎重考虑,因为降低有些操作的Gas定价会降低重入攻击的难度。

EIP1559EIP1559已经被纳入在以太坊的伦敦硬分叉升级中,它改变了以太坊网络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费,能够将交易带来的价值引入到以太坊系统中,提升整个系统的价值也会提高矿工的收入。

中国银行研究院博士后:应对“上链”信息加强保护:中国银行研究院博士后李梦宇表示,区块链带来的多方协作及数据共享机制能够实现交易的实时结算与记录,同时缩短业务流转时间。目前国内尚无明确监管框架和统一的行业规范,国际上也未建立协同机制,使得现有应用场景相对分割化、局部化。完整规则的缺乏影响了银行同业间的应用推广,而已付诸实践的机构则面临着规则改变的风险。对此,她建议,针对“链下”应用场景,监管机构应逐步试行“监管沙箱”,在小范围内测试应用场景之后再推广;同时对已经或即将“上链”的信息加强保护,防止误用、滥用行为,充分保障使用区块链技术主体的权益。(经济参考报)[2020/4/30]

以太坊2.0的实现

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

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

以太坊Layer2上的实践

Rollup

Rollup是目前受到最多关注的以太坊Layer2解决方案,最有可能在短期内解决以太坊网络拥堵的问题来降低Gas费,Vitalik也指出Rollup是以太坊2.0分片技术上线之前最有效的扩容技术。Rollup的运营者通过将计算和完整的状态储存放到链下,压缩交易数据实现主链上的扩容。实际上交易数据是储存在区块链上的,风险源自运行者可能提供错误的数据进而控制用户资产,为了避免风险存在不同的Rollup解决方案。ZKRollup通过有效性证明保证数据安全,使用ZK-SNARK密码学证明,Layer1可以快速完成验证并转账,同时可以保证隐私性,但ZKRollup很难对EVM进行证明,因此难以应用于使用智能合约的场景。OptimisticRollup使用欺诈证明的方式,如果有人发现运营者处理的状态根是错误的,那么可以发布一个证明,证明通过后会回滚交易并对运营者进行惩罚。OptimisticRollup在主网中支持智能合约的部署,更适用于现在的扩容需求。但由于欺诈证明的要求,在退出Rollup时,需要一周的时间检查其他用户是否提交欺诈证明。以太坊上储存交易的一个字节花费50Gas,以太坊区块的Gas上限为1250万。Rollup可以压缩以太坊上操作的字节数量,除掉Rollup校验所需要的Gas量,可以计算出Rollup在扩容方面的表现。

动态 | NTT Research与UCLA和乔治敦大学将联合研究区块链:2月25日消息,?NTT Research公司的一个部门NTT今天宣布其密码学与信息安全(CIS)实验室已经与加州大学洛杉矶分校(UCLA)和乔治敦大学(Georgetown University)达成了联合研究协议。与UCLA签订的五年协议涵盖加密理论方面的研究,与乔治敦大学的三年协议将利用全球规模的测试平台进行区块链研究。(BusinessWire)[2020/2/25]

表1:Rollup带来的扩容空间

总的来说,Rollup在扩容上十分有效,因此可以降低以太坊Gas费。但Rollup会涉及链上应用的迁移,使用不同团队开发的Rollup还会导致互操作性下降的问题。侧链侧链是一条区别于主链的区块链,用户可以将主链资产转移到侧链上交易,以节约主链的资源和交易者的成本。严格意义上侧链不算是Layer2解决方案,因为无法完全保证用户的资金安全也不能保证侧链与主链的关联性。侧链只能归为链下解决方案,但由于实现方式和其他Layer2较为相似,这里暂时归为一类讨论。状态通道、Plasma和侧链都是通过链下交易实现扩容的,他们在具体实现方式和安全性上有所不同。侧链的技术实现有多种,重点在于让资产安全地转移到侧链,并让侧链资产安全地转移回主链,也就是能安全地实现双向锚定。双向锚定体现为主链上锁定代币后到侧链上发行同等数量的代币,以及在侧链上销毁代币后到主链上解锁相同数量的代币。以太坊侧链的概念从比特币侧链衍生而来,有单方或多方的托管方式,SPV模式,中继模式等。由于目前以太坊因生态应用繁荣拥堵,实际中用户对于侧链更偏重易用性和生态问题,也就是资产转移过程要简易无感,侧链上要有与主链相同的生态。因此目前最合格且受众最多的侧链是BSC和Heco,虽然他们使用了托管方式进行资产转移,中心化风险较高,但用户已经足够信任这些交易平台作为托管机构。完全去中心化的托管模式会因用户不了解技术,或者存在黑客攻击的风险而失去竞争力。BSC和Heco链上的生态发展较为繁荣,和以太坊生态一样出现了借贷、交易等DeFi应用,所以有很多用户将ETH转移到BSC和Heco上来获得低Gas费的使用体验。但对于BSC和Heco来说不是将以太坊侧链作为发展目标,他们同样有独立的生态,以太坊资产转移到侧链上会因此降低以太坊主链的价值。经测算BSC和Heco提高以太坊TPS上限约十倍左右,如果未来侧链中用户使用量过多的话,侧链也会出现拥堵问题。状态通道和Plasma状态通道是一种在链下进行交易和状态更新的技术,比特币闪电网络就是一种支付通道。以太坊的状态通道可以让交易双方在链下进行状态的更新和交易,无需占用链上资源。他们通过状态通道进行交易时,需要对双方的行为进行签名并保存副本,每一步的操作是清晰的。如果他们结束了链下交易,就将最终状态签名后返回到主链上来更新主链上的状态。状态通道在用户撤回资金时有挑战期的要求,是为了防止用户上传过期的交易记录牟利。用户要等待一段时间确认没有人上传更新的副本,等待期结束后会按照最新的副本内容执行。如果其中一个用户在挑战期受到攻击掉线等,他就会因无法回应而受到损失。状态通道需要有一组确定的参与者,因为在通道中的状态改变只限用于通道内的用户,而且部署状态通道需要成本,适合在一段时间内频繁进行状态更新的场景。Plasma也是一种链下交易的方式,它通过在以太坊主链上创建子链实现,交易和状态更新通过子链操作,以太坊不会保存交易副本,因此可以节约以太坊空间实现扩容。Plasma子链上同样存在区块生产者,其中的共识机制可以与以太坊主链不同。他们在以太坊上建立交易的根节点来记录子链状态,作为子链更新的证据。为了防止Plasma链上的区块生产者作恶,Plasma使用欺诈证明机制,如果有人发现了生产者的作恶,那么可以提交证明让错误的区块回滚并没收生产者的保证金。如果用户要退出Plasma,也需要经历挑战期来证明他的交易为最新交易。但如果Plasma上所有人同时退回资金,那么可能导致以太坊主链没有容量同时处理这么多交易,会导致用户资金丢失。

思科正研究群组交流上的区块链技术: 据美国专利与商标局(USPTO)周四发布的一项专利申请显示,思科(Cisco)正在研究区块链技术。思科在该文件中描述了区块链将如何使人们能够自发地组成团队,并在跟踪成员的同时共享文件和其他信息。思科表示,这将解决专门组建的信息团队面临的“常见问题”。[2018/3/31]

状态通道和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立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

标签:GAS以太坊IMILIMIT0XGAS以太坊行情币有什么用LIMITunlimitedip

以太坊价格今日行情热门资讯
TRA:向十万枚进军!MicroStrategy高位继续购入1500万美元比特币

今日,MicroStrategy以8-K表格向美国证券交易委员会披露其以1500万美元现金购买了253个比特币。这令该公司的资产负债表中所持比特币数量接近10万枚.

1900/1/1 0:00:00
TON:融资新闻 | TON Labs完成600万美金融资以支持Free TON的发展

FreeTON区块链背后的开发部门——TONLabs在风险投资公司Runacapital领导的新一轮投资中筹集了600万美元.

1900/1/1 0:00:00
TRIBE:巴比特观察 丨募资63.9万ETH,现象级DeFi项目FEI遭"白嫖鲸鱼"砸盘

北京时间4月4日凌晨3点,去中心化稳定币协议FEI完成了为期3天时间的GenesisGroup阶段,据悉,此次活动共募集到63.9万ETH,并铸造了13亿FEI.

1900/1/1 0:00:00
加密货币:DeFi借贷市场击穿130亿美元 你的加密资产去哪儿了?

如今越来越多年轻人不喜欢使用银行等传统金融机构提供的服务,而像库币、火币等加密货币交易所的借贷产品反而更容易获得年轻人的青睐.

1900/1/1 0:00:00
HOR:任泽平回应“比特币连创新高”:根本原因是美元流动性泛滥

本文来源:21世纪经济报道4月6日下午3点,东吴证券首席经济学家任泽平回归资本市场首场宏观策略报告会,任泽平会上发表的要点如下:为什么比特币连创新高?根本原因是美元流动性泛滥任泽平表示.

1900/1/1 0:00:00
BLO:2021年Q1加密市场投融资报告:融资数量剧增 多项数据创历史新高

2021年第一季度加密市场迎来爆发式增长,DeFi、NFT等热门赛道迎来诸多个重磅融资事件,新加坡政府投资基金、DSTGlobal、TigerGlobal等越来越多主流投资机构开始布局加密市场.

1900/1/1 0:00:00