宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > Gate.io > 正文

因「0x10」地址的Gas消耗分歧产生的柏林硬分叉Bug

作者:

时间:1900/1/1 0:00:00

以太坊OpenEthereum单客户端在区块#12244294?处发生的Bug导致当时的以太坊网络停机,并在问题区块产生后无法与网络保持同步。那么造成这个事故的原因究竟是什么呢?

使用?Tokenview以太坊浏览器查看触发了这个事故的交易:https://eth.tokenview.com/cn/tx/0x7006f38fa2e6654fae1a781aefc5885fe0cb8f778b1add10636eaf7e34279247

Superduper联创:当前形式的“NFT无法扩展”:金色财经报道,在今年的NFC上,Web3媒体品牌Superduper Dom Smith创始人强调,让NFT得到大规模采用并不容易。大品牌渴望进入该领域,他们只是不知道如何进入。然而,实现这一目标需要考虑三个主要因素。首先,他们考虑NFT如何颠覆娱乐业。其次是用户体验(UX),第三是公众认知。[2023/6/15 21:37:43]

这是一笔合约调用交易,是从KuCoin交易所向其他地址分发ETH。

Yves La Rose:已完成EOS与UX Network之间首次Antelope IBC wrap代币转移:据官方消息,EOS网络基金会创始人和首席执行官Yves La Rose表示,已成功完成EOS与UX Network之间首次Antelope IBC wrap代币转移。

此外还表示,“权限将很快更新为完全去中心化IBC协议,EOS的IBC时代即将到来”。[2023/1/17 11:16:04]

我们仔细分析一下合约调用过程:

安全团队:Alter Ego Hunters官方Discord遭攻击:金色财经报道,据安全团队CertiK监测,Alter Ego Hunters官方表示其Discord遭到攻击,用户不要点击任何链接、铸造或批准任何交易。[2022/9/18 7:04:07]

1.在浏览器的“数据输入”栏展示的是合约调用的参数,第一行表示地址列表从“40”(16进制)字节,也就是64字节开始,图中第4行,第二行表示转移数额的列表从“1a0”(16进制)字节,也就是416字节开始,数据输入栏第15行。

2.转账是按照地址列表的顺序进行的,往每个地址转入的数额和转移数据的列表一一对应的。

3.现在我们开始遍历地址列表,看第三行的“10”(16进制),表示的是即将为接下来的16个地址转入ETH。

按照图上顺序,当数到第10个的时候,发现值变成了“10”。这个值事实上是表示转移数额的列表长度。但是按照第三行的指示,应该向16个地址转入,那么合约会把“0x10”当成地址继续执行转账操作,向地址“0x10”转入0个ETH。

事实上,“0x10”是EVM“特殊地址”之一,它完全处在EVM的预编译合约列表内。它是一个由EIP-2537断言的预编译合约,是为BLS配对密码学程序而设的,但这个EIP还未部署到主网上。

那么在柏林硬分叉中给“0x10”发送0ETH会造成什么呢?会造成Gas消耗产生分歧。

“0x10”地址的Gas消耗分歧

柏林硬分叉改变了EVM中Gas消耗量的计量方法。在EIP-2929实施后,如果在一笔交易中对同一个存储槽多次执行状态存储操作,第一次执行会消耗更多Gas,后续执行的消耗会更少。

这就是?OpenEthereum在区块#12244294处发生Bug的根源:OpenEthereum包含了EVM已实现的预编译列表。所以OpenEthereum会对该笔交易中访问了“0x10”的交易给gas折扣。但网络的绝大部分活跃客户端都不是这样实现EIP-2929的,它们只会给访问了已激活预编译合约的交易提供gas折扣。

由此,OpenEthereum客户端对该交易消耗了多少Gas的计算与网络中其他客户端发生了分歧。

这场由Gas消耗分歧引起的OpenEthereum单客户端停机,虽没有严重到导致重大的链分叉,但也提醒我们利用多客户端实现来提升抗性。

不可否认,区块链技术仍然处于不断尝试不断前进的过程中,2021年爆发的Defi和NFT也以前所未有的速度普及给更多的受众,Tokenview希望携手更多的开发者打造更好的区块链世界。

标签:ETHNETGASTHEETHSTK币Omega NetworkOntology GasTHEX

Gate.io热门资讯
特斯拉卖币 高手还是韭菜?

.new_summary,blockquote{position:relative;font-size:16px;letter-spacing:1px;line-height:28px;margin-bottom:40px;paddi.

1900/1/1 0:00:00
BTC突破51000美元

根据欧易OKEx数据显示,比特币突破51000美元,现报51240美元,24小时涨幅2.28%.

1900/1/1 0:00:00
比特币&主流货币:强力反弹出现,牛市重现?

资讯简评 《公职人员道德法》未规定公职人员财产申报需包括虚拟货币韩国金融服务委员会正调查加密货币相关部门内部职员的加密投资状况.

1900/1/1 0:00:00
币虎上线GreenTrust(GNT)

尊敬的用户: 币虎将上线GreenTrust?,并在DeFi专区开通GNT/USDT交易市场,具体详情如下:1.开放充币:2021年4月29日14:00;2.开放交易:2021年4月29日18:00;3.开放提币:2021年4月29日.

1900/1/1 0:00:00
区块链治理如果出问题 没司法规范怎么办?

原文标题:《观点|治理程序可抽取的价值》治理程序是协议的最终拥有者。无论是独裁还是富豪统治,治理程序控制着相关协议的每一个可变动的方面以及它们如何变化.

1900/1/1 0:00:00
BTC周线收阴之后出现回暖,思路决定出路点位决定利润

币圈的投资朋友们晚上好,很高兴又和大家见面了!上一篇我们更新的思路是观望为主顺势追高,可能稳健的朋友踏空,激进的朋友追高拿住一部分一利润。但是明诚个人觉得这个思路没毛病,踏空只是惋惜,追高拿到利润.

1900/1/1 0:00:00