木星链 木星链
Ctrl+D收藏木星链

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

作者:

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

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

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

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

EOA账户地址已将资金转至Tornado Cash:金色财经报道,据CertiK监测,EOA账户地址 (0x6840…)已将资金转至Tornado Cash。该EOA钱包与Dexible漏洞攻击事件有关。截止目前,共有930枚ETH被转入Tornado Cash。[2023/2/17 12:13:34]

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

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

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

香港金融科技周:香港将开展NFT发行、稳定币等一系列试点项目:金色财经报道,CrossSpace创始人0xLeon发推总结今日开始举办的香港金融科技周现场摘要,称香港政府会开设专门的人才对接部门,吸引全球金融科技人才;香港政府和监管部门会开展一系列的试点项目,包括NFT发行、稳定币、数字债券等;会设立40亿美元的科技基金支持金融科技发展等。[2022/10/31 12:00:08]

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

Celsius CFO:公司或有足够的现金支持运营到年底:金色财经报道,Celsius Network首席财务官Chris Ferraro周五在与债权人举行的破产听证会上表示,公司现在可能有足够的资金为其运营提供资金,直到今年年底。Ferraro表示,额外的资金来自向加密交易所Bitfinex提供的6100万美元贷款,这些贷款将在未来几周到期。此外,Celsius购买采矿设备的销售税和使用税节省了大约2000万美元。Ferraro表示,Celsius已冻结其零售贷款的所有活动,包括不要求客户支付贷款利息,也不清算它们。并且预计到2023年初将出现正现金流。

根据主持Celsius重组计划的律师事务所Kirkland&Ellis周一提交的法庭文件,Celsius此前曾估计,到10月底它将用完现金,本周早些时候的法庭文件还显示,该公司的现金流基本上为负数。[2022/8/20 12:36:49]

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

按照图上顺序,当数到第11个地址的时候,发现值是“10”。这个值会被认为是地址列表中的第11个地址,然而事实上是表示转移数额的列表长度。那么按照第三行的指示,应该向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希望携手更多的开发者打造更好的区块链世界。

标签:ETHGASNETELSLido Staked ETHEthereum Gas LimitturingnetwELSA

比特币最新价格热门资讯
以太坊:共识稀缺 公链的壁垒究竟是什么?

自从以太坊在上轮牛市横空出世,币圈便出现了一波公链潮。我们在17~18年做过投资的同行,大都有上一波公链热的深刻记忆,各种高tps公链,DAG公链,账户模型创新公链,当然还有一度如日中天的eos.

1900/1/1 0:00:00
SEA:饱览Husqvarna令人惊叹的电动摩托车概念

KTM拥有的摩托车品牌Husqvarna以其街道,越野摩托车和机械设备而著称,终于在刺探电动自行车。这家有着118年历史的瑞典公司刚刚推出了其E-Pilen概念摩托车,非常吸引人.

1900/1/1 0:00:00
LAYER:Layer 2爆发在即,Celer Network如何脱颖而出

伴随以太坊和竞争链上应用的稳步落地,Layer2爆发在即,?CelerNetwork?将如何脱颖而出?CelerNetwork联合创始人董沫做客星球超话社区,详解Celer最新扩容技术方案.

1900/1/1 0:00:00
GAT:Gate.io 上线Startup项目Standard(STND)及认购规则公告

Gate.io已上线“Startup上线通道”,为给优质初创项目提供更为快捷的上币通道,和给予用户提供早期投资机会.

1900/1/1 0:00:00
区块链:隐私计算走红兴起 国内市场规模有望触达百亿元

近日,毕马威推出了《2021隐私计算行业研究报告》。报告表示,随着科学技术的进步,各行各业的数字化发展趋势已不可逆转,尤其在2020年经历了新冠疫情,数字化发展趋势明显加快.

1900/1/1 0:00:00
DODO:去中心化虚拟游戏元世界 X World Games 完成 120 万美元战略轮融资

链闻消息,去中心化虚拟游戏元世界XWorldGames宣布完成120万美元战略轮融资,参投的机构包括NGC、FBGCapital、LonglingCapital、SNZ、MoonwhaleVen.

1900/1/1 0:00:00