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版本。
王纯:对于MEV可能存在的问题可通过代码的方式来应对:F2Pool联合创始人、stakefish创始人王纯在DeFi Discussions线上峰会探讨MEV(矿工可提取价值)话题时指出,以代码即法律的观点来讲,就要看代码是否允许提前交易重拍交易等矿工获取MEV的行为。这有些像探讨51%攻击一样,它是比特币的特点而不是bug。在2016年的The DAO事件时有许多关于分叉的争议,当时F2Pool可能是唯一不支持任何人为因素致使分叉的主流矿池,因为我们相信“代码即法律”。我们可能并不应该去限制自己这样的能力,而是在如果获取MEV成为问题或者对网络造成威胁,我们可以考虑创建一个API让每个人都能做到提前交易或者重排交易,依次来应对这个问题。这类似于Push Tx或者交易加速这种功能,目前已经有参与者询问我们是否可以提供在以太坊上类似的服务,我们可以看看这类服务如何影响网络。[2020/5/4]
为此,以太坊开发者HudsonJameson发文加以阐述,文章链接:
https://blog.ethereum.org/2019/01/15/security-alert-ethereum-constantinople-postponement/
CoinDCX CEO:印度对于加密行业而言是一个尚未开发的热门市场:近日,CoinDCX联合创始人兼首席执行官Sumit Gupta谈到印度取消RBI禁令的影响和加密货币的前景时。Gupta强调了印度对加密产业的重要性:“印度能让你有机会推动13亿人进入区块链生态系统,这是一个巨大的数字,大约是世界人口的20%,就数据而言,印度绝对是这个生态系统的一个热门市场,这是一个尚未开发的市场。”据Gupta称,在印度,被加密吸引的人群大多将其视为一种投资形式。他进一步评论了印度加密用户的本质:“人们在过去一年里投资比特币。最主要的原因是,他们在寻找除黄金和房地产以外的其他投资渠道。”他接着强调,随着监管透明度的提高,印度的加密技术可能会吸引更大比例的散户投资者。(AMBCrypto)[2020/3/26]
Hudson在文章中给出的建议主要包括:
1、如果您只是与以太坊网络进行简单的交互,并不运行节点,则您不需要执行任何操作
2、矿工、交易所和节点运营商:
当Geth和/或Parity客户端新版本发布后请及时进行更新;这些新版本尚未发布,发布之后的我们会及时公布更新链接和版本号及其说明;预计之后的3-4小时内会发布新版本。3、Geth客户端
声音 | 杨东:区块链技术对于国家治理体系现代化有重要影响:1月8日,中国人民大学金融科技与区块链实验室主任、教育部长江学者特聘教授杨东表示,以区块链技术对于国家治理体系现代化有重要影响,对一系列新业态、新经济、新产业都带来了比较大的影响。互联网金融起来之后,对于传统金融市场是革命性的。这几年经过金融科技以支付宝为代表的,对保险带来巨大的挑战,银行业和保险业这几年进步很快,受到了外部金融科技的压力,唯独资本市场相对比较保守,比较落后。(新浪财经)[2020/1/8]
将版本升级至1.8.21,或者降级至Geth1.8.19,或者维持在1.8.20版本,但需要使用开关‘override.constantinople=9999999’从而实现无限期延迟君士坦丁堡升级。4、Parity客户端
升级至ParityEthereum2.2.7-stable稳定版本(推荐);升级至ParityEthereum2.3.0-beta测试版本;降级至ParityEthereum2.2.4-beta测试版本(不推荐)。5、其他
动态 | 区块链分析公司:FATF对于增加加密行业的透明度的建议是“有害的”:据coindesk消息,区块链分析公司chainanalysis本周在对“金融行动特别工作组(FATF)建议草案”一封公众评论信回应称,期望交易所在每次交易时都向接收方平台发送“了解您的客户”(KYC)信息,这是不现实的,对加密行业来说也是有害的。这些措施可能导致交易所,或FATF所称的“虚拟资产服务提供商”(VASPs)关闭,并降低潜在非法活动的能见度。在今年2月发布的文件草案中,FATF概述了各国政府可以采取的一些措施,以更有效地监督加密交易,从而预防或减轻风险。[2019/4/12]
Ledger、Trezor、Safe-T、ParitySigner、WallEth、PaperWallets、MyCrypto、MyEtherWallet以及其他未通过同步和运行节点来参与到以太坊网络中的用户或代币持有者
你不需要做任何事情6、合约所有者
您无需要做任何事情;您可以选择对合约的潜在漏洞进行分析并检查您的合约;但是,您无需做任何事情,因为引发此潜在漏洞的变更将不会被启用。由于排除风险所需的时间预计将超过君士坦丁堡升级之前声誉的时间,因此以太坊开发者们决定推迟此次硬分叉升级。推迟至何时还尚不明确。
声音 | 本体联合创始人季宙栋:区块链对于实体经济最大价值是信任和连接:7月21日,本体联合创始人季宙栋指出,当前区块链应用存在着伪场景,比如供应链金融、溯源、单据等,原因在于技术信任无法解决业务竞争意识形态。区块链对于实体经济的最大价值是信任和连接,一些区块链项目在设计上缺乏商业逻辑和账户体系,而且区块链技术本身在性能、安全和扩展性上依然存在问题。[2018/7/21]
对于此次升级的延迟,以太坊社区成员们是如何看待的呢?我们来看一下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链如何自保?
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。