作者: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合约创建时引入代码验证。拒绝未定义指令的合约。
好处:
合约创建时,就可引入代码验证
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。