售前客服二维码
文章均源于网络收集编辑侵删
提示:仅接受技术开发咨询!
燃气费调整是一个长期的概念和过程。目前最终的解决方案在Ethereum 2.0。燃气费问题是以太网1.0链目前面临的最严重的问题之一。虽然以太网有很大的计算能力,但是由于区块链的结构问题(每个整体节点计算相同的数据,所以任务在掠夺单个节点的计算资源),以太网在处理大量任务时会出现拥塞。拥堵后,煤气费会很高。
DeFi应用的爆炸式增长使得这种现象越来越严重。这里要提到的是,除了打包区块链事务,Ethereum还在链上发布智能合同,所以智能合同在链上执行时会消耗资源。所以用户在DeFi做的几乎每一步都需要支付Gas费用,这也是Gas模式的问题。
最近,关于EIP-1559的讨论在埃瑟伦社区变得更加激烈,因为有许多矿池不同意这一提议的部署。该提案调整了燃气费的构成。虽然不能解决煤气费高的问题,但可以提高煤气费的期望值,改善体验。
还有一个最近的相关新闻。3月16日,以太博物馆的开发商菲利普卡斯顿圭提出了另一项提案EIP-3382,提议将街区燃气限额定为每街区1250万燃气。并更新区块验证规则,如果Gas限额不等于1250万,则区块无效。这是为了在区块内达成天然气限制共识,不受矿工限制。
在原规则中,块Gas限制是Ethereum中唯一不受节点一致性决定的数据部分,是矿工选择的参数。他认为这是一个关键参数,需要节点一致性,以避免少数参与者对网络其余部分施加任何突然的有害变化。
像EIP1559和EIP-3382这样调整燃气费的建议很多,因为燃气费在以太网的运营中占有重要地位,所以关于燃气费有很多历史故事。如果把关于煤气费的新闻都浏览一遍,可以发现解决煤气费并不容易。
今天,白色计划团队将会提到以太网的所有燃气费用相关数据,包括设计变更、EIP修订等。愿你使用它。
如果想了解燃气费,可以从TXStreet的动态图像中形象地了解。
TXStreet将把邰方街区的包装过程形象化为运输
如果把区块包装抽象为汽车载人运输的过程,会遇到道路宽度有限、汽车运力有限的因素,所以进入汽车的过程中会有竞争,可以理解为价格最高的那种,平均成本会因为拥堵而“抬高”。
汽车行驶的道路是基本资源,需要“过路费”来覆盖,而打包的煤气费是“煤气费”。羊毛出在羊身上,煤气费最终要交“过路费”。因此,燃气费(Gas fee)是使用以太网资源的最终付款。
虽然设计无限,但处理能力有限。在Geth 1.6版本中,Gas计算切换到使用64位值,这样一个64位Gas限制的单个块可以容纳人体内44倍的红细胞数量。但这是理论,和现实很不一样。
在这个版本确定之前,还有一个有趣的细节。在Vitalik设计的Ethereum Gas模型中,Gas费用支付流程在合同中是默认的,即在合同执行过程中,合同中的余额会减少,如果由于执行消耗而导致余额不足,则合同将被暂停。
早期以太网合同中建立的内置扣除
后来加文开始参与Ethereum,进入后修改了Gas的支付机制,由合同执行人支付改为转让人支付,即合同执行人支付。Vitalik被描述为从“合同支付”方法改变为“发送方支付”方法,以立即带走一点eth,而不是每个单独的交易步骤。
在以太琴的早期,维塔利克和加文在迷你黑客松上,中间的大神是杰弗里
这是一个相对容易理解的“燃气费支付”。如果解剖更详细的部分,就要看黄书《气》的相关部分。
气体是以太场所有计算的定价单位。如果你想在以太网做更多的计算,你必须支付更多的燃气。
这种用户付费模式可以避免资源滥用。可以理解的是,一旦开发人员为每一个操作付费,代码就会写得尽可能简洁高效。此外,Gas的存在可以防止攻击者通过无效操作淹没以太网(因此,需要Gas执行许多操作)。下面统计的一个EIP是为了增加账号访问的Gas值来降低被攻击的可能性。
除了知道在哪里支付燃气费用,我们还需要了解燃气价格和燃气限额。
GasPrice是交易发送方愿意支付的每单位燃气的价格(以Wei衡量),交易发送方可以定制自己愿意支付的每单位燃气的价格。假设一笔交易花费10魏煤气,发送方愿意支付3魏/煤气,交易总成本为30魏。我们钱包里有调整汽油费的高级选项。
气体限额是交易发送者在执行交易时可以接受的最大气体量。如果没有GasLimit,发送者的帐户余额可能会被误消费。GasLimit是一个安全机制,防止账户中所有ETH被消耗。
此外,燃气限额也可以定义为预付费燃气。当一个节点验证一个事务时,事务的固定成本是通过将GasPrice乘以GasLimit来计算的。如果交易发送方的账户余额低于交易的固定成本,则交易被视为无效。交易执行后,剩余的Gas会返还到发送方的账户,这就是为什么我们在执行与MetMask的合同时,估计Gas很贵,但是执行后价格并没有那么高。
块中包含什么
这是块中固有的内容。在交易部分,有237笔转账和39笔合同内交易。如果详细看交易,可以看到更详细的燃气费用。也可以看出燃油限制是12493113。在文章开头提到的EIP-3382中,每个区块的天然气限额被限定为12500000,这就是这一部分。这样每个区块获得的奖励总量会更加可控。
关于ETH1.0链,每个操作码都有Gas费的计算,我们截取了价格较高的部分供读者参考。操作码最终决定了链的执行和资源的使用。例如,一个基本的想法是创建一个合同。成本计算如下:
内在成本=gttransaction gtx datazero * NZ eros gtxdata非零* nnonzeros gtxcreate
其中:
交易=21,000魏
Gtxcreate=32,000魏
Gtxdatazero=4 Wei
gtxdata非零=68 Wei(伊斯坦布尔升级时会改为16 wei)
您可以相应地检查以下操作码。
对应于以太网1.0链操作码的气体消耗值
根据上面的介绍,我们可以对燃气费是利用以太网的链条资源产生的有一个基本的了解。计算越多,气体越高。在智能合同操作中,每个单独的步骤都需要支付煤气费。另外补充一点,如果发送方设置Gas高,矿工会优先交易,因为矿工可以选择先打包一些交易。
将EXTCODECOPY的基本燃气费用从20增加到700。
将天平的气体成本从20增加到400。
将SLOAD的燃气成本从50增加到200。
CALL、DELEGATECALL和CALLCODE的汽油费用将从40英镑增加到700英镑。
自毁的毒气费用从5000增加到5000。
如果自毁击中一个新创建的账户,它将触发额外的气体费用25000(类似于调用)。
将提议的天然气限额目标提高到550万。
目前,这些交易的成本约为600万天然气。EIP可以减少到1,000,000气体,这使得协议更加实用。
这个EIP的建议是从基础费金额开始,根据网络的拥堵程度由协议调整。当网络超过每种燃气的目标用量时,基本成本会略有增加,而当容量低于目标量时,基本成本会略有降低。
因为这些基本成本的变化是有限的,所以可以预测不同区块之间基本成本的最大差异。然后,这允许钱包以高度可靠的方式自动为用户设置汽油费。预计即使在活跃的网络期间,大多数用户也不需要手动调整燃气费用。对于大多数用户来说,基本成本会通过钱包来估算。
通常,操作码Gas的成本的主要功能是估计处理操作码所需的时间,目标是使Gas限制对应于处理块所需时间的限制。然而,内存访问操作码(SLOAD,和CALL,BALANCE和EXT操作码)在历史上被低估了。在2016年上海的DoS攻击中,在修复了最严重的客户端错误后,攻击者一直有效的策略之一就是简单地发送可以访问或调用大量账户的交易。
所提出的EIP将这些操作码的成本增加了大约3倍,从而将最坏情况下的处理时间减少到大约7-27秒。数据库布局的改进包括重新设计客户端直接读取存储,而不是跳转到Merkle树,这将进一步减少这种情况,尽管这些技术可能需要很长时间才能完全推出,即使有了这种技术,访问存储的IO开销仍然很大。
目前需要向ETH支付Gas费,用于与dapp的通信,限制了Ethereum用户对dapp的采用。因此,合同所有人可能想为燃气付费以增加用户的购买量,或者让他的用户用法定货币为燃气付费。或者,第三方可能希望补贴某些合同的天然气成本。EIP-1077中描述的解决方案可能允许来自不包含ETH的地址的交易。
目前,Gas在21000笔交易中的固有成本使得发送ETH的成本非常高,而小批量(几十美元)的成本通常令人望而却步。虽然其他EIP(如EIP-1559)也考虑了天然气价格的变化和首次价格拍卖,但如果以安全的方式进行,将会大大降低以太网传输的成本,实现更多的此类交易。
这和Rollup有很大关系。
一个简单的Ethereum事务(发送ETH)大约需要110个字节。而Rollup中的ETH传输只占用12字节,因此Rollup可能会将基本链的可扩展性提高10倍左右。在特定的计算中,通过使用汇总,可伸缩性甚至可以提高100多倍。
这是一个绝对了不起的成就,这也是Eth2.0成为以Rollup为中心的发展路线的原因。
燃气费调整是一个长期的概念和过程,是无数以太网工程师修复细节的结果。如果只看单个煤气费的调整,我们感受不到煤气费的重要性和调整煤气费的难度。然而,可以肯定的是,以太气体问题的最终解决方案必须是Eth2.0。请保持期望。
文章均源于网络收集编辑侵删
提示:仅接受技术开发咨询!