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版本。
BM:对于多数交易规模ETH交易费太高了:针对早间V神在线为ETH打Call称,更多人应支持以太坊支付一事,EOS创始人BM(Daniel Larimer)刚刚发推评论称,唯一经济上可行的支付平台是EOS。因为对于大多数正常规模的交易来说,以太坊交易费用太高了。[2020/10/1]
为此,以太坊开发者HudsonJameson发文加以阐述,文章链接:
https://blog.ethereum.org/2019/01/15/security-alert-ethereum-constantinople-postponement/
Hudson在文章中给出的建议主要包括:
1、如果您只是与以太坊网络进行简单的交互,并不运行节点,则您不需要执行任何操作
2、矿工、交易所和节点运营商:
当Geth和/或Parity客户端新版本发布后请及时进行更新;这些新版本尚未发布,发布之后的我们会及时公布更新链接和版本号及其说明;预计之后的3-4小时内会发布新版本。3、Geth客户端
大西洋智库Julia Friedlander:美国应该加入日本和加拿大对于CBDC在跨国转账应用的开发:美东时间6月24日,在哈佛大学肯尼迪政府学院的贝尔弗中心智库展开了一场由中心主任Aditi Kumar主持的关于数字货币的研讨会。大西洋智库全球经济副主任和前欧盟南欧经济事务主任Julia Friedlander表示,中国央行数字货币和天秤币的进展,以及美国在疫情中暴露出支付系统包容性的落后会同时刺激美联储加快对央行数字货币(CBDC)的研究。监管者目前不希望因为私营企业的每次调整而干预监管政策,但最终会在美联储的领导下制定相应政策。中国政府在领导在数字货币反等方面的国际标准,但这个标准并不完善,应在全球框架下进行修改。美国应该加入日本和加拿大对于CBDC在跨国转账应用的开发。(巴比特)[2020/6/26]
将版本升级至1.8.21,或者降级至Geth1.8.19,或者维持在1.8.20版本,但需要使用开关‘override.constantinople=9999999’从而实现无限期延迟君士坦丁堡升级。4、Parity客户端
ErisX CEO:对于比特币机构投资者来说,监管环境十分重要:ErisX首席执行官Thomas Chippas在最新一期播客节目中表示,如果机构投资者对加密市场有持续的兴趣的话,监管加密市场的重要性不言而喻。他还强调了一些阻碍机构入场的关键方面,其中包括数据完整性:“有些实体会提供这些工具帮助你判断是否得到了最好的执行,顺便说一下,这并不总是意味着最佳价格。执行还包括其他方面——规模、风险、市场影响,诸如此类。”Chippas表示,对交易员而言,在监管环境下操作的需要,超出了他们可能获得的杠杆和利润。他强调:“因此,我认为数据完整性问题正在成熟,因为有不同的渠道,也有人为多供应商访问提供工具。当我们谈论投资工具、ETF或共同基金等的创建时,这种情况往往会更常见。”(AMBCrypto)[2020/5/1]
升级至ParityEthereum2.2.7-stable稳定版本(推荐);升级至ParityEthereum2.3.0-beta测试版本;降级至ParityEthereum2.2.4-beta测试版本(不推荐)。5、其他
声音 | WazirX CEO:印度政府对于加密货币的看法现在是完全中立的:金色财经报道,印度加密货币交易所WazirX的首席执行官Nischal Shetty在谈及该国的加密货币监管时表示,印度政府现在是完全中立的。他们没有说加密货币是非法的,也没有说是合法的。因为加密货币的创新本质,法律中没有规定如何处理它,这就是加密货币今天的状况。唯一有所动作的的政府相关机构是印度央行,他们表示任何银行都不应该与加密货币相关的业务打交道。所以现在我们在印度没有银行账户,因为根据印度央行的规定,我们不能接受别人的资金。[2019/11/20]
Ledger、Trezor、Safe-T、ParitySigner、WallEth、PaperWallets、MyCrypto、MyEtherWallet以及其他未通过同步和运行节点来参与到以太坊网络中的用户或代币持有者
你不需要做任何事情6、合约所有者
您无需要做任何事情;您可以选择对合约的潜在漏洞进行分析并检查您的合约;但是,您无需做任何事情,因为引发此潜在漏洞的变更将不会被启用。由于排除风险所需的时间预计将超过君士坦丁堡升级之前声誉的时间,因此以太坊开发者们决定推迟此次硬分叉升级。推迟至何时还尚不明确。
芝加哥期权交易所董事长兼首席执行官指责期货业协会首席执行官对于比特币期货的言论:芝加哥期权交易所董事长兼首席执行官爱德华?蒂利(Edward Tilly)接受金融时报采访,指责期货业协会首席执行官沃尔特?卢肯(Walt Lukken)在周日启动交易比特币期货之前发表“恶意中伤”言论,后者认为比特币期货上市过快,“不负责任”。[2017/12/12]
对于此次升级的延迟,以太坊社区成员们是如何看待的呢?我们来看一下Reddit上的以太坊社区r/ethereum中,社区成员对此此升级推迟的看法:
@CryptoOnly:推迟升级是明智之举。希望相关漏洞能够尽快解决,但我相信大多数人是愿意等待此次升级在适当的时间执行的。
@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链如何自保?
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。