木星链 木星链
Ctrl+D收藏木星链
首页 > DOGE > 正文

ETH:因 “0x10” 地址的 Gas 消耗分歧产生的柏林硬分叉 Bug

作者:

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

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

先看触发了这个事故的交易:

https://eth.tokenview.com/cn/tx/0x7006f38fa2e6654fae1a781aefc5885fe0cb8f778b1add10636eaf7e34279247

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

CoinFLEX要求Blockchain.com归还其价值超430万美元的FLEX:金色财经报道,加密货币交易所CoinFLEX要求Blockchain.com归还其价值430万美元的FLEX代币,否则将面临法律诉讼,并声称他们去年借给这家总部位于卢森堡的金融服务公司总共3,000,000枚FLEX,但Blockchain.com表示这一说法“完全没有根据,纯属虚构,CoinFLEX没有提供任何证据、文件或链上数据来支持他们的说法”。

CoinFlex表示,Blockchain.com必须在3月7日之前确认将偿还FLEX硬币,并将Blockchain.com汇款的截止日期定为3月21日。否则,CoinFLEX表示该交易所将面临“法律程序的启动,包括但不限于”正式的付款要求,称为法定要求。(decrypt)[2023/2/27 12:31:12]

BurnBNB:BEP-95升级后已销毁130500枚BNB:金色财经报道,BurnBNB发推特表示,自BEP-95实时销毁升级以来,已经销毁了130,500枚BNB(价值50,571,200美元)。[2022/11/1 12:03:00]

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

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

数据:基于Cardano的NFT数量超过500万个:5月30日消息,据pool.pm数据,目前在Cardano区块链上发行的原生NFT资产数量为5,019,150,有54,834种不同的铸币政策。[2022/5/30 3:51:07]

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

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

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

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

那么在柏林硬分叉中给“0x10”发送 0 ETH 会造成什么呢?会造成 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希望携手更多的开发者打造更好的区块链世界。

标签:ETHFLEXLEXGASbodhiethereumREFLEX价格FLEX币gas币价发行量

DOGE热门资讯
NFT:同质化代币和非同质化代币、ERC-20 、ERC-721和ERC-1155的区别

区块链技术的潜力远不止像加密货币这样的数字资产,用户和公司可以将数据(如其个人 ID,证书,公司财产数据,注册数据,房地产数据以及其他有关现实世界资产的信息)放置在区块链网络上.

1900/1/1 0:00:00
DEF:金色DeFi日报 | DeFi中锁定资产超过1300亿美元

DeFi数据1.DeFi总市值:1442.7亿美元 市值前十币种排名数据来源DeFiboxDeFi总市值数据来源:Coingecko2.过去24小时去中心化交易所的交易量:53.

1900/1/1 0:00:00
COIN:“chia奇亚币”是财富还是灾难 幕后团队有何风险

“chia奇亚币” 将会带崩IPFS矿机,幕后团队极其危险!说起硬盘挖矿,也算是这一届牛市中可圈可点的一个重要板块,谁让国内大军硬生生蹦跶了三年,都不愿意去放弃硬盘挖矿?!错过的了比特币.

1900/1/1 0:00:00
WEB:这是那些互联网大厂不想让你知道的数据隐私保护方案

近期特斯拉「刹车失灵」事件成为了公众舆论的焦点,而随后特斯拉公布事故车辆行驶数据的行为将数字经济的关键问题——用户个人隐私——推到了前台.

1900/1/1 0:00:00
以太坊:以太坊要带我们到哪里去?

凭借已建立的强大生态帝国,以太坊在区块链世界傲视群雄。最近一段时间,其接棒比特币踩油门飙涨,价格连创新高,整个币圈都为之疯狂.

1900/1/1 0:00:00
UNI:Uniswap V3正式启动 首日表现远超V2 会成为DeFi新一轮热潮的催化剂吗

2020年,大饼颓废主流行情表现不佳,DeFi突起,其中Uniswap V2凭借恒定乘积自动做市商AMM一举成为DEX领域的龙头,成为了加密行业中新的财富密码.

1900/1/1 0:00:00