最近以太坊网络经常拥堵,用户为了尽快达成交易,会上调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年末已经上涨了近两倍。
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]
图3:以太坊区块的GasLimit
可以看出,虽然以太坊区块的GasLimit一直在提高,以太坊还是会出现网络拥堵的情况。这是因为以太坊的用户和使用量是同时上涨的,只要GasLimit的上涨程度没有超过使用量的上涨,提高GasLimit就无法根本解决高Gas费的问题。GasLimit具体数值由矿工投票决定,在目前的网络拥堵程度下,有些矿工建议将GasLimit继续提高到1600万,但遭到了很多阻力。
除了无法根本解决网络拥堵的问题外,提高GasLimit后由于区块容量扩大,区块的验证和同步时间有所延长。因此导致网络更容易分叉,叔块出现的概率升高,节点维护网络的成本也会增加,最终网络可能出现安全性和中心化问题。虽然提高GasLimit是最简单进行网络扩容的方式,但它带来的弊端也是不能忽视的。不过目前网络拥堵情况加剧,出于可用性考虑,加上矿工会受到更多笔Gas费奖励的吸引,未来极有可能仍会提高区块GasLimit来增大承载量。
降低操作的Gas消耗
虽然以太坊区块的GasLimit在增加,区块的承载量远超过去,但数据显示目前的转账数量刚刚与2018年初的转账数量持平,说明了以太坊网络中大部分资源被分配给了更复杂的合约交易。如果在合约编写上能够降低复杂度,减少合约执行所需要的Gas,或者直接降低操作的Gas定价,就可以实现节约Gas费的目标,并且节约网络资源。
1inch Network:已向解析器激励计划发放超150万枚INCH:2月12日消息,DEX聚合器1inch Network在社交媒体发布项目数据更新,截止目前已向解析器激励计划发放1,507,992 INCH代币,按照当前价格计算超过80万美元。1inch Network于1月底启动解析器激励计划代币发放,总计为1000万枚INCH。
此外,1inch Network还公布了当前主流链上数据,按交易额排名:以太坊(2406亿美元)、BNB(326亿美元)、Polygon(181亿美元)、Avalanche(33亿美元)、Arbitrum(32亿美元)、Optimism(16亿美元)、Fantom(7.291亿美元)、Gnosis(1.92亿美元)。[2023/2/12 12:02:19]
图4:以太坊的每日转账数
以太坊的黄皮书规定了Gas的消耗规则,智能合约的编写过程中,同一功能的不同实现方式消耗的Gas会有所不同,为了节约Gas费就需要执行最节约Gas的代码实现方法。例如储存新数据和修改数据都要消耗Gas,所以最好避免重复修改,一次性尽可能多地写入。在下图中,两者在结果上相同,但右边的代码实现消耗Gas会更少。
图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以下,基础费才会下降。基础费是用户必须支付的,矿工的小费可选择支付,在网络使用率不高的情况下,基础费就可以让用户及时完成交易,没有必要支付矿工小费。如果网络拥堵,则需要支付小费优先交易。
动态 | 以太坊域名服务ENS将加入多代币支持,未来可解析至比特币地址:go-ethereum和以太坊域名服务(ENS)核心开发者Nick Johnson今天在Twitter 宣布,已经提交了ENS以太坊域名的多代币支持,该提议通过后ENS以太坊域名将支持解析域名到多个区块链地址,其中甚至可以包括比特币地址。这也意味着,ENS以太坊域名将可能成为跨链的域名系统,用户可以通过一个域名在多个区块链间互通,未来只需要向其他人展示自己的ENS以太坊域名即可。目前已经有多个数字加密货币钱包支持ENS以太坊域名,在使用以太坊钱包进行转账时,不需要再输入冗长的以太坊0x 地址,而只需要输入短地址即可。[2019/9/9]
目前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更换一次,由信标链通过RANDAO+VDF的方案分配。作恶者很难保证在同一时间控制同一分片上超过三分之二的节点,因此保证了网络的安全。
eWASM是以太坊2.0阶段部署的虚拟机,相较于目前的EVM虚拟机,eWASM在速度和效率上会大幅提升,配合分片技术,以太坊2.0能够实现大规模扩容,降低Gas费。但由于以太坊分片和eWASM的开发难度比较高,短期内不会上线。
动态 | EOSCanada 解析 B1 源代码解释相关期权兑现计划:据 IMEOS 报道,EOSCanada 发布文章解析 B1 源代码,以解释相关期权兑现计划。文中经过源代码分析得出结论,截至2019年1月1日,Block.one 可以赎回共计5879120个代币。分析结果认为,如果 Block.one 想要以小于其全部权重的票数进行投票,则他们必须赎回当前最大数量的代币。然后,他们必须将这些代币转移到一个单独的帐户,抵押,然后投票。截至撰写该文时(2019年3月中旬),这笔金额约为785万美元。因此,虽然 Block.one 以外的任何人都不知道他们投票的想法或他们想要用他们的代币做什么,但我们现在都能理解实际存在的限制。[2019/3/21]
以太坊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还会导致互操作性下降的问题。
分析 | 资金流入榜首DASH盘面解析:在过去24小时中,DASH在各主流币中非常强势,资金净流入31.97亿人民币。从图中可以看出,DASH目前4小时走势处于上升楔形三角中,底部不断抬高,100均线上穿长期200均线,表明近期压力位将会上移,并且MA100和MA 200将会对币价起到支撑作用,不过目前两均线的缺口在收窄,说明近期上冲动能在逐步减弱,RSI显示进入超买区域,短期有回撤蓄势的需求,上方压力95,下方支撑89,收盘若站稳89上方,还会有上涨空间,反之币价可能回撤至三角底部$75附近寻求支撑。利好消息面,区块链支付服务PolisPay宣布与Dash合作,将支持其万事达卡借记卡。[2019/3/13]
侧链
侧链是一条区别于主链的区块链,用户可以将主链资产转移到侧链上交易,以节约主链的资源和交易者的成本。严格意义上侧链不算是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以太坊IMISLIMugas币最新进展以太坊价格币走势图Dolaimi SocialSlime Royale Gold
.new_summary,blockquote{position:relative;font-size:16px;letter-spacing:1px;line-height:28px;marg.
1900/1/1 0:00:00今天早上比特币再度突破6万美元,这是继3月14日以来再次突破6万美元。如果周末能够保持涨势,下周美股的区块链概念股又要疯狂了.
1900/1/1 0:00:00一件来自被称为Beeple的数字艺术家迈克·温克尔曼的纯数字艺术作品《每一天:前5000天》以6900万美元前不久成为艺术界热点话题,这到底是炒作.
1900/1/1 0:00:00著名投资家马克·库班拥有两件Eulerbeats作品,称其为「有史以来最天才的创意」。如果你买了一张你喜欢音乐人的限量版原盘,有没有想过能让大家复刻,自己还能盈利?下面我给大家介绍的一个最近正热.
1900/1/1 0:00:00前面我们和大家介绍了灵踪安全对风险等级的划分,有读者看了一定会好奇:每种风险分别都是什么样的呢?在这篇文章里我们就每个等级的风险具体举出一些案例来说明致命风险、高危风险、中度风险和低风险分别是什.
1900/1/1 0:00:00日前,由NBA达拉斯独行侠队老板、亿万富翁马克·库班投资的NFT交易平台Mintable宣布与以太坊Layer2解决方案ImmutableX达成合作,将推出完全不需要Gas费的NFT铸造方式.
1900/1/1 0:00:00