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

以太坊OpenEthereum单客户端在区块#12244294处发生的Bug导致当时的以太坊网络停机,并在问题区块产生后无法与网络保持同步。那么造成这个事故的原因究竟是什么呢?使用Tokenview以太坊浏览器查看触发了这个事故的交易:https://eth.tokenview.com/cn/tx/0x7006f38fa2e6654fae1a781aefc5885fe0cb8f778b1add10636eaf7e34279247这是一笔合约调用交易,是从KuCoin交易所向其他地址分发ETH。

基于区块链技术的金融科技公司Qenta将通过 SPAC 合并上市:11月10日消息,根据美国证券交易委员会(SEC)的一份文件,使用区块链技术追踪贵金属的金融科技公司 Qenta 将在与特殊目的收购公司 (SPAC) Blockchain Coinvestors Acquisition Corp 合并后在纳斯达克上市。交易预计将于 2023 年上半年完成,一旦完成,合并后的公司的初始市值将约为 9.04 亿美元。

Qenta 还从卢森堡投资公司 GEM Global Yield 获得了 1.8 亿美元的资金。GEM 将为 Qenta 提供为期 48 个月的股票认购服务。Qenta 已经从贵金属进军数字资产领域,它专注于数字化交易,同时通过区块链技术提供出处、托管和所有权跟踪。[2022/11/10 12:45:40]

Kava 4 Gateway升级提案已通过 将于10月15日晚10点上线:Kava 4 Gateway升级提案已正式通过,同时由Certik进行的Harvest货币市场的审计报告也已通过。Gateway主网将于北京时间10月15日晚上10点上线。目前Kava验证者生产设置、BUSD和BTC跨链桥优化、Harvest跨链货币市场已正常执行。

Kava是一个跨链DeFi平台,提供主流数字货币的抵押借贷。Harvest是基于Kava区块链发布的跨链加密货币市场,支持BTC、XRP、BNB、BUSD、KAVA和USDX等资产借贷和挖矿赚取收益。[2020/10/13]

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

历史上的今天 | 新加坡《支付服务法案》通过 交易所需申请牌照合规运营:2019年1月20日,《支付服务法案》通过新加坡国会审议,已被正式立法,数字货币交易所需申请牌照合规运营。

2018年1月20日,美国商品期货交易委员会(CFTC)向纽约法院提起民事诉讼,控告三家加密货币运营商涉嫌涉嫌比特币、莱特币欺诈客户,并擅自挪用资金池。[2020/1/20]

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希望携手更多的开发者打造更好的区块链世界。

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

区块博客

[0:15ms0-10:297ms