2019年1月15日,ChainSecurity在Medium上发表了一篇题为ConstantinopleenablesnewReentrancyAttack的文章,文中通过代码示例的方式,阐述了一些智能合约代码在君士坦丁堡升级之后容易受到重入式攻击(re-entrancyattack)。文章链接:
https://medium.com/chainsecurity/constantinople-enables-new-reentrancy-attack-ace4088297d9
文章中阐述道:
即将到来的以太坊君士坦丁堡升级将实现某些SSTORE操作从而消耗更少的gas费用。但是在Solidity智能合约中使用address.transfer(...)或address.send(...)函数将可能引发重入式攻击。以前,这些函数被认为是可以抵御重入式攻击的,但现在已不同往日。
之后,以太坊核心开发者和以太坊安全社区意识到了这一问题,正在开展相关的漏洞调查工作,并决定推迟君士坦丁堡硬分叉升级。此次升级原定于当以太坊区块高度到达7,080,000时进行,预计将于2019年1月16日到达该高度。与此同时,建议所有节点运营商、交易所、矿工和钱包服务提供商等,在区块高度到达7,080,000之前,升级至最新的Geth或Parity版本。
BSV跌破190美元关口 日内跌幅为8.37%:火币全球站数据显示,BSV短线下跌,跌破190美元关口,现报188.25美元,日内跌幅达到8.37%,行情波动较大,请做好风险控制。[2020/11/26 22:09:02]
为此,以太坊开发者HudsonJameson发文加以阐述,文章链接:
https://blog.ethereum.org/2019/01/15/security-alert-ethereum-constantinople-postponement/
Hudson在文章中给出的建议主要包括:
1、如果您只是与以太坊网络进行简单的交互,并不运行节点,则您不需要执行任何操作
2、矿工、交易所和节点运营商:
当Geth和/或Parity客户端新版本发布后请及时进行更新;这些新版本尚未发布,发布之后的我们会及时公布更新链接和版本号及其说明;预计之后的3-4小时内会发布新版本。3、Geth客户端
将版本升级至1.8.21,或者降级至Geth1.8.19,或者维持在1.8.20版本,但需要使用开关‘override.constantinople=9999999’从而实现无限期延迟君士坦丁堡升级。4、Parity客户端
BBKX平台ETF专区行情数据 BSV3L日内涨幅超22%:据BBKX行情显示,BBKX交易平台ETF专区多个短时快速上涨,截至今日11:05(UTC+8),
BSV3L/USDT当前净值0.0570美元,日内涨幅22.05%,
BCH3L/USDT当前净值0.0761美元,日内涨幅14.78%,
OKB3L/USDT当前净值0.2001美元,日内涨幅5.31%。
杠杆ETF是一种锚定标的资产价格变化的指数基金。BBKX平台目前已经上线BTC、ETH、EOS多个主流币种以及HT、BNB、OKB等平台币,管理费每倍0.1%。
BBKX成立于2019年6月,已获得节点资本和链上基金的联合战略投资。[2020/4/8]
升级至ParityEthereum2.2.7-stable稳定版本(推荐);升级至ParityEthereum2.3.0-beta测试版本;降级至ParityEthereum2.2.4-beta测试版本(不推荐)。5、其他
Ledger、Trezor、Safe-T、ParitySigner、WallEth、PaperWallets、MyCrypto、MyEtherWallet以及其他未通过同步和运行节点来参与到以太坊网络中的用户或代币持有者
公告 | 库币交易所新增BSV、BCHABC等5种资产杠杆交易,支持10X杠杆:据库币KuCoin官方消息,为丰富杠杆交易区交易种类,库币杠杆平台现已新增BSV、BCHABC、ADA、ATOM、TRX等5种资产及交易对,最高支持10倍杠杆。据悉,库币杠杆交易已开放了BTC、ETH、XRP、USDT、EOS和LTC等代币的27个交易对。[2020/1/19]
你不需要做任何事情6、合约所有者
您无需要做任何事情;您可以选择对合约的潜在漏洞进行分析并检查您的合约;但是,您无需做任何事情,因为引发此潜在漏洞的变更将不会被启用。由于排除风险所需的时间预计将超过君士坦丁堡升级之前声誉的时间,因此以太坊开发者们决定推迟此次硬分叉升级。推迟至何时还尚不明确。
对于此次升级的延迟,以太坊社区成员们是如何看待的呢?我们来看一下Reddit上的以太坊社区r/ethereum中,社区成员对此此升级推迟的看法:
@CryptoOnly:推迟升级是明智之举。希望相关漏洞能够尽快解决,但我相信大多数人是愿意等待此次升级在适当的时间执行的。
动态 | 大多数用户支持Kraken交易所下线BSV:Kraken交易所今日凌晨在Twitter发起关于是否下线BSV的投票,截至目前,有72%的用户支持下线BSV,而有21%的用户选择了无所谓。[2019/4/16]
@millerkm87:虽然我一直都非常期待此次升级,但推迟升级展现了以太坊社区是非常成熟的。虽有些不幸,但我更感谢漏洞被查出并被公之于众,同时采取了适当的措施来加以应对。感谢开发者们一直以来的孜孜奉献。
@SpacePirateM:感谢让社区成员能够及时了解这些问题,这有助于减少人们的FUD(惧惑疑)心理。我完全相信开发者们能够解决这些小问题。
@sandakersmann:伙计们,赶紧升级你们的节点!
@stevieyongieg:在区块链和智能合约领域,没有什么事情是容易实现的。重要的是ETH背后有着坚实的团队和基础。现在发现漏洞总比以后发现要好啊。
@UndeadWolf222:虽然有些失望,但感谢能够在主网升级之前发现(漏洞)。伙计们,继续加油吧。
@DexVitality:有些难过,又要推迟了。但鉴于可能存在重入式漏洞,推迟是完全有必要的...我想继续前行的同时...也许他们(开发者们)能有更多时间来讨论潜在的将PoW改变成ProgPoW,或者在确定硬分叉日期的时候可能提出其他的EIP,我的假设是此次推迟有可能将升级延迟至少1个月左右。
@superflyj416:有人能对此次推迟将持续多久做出有根据的猜测吗?需要几周还是几个月?你为什么这么认为呢?
@insomniasexx:确切的时间将可能于周五确定下来。不可能会延迟很长时间,因为难度炸弹已经被设置好了在某个时间爆炸。因此我觉得此次推迟有可能持续超过3天,但短于即将发生的难度炸弹期限,这是我能做出的最好的猜测。
@5chdn:我认为,延迟可能超过2个星期,但不会超过6个星期,这是我能做出的最好的猜测。
@neuromancer4867:我们又要回到(ETH)价格只有$80的时候了。这是最有可能的结果,但这依旧是一件很糟糕的事情。
@parasitemite:很有可能(ETH)价格会上涨到$200,因为这次事件是一个很好的结果,它向我们展现了以太坊团队不惧于迅速应对问题。
@psswrd12345:又再次延迟了,真的很难让人保持积极态度。导致这次无限期的推迟的原因,本应该在上一次延期的时候就检测出来。真的很失望。当然最好还是推迟,但现在真的很难保持信念了。这种感觉比当初的DAO分叉更灰暗...
@Stobie:@psswrd12345只是推迟几周而已,没那么严重。
@c-i-s-c-o:@psswrd12345构建去中心化web本就不是一朝可以实现的,不可能不存在挫折。要么习惯这些挫折,要么就把精力专注在那些不那么易变的事务上。
@consideritwon:质量帖。我想问几个问题...其他的操作也可能带来重入式攻击,而这通常是可以通过避免某些模式来加以应对的。一旦确认没有合约会受到影响,是否有意继续部署这个EIP并以这种方式处理重入式攻击?或者会重新变更EIP?其次,关于为何这么久之后才发现这一漏洞。是否有方法能够用来改进自动化检测,以此来发现诸如此类的问题?还是需要手动去检测问题?我们从中能够吸取什么教训呢?
@Xazax310:恰好我的问题也是,为何之前没有检测出这个问题?很高兴开发者们发现了这个漏洞,并在修复中。这可能只是一个小问题。
@vbuterin:@Xazax310我们遇到的所有非常讨人厌的问题都涉及到不同组件之间的交互。二次DoS攻击结合了EVM存储器和调用栈框架或返回和调用栈框架,这可能会增加风险,因为发送中的默认gas、SSTOREgas成本和重入式问题之间存在交互。因此,如果你的协议有着N个功能,就存在N的二次方中方式来攻破这些功能。我想说,我个人从此次事件中学到的就是,需要对我们所编写的不变量(由协议保障的属性)要更加清楚明确,这样当事情发生变化时,我们才能更好地检查这些不变量。
@Xazax310:明白了,感谢你的解答。
本文来源于非小号媒体平台:
Unitimes独角时代
现已在非小号资讯平台发布1篇作品,
非小号开放平台欢迎币圈作者入驻
入驻指南:
/apply_guide/
本文网址:
/news/3627114.html
以太坊ETH
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场
下一篇:
Dash无惧51%算力攻击?其他PoW链如何自保?
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。