GAS:以太坊上海升级的作用以及带来的好处_COD

作者:Xiang,W3.Hitchhiker

关于以太坊上海升级,我们来简单梳理一下,分别能带来哪些好处。

参考以太坊最新公开消息,和上海升级的相关EIP如下:

确定包含的EIP:EIP-3651,EIP-3855,EIP-3860,EIP-4895

可能包含的EIP:EIP-3540,EIP-3670

而和L2扩容相关的EIP-4488,EIP-4844都不在本次升级范围内

EIP-3651:暖COINBASE

说到EIP-3651,得先介绍一下EIP-2929一个改动:

24小时加密货币行情梳理:根据Bitfinex交易平台数据显示,

BTC最新成交价格41519元,最高价达42112.7元,最低价格6370.77元,成交量1.2万,跌幅1.11%;

ETH最新成交价格3191.23 元,最高价达3237.98元,最低价格486.96元,成交量7.33万,跌幅1.18%;

BCH最新成交价格5402.02元,最高价达5504.98元,最低价格820.08元,成交量1.24万,跌幅1.46%。[2018/6/19]

当目标不在accessed_addresses中,收取COLD_ACCOUNT_ACCESS_COSTgas,并将地址添加到accessed_addresses。否则,收取WARM_STORAGE_READ_COSTgas,暖读取消耗gas相对较低。

24小时创新币行情梳理:根据Bitfinex交易平台数据显示,

EOS最新成交价格69.26元,最高价达81.29元,最低价格64.07元,成交量2650.31万,涨幅3.28%;

IOTA最新成交价格8.64元,最高价达9.59元,最低价格8.32元,成交量2348.27万,涨幅1.76%;

DASH最新成交价格1672.99元,最高价达1821.15元,最低价格1665.56元,成交量1.05万,跌幅0.16%;

NEO最新成交价格279.15元,最高价达311.58元,最低价格274.03元,成交量18.24万,涨幅1.1%。[2018/6/12]

如今COINBASE直接支付正变得越来越受欢迎,但目前访问COINBASE的价格较高;这是由于在EIP-2929引入的访问列表框架下,COINBASE是按冷账户访问成本计算gas的,在EIP-3651后,accessed_addresses将包括COINBASE(0x41)返回的地址。

早间数字货币行情梳理:根据Bitfinex交易平台数据显示,

BTC最新成交价格42767.57元,最高价达47573元,最低价格42069.8元,跌幅1.05%;

ETH最新成交价格2435.53元,最高价达2458.81元,最低价格2308.75元,涨幅1.93%;

BCH最新成交价格4345.07元,最高价达4628.58元,最低价格4253.66元,跌幅1.02%。[2018/3/31]

好处:

修改后,COINBASE在支付ERC20代币时会减少gas消耗。

EIP-3855:PUSH0指令

24小时数字货币行情梳理:根据Bitfinex交易平台数据显示,

BTC最新成交价格75,832.23元,最高价达78,599.74元,最低价格70,323.65元,成交量5.95万,跌幅2.06%;

ETH最新成交价格6,922.06元,最高价达7,126.82元,最低价格6,340.82元,成交量24.13万,跌幅2.24%;

BCH最新成交价格11,740.88元,最高价达12,488.28元,最低价格11,576.47元,成交量0.46万,跌幅1.84%;

ETC最新成交价格212.48元,最高价达221.35元,最低价格197.85元,成交量14.67万,涨幅2.23%;

LTC最新成交价格1,270.15元,最高价达1,352.84元,最低价格1,192.27元,成交量29.54万,跌幅5.03%。[2018/1/20]

EIP-3855,引入一条新指令,将常量值0压入堆栈,黄皮书关于PUSH的指令集,目前只有PUSH1-PUSH32,作用是将1字节压入堆栈,到32字节压入堆栈

现有指令实现将0值压入堆栈需要通过执行PUSH10,在runtime中需要消耗3gas,并且额外需要消耗200gas

有了PUSH0指令后,就不需要消耗这额外的200gas了。

好处:

目前大约有11%的PUSH操作只是压入0,因此这个EIP执行后可以节省一定量的gas,也能稍微提高以太坊的现有的TPS。

EIP-3860:限制和计算初始化代码

目前initcode的最大为MAX_CODE_SIZE:24576,新的initcode的最大为(MAX_INITCODE_SIZE=2*MAX_CODE_SIZE=49152),这意味合约大小可以扩展一倍,合约开发者可以部署更丰富的功能。

此外为每32字节的initcodechunk引入2个gas费用,以表示jumpdest-analysis的成本。因为在合约创建期间,客户端必须在执行之前对initcode执行jumpdest分析。执行工作与initcode的大小成线性关系。

这意味着initcode每字节将添加成本0.0625gas,合约部署gas成本微微上涨。

好处:

合约部署gas费微微上调,但合约大小可以扩展一倍,合约开发者写更丰富的功能代码。

EIP-4895:信标链提款

主要内容是确定信标链提款至EVM的主要流程,部署完成后,以太坊信标链质押提款功能将被激活。

好处:

激活以太坊信标链质押提款功能。

EIP-3540:EVM对象格式(EOF)v1

此EIP涉及改动较大,并非一定包含在上海升级中。

此EIP中描述的格式引入了一个简单且可扩展的格式,并引入了验证。实现了合约代码和数据的分离。

新的EVM对象格式为:magic,version,(section_kind,section_size)+,0,<sectioncontents>

好处:

版本控制有利于以后实现引入或弃用新功能;

合约代码和数据的分离对于L2的验证(op)有益,减少L2验证器的gas成本;

合约代码和数据的分离也更加方便链上数据分析工具的工作。

EIP-3670:EOF—代码验证

此EIP并非一定包含在上海升级中,配合EIP-3540合约创建时引入代码验证。拒绝未定义指令的合约。

好处:

合约创建时,就可引入代码验证

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:0ms0-3:564ms