最近以太坊网络经常拥堵,用户为了尽快达成交易,会上调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年末已经上涨了近两倍。
图3:以太坊区块的GasLimit
可以看出,虽然以太坊区块的GasLimit一直在提高,以太坊还是会出现网络拥堵的情况。这是因为以太坊的用户和使用量是同时上涨的,只要GasLimit的上涨程度没有超过使用量的上涨,提高GasLimit就无法根本解决高Gas费的问题。GasLimit具体数值由矿工投票决定,在目前的网络拥堵程度下,有些矿工建议将GasLimit继续提高到1600万,但遭到了很多阻力。
OKX建立行业BRC-20解析新标准:5月16日消息,据OKX官方公告,OKX正式建立行业BRC-20解析新标准,该标准已通过安全审计机构慢雾的安全审计,旨在逐步完善和增强BRC-20生态的完整性和稳健性。
据悉,OKX持续关注并投入BRC-20基础设施建设,OKX Web3钱包即将上线Ordinals交易市场,是首个支持Ordinals代币及NFT交易的多链钱包。OKX此前已与UniSat达成官方合作支持双重验证,并上线首个BRC-20浏览器。[2023/5/16 15:06:48]
除了无法根本解决网络拥堵的问题外,提高GasLimit后由于区块容量扩大,区块的验证和同步时间有所延长。因此导致网络更容易分叉,叔块出现的概率升高,节点维护网络的成本也会增加,最终网络可能出现安全性和中心化问题。虽然提高GasLimit是最简单进行网络扩容的方式,但它带来的弊端也是不能忽视的。不过目前网络拥堵情况加剧,出于可用性考虑,加上矿工会受到更多笔Gas费奖励的吸引,未来极有可能仍会提高区块GasLimit来增大承载量。
降低操作的Gas消耗
虽然以太坊区块的GasLimit在增加,区块的承载量远超过去,但数据显示目前的转账数量刚刚与2018年初的转账数量持平,说明了以太坊网络中大部分资源被分配给了更复杂的合约交易。如果在合约编写上能够降低复杂度,减少合约执行所需要的Gas,或者直接降低操作的Gas定价,就可以实现节约Gas费的目标,并且节约网络资源。
图4:以太坊的每日转账数
以太坊的黄皮书规定了Gas的消耗规则,智能合约的编写过程中,同一功能的不同实现方式消耗的Gas会有所不同,为了节约Gas费就需要执行最节约Gas的代码实现方法。例如储存新数据和修改数据都要消耗Gas,所以最好避免重复修改,一次性尽可能多地写入。在下图中,两者在结果上相同,但右边的代码实现消耗Gas会更少。
图5:同一结果的两种代码实现,右边更节约Gas
除此之外,压缩智能合约的数据输入,避免创建智能合约时将其用作数据存储等方式也可以节约Gas。有人提出操作消耗Gas的原始定价没有经过充分分析,存在定价不当的问题。以太坊中的EIP1380、EIP2046等提案就涉及降低某个操作的Gas。但以太坊Gas定价的改变要慎重考虑,因为降低有些操作的Gas定价会降低重入攻击的难度。
安全团队:Reaper Farm项目遭到攻击事件解析,项目方损失约170万美元:据成都链安“链必应-区块链安全态势感知平台”安全舆情监控数据显示,Reaper Farm项目遭到黑客攻击,成都链安安全团队发现由于_withdraw中owner地址可控且未作任何访问控制,导致调用withdraw或redeem函数可提取任意用户资产。攻击者(0x5636e55e4a72299a0f194c001841e2ce75bb527a)利用攻击合约(0x8162a5e187128565ace634e76fdd083cb04d0145)通过漏洞合约(0xcda5dea176f2df95082f4dadb96255bdb2bc7c7d)提取用户资金,累计获利62ETH,160万 DAI,约价值170万美元,目前攻击者(0x2c177d20B1b1d68Cc85D3215904A7BB6629Ca954)已通过跨链将所有获利资金转入Tornado.Cash,成都链安链必追平台将对被盗资金进行实时监控和追踪。[2022/8/2 2:54:19]
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以下,基础费才会下降。基础费是用户必须支付的,矿工的小费可选择支付,在网络使用率不高的情况下,基础费就可以让用户及时完成交易,没有必要支付矿工小费。如果网络拥堵,则需要支付小费优先交易。
BitDNS入选火种源计划,将为BitCherry生态应用提供域名解析服务:据官方消息,2021年4月14日,BitDNS成为首批加入BitCherry分布式商业生态的合作伙伴。BitDNS将为BitCherry链上应用提供分布式域名解析服务,实现一键去中心化,帮助企业和个人用户更加便捷、安全的参与数字资产交易,管理链上价值数据信息。BitCherry将携手BitDNS打造去中心化的网络生态系统,建立安全便捷的链上分布式商业生态体系。[2021/4/14 20:18:34]
目前Gas费收取需要用户设定支付的GasPrice,如果太低需要等待很久,太高则造成浪费。EIP1559的实施会提高用户使用体验,因为基础费是已经被计算好的,理论上支付基础费就能保证完成交易,用户只需要选择给矿工支付的小费,而且在不拥堵的情况下不需要给矿工小费。对于降低Gas费来说,EIP1559中没有很直接的体现,在不拥堵时用户只缴纳基础费于是避免了Gas费浪费。在网络拥堵时持续调高基础费没有让用户花费更少,而是通过不断涨价让人们面对高昂收费时不得不暂缓交易。因此很多人对EIP1559的实施对降低Gas费的有效程度存疑,尤其是短期受到很大损失的矿工群体。但从长远看,销毁本来应该交给矿工的Gas费,能够将交易带来的价值引入到以太坊系统中,提升整个系统的价值也会提高矿工的收入。
以太坊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的开发难度比较高,短期内不会上线。
浪潮集团王伟兵:标识解析、标识密码、区块链是构建工业区块链三个技术要素:金色财经现场报道,12月5日,2020世界区块链大会于武汉举办,会上浪潮集团区块链技术研究院首席架构师王伟兵演讲表示,消费互联网是实现人和人的连接的,工业互联网从技术上看更偏重物,工业互联网数量多,管理难度大,面向物的标识解析和密码学适合应用。标识解析的本质是提供名称映射的分布式数据库,构建工业区块链的三个技术要素是标识解析、标识密码、区块链。标识解析需要目录服务、数据共享,标识密码主要做设备身份认证、设备写入链,区块链则增强安全,完成可信交易。[2020/12/5 14:06:24]
以太坊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在扩容方面的表现。
表1:Rollup带来的扩容空间
总的来说,Rollup在扩容上十分有效,因此可以降低以太坊Gas费。但Rollup会涉及链上应用的迁移,使用不同团队开发的Rollup还会导致互操作性下降的问题。
动态 | EOS疑似将推出基于EOS的HandShake DNS解析服务:EOS疑似将推出基于EOS 的 HandShake DNS解析服务,一位开发者的Github显示正在开发EOS-handshake服务。Cosmos社区总监Chjango Unchained4月30日发推表示发现EOS开发者正在复用 Handshake 的开源代码。EOS或许会加入域名解析服务,生态会进一步扩大。(IMEOS)[2019/4/30]
侧链
侧链是一条区别于主链的区块链,用户可以将主链资产转移到侧链上交易,以节约主链的资源和交易者的成本。严格意义上侧链不算是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上所有人同时退回资金,那么可能导致以太坊主链没有容量同时处理这么多交易,会导致用户资金丢失。
状态通道和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费是有帮助的。
撰文:崔晨,就职于HashKeyCapitalResearch审核:邹传伟,万向区块链首席经济学家
标签:GAS以太坊IMIASTgas币局以太坊硬币ETHDbimintokenAston Martin Cognizant Fan Token
吴说作者?|?Rebecca本期编辑?|?ColinWu从2021年以来,第一季度内美债收益率持续攀升,3月31日10年期国债收益率尾盘上涨3.75个基点,报1.7404%.
1900/1/1 0:00:00尊敬的用户: 币虎交易平台的关于“PCX、BSPAY、MANY、ETNA、DEC”的活动已结束,活动奖励已发放至用户账户,请所有符合活动条件的用户在--中查询分发结果.
1900/1/1 0:00:00数字人民币推广进程加快,第二批试点城市陆陆续续走向实践阶段。21世纪经济报道记者获悉,2021年4月12日至4月25日,工商银行海南省分行联合央行海口中心支行、三沙市政府将举办以“数字人民币三沙畅游行”为主题的数字人民币消费体验活动.
1900/1/1 0:00:00行情观点:小时盘面来看,昨日大饼插针探底55616.1一线反弹,震荡上升向上试探,遇压56930.52一线回调震荡下行,午夜跌至55475.74一线,昨日晚间建议回踩进多看反弹.
1900/1/1 0:00:00MurAll MurAll是一个开放的链上数字协作画布墙,欢迎来自世界各地的朋友在上面进行关于NFT的艺术创作.
1900/1/1 0:00:00一、 据CoinDesk4月10日消息,VanEck数字资产ETF申请已经接受了几周的审查,其初步评论期于周五结束。截至发稿时,只有5条评论。预计监管机构将在下个月就是否批准VanEck的申请做出初步决定.
1900/1/1 0:00:00