火星链 火星链
Ctrl+D收藏火星链
首页 > 瑞波币 > 正文

GETH:观点 | 如何看待 Infura 服务崩溃及其造成的影响?

作者:

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

事件经过

北京时间2020年11月11日下午,以太坊社区知名的节点服务Infura被曝出API服务出错,并因此导致了多个依赖于Infura来构建的服务的崩溃,或者前端显示不正确。

就Infura自身而言,可以把它理解为一个公开的以太坊节点,这个节点会接收请求并返回一定的服务,比如帮忙转发交易、比如检查某笔交易上链了没有,又或者某个账户的状态如何。实际上,只要自己部署一个以太坊节点,就能提供跟Infura同样的服务。但它的特殊性在于,Infura的大部分服务都是免费的,因此很多服务都选择了依赖Infura来向自身播报以太坊区块链的状态,免去了自己部署节点的麻烦。

也正因此,Infura出错,理论上波及面会很广,在事件发散的过程中,甚至还有人扬言“以太坊会分叉”。理由是两个不同的区块浏览器上,对同一个块高显示了两个不同的区块。

但很显然,以太坊根本没有分叉。从事实上来说,两个区块浏览器所显示的后续区块都是相同的,这表示出块的矿工没有以两个不同的区块为父块来继续挖矿,也没有彼此拒绝对方的区块。从理论上来说,只有出块的节点彼此之间使用了不同的共识规则,且都占据了一定的算力,才有可能形成分叉。

观点:NFT出现了越来越多的使用场景,这将促进其继续发展:5月29日消息,由Wikiexpo主办,金色财经、Wikifx、Wikibit协办的Wiki Finance Expo Singapore 2023活动中,多位嘉宾就“Web3领域NFT如何推动创作经济发展”这一问题进行讨论,嘉宾指出在Web3的世界中,NFT是对加密资产所有权的证明,加密资产可以包括艺术品、游戏道具、创作的内容。在2021年NFT大热,出现了许多泡沫,但随着从业者和参与者在这个领域的深耕,NFT渐渐产生了实际价值,例如与游戏结合的NFT道具可以进一步拓展游戏市场,并让许多经济不发达地区的人获得收入。同时,NFT也可能作为一种获得社区共识的标志,有相同喜好和追求的人通过NFT汇聚在一起,形成社区、凝聚共识。[2023/5/29 9:49:22]

事实上,人们很快就发现了,这是因为Infura没有运行最新版本的Geth客户端,而某些特殊的交易触发了这个版本的客户端的bug,使之宕机了。Blockchair也是同理。所以很快就有人出来呼吁大家尽快升级Geth客户端。

观点:交易所流入资金仍很低 比特币抛售不会发生:10月13日消息,CryptoQuant首席执行官Ki Young Ju表示,对于比特币抛售致使其价格暴跌,这样的情况不会发生,因为尽管比特币价格上涨,但流入交易所的平均资金流动量仍然很低。所有的交易所资金流入通常表示有多少鲸鱼活跃在交易所。数据显示,目前市场仍处于安全区域。(Cointelegraph)[2020/10/13]

至北京时间11日18时,Blockchair团队的NikitaZhavoronkov@nikzh发表推特,解释事件的因果关系:

以太坊开发者某一次对代码的更改导致了当日以太坊区块链的分裂,分裂自区块高度11234873开始;

没有更新客户端的服务商,包括Blockchair和Infura,就因此受害,被留在了一个少数人组成的链上

从技术上来说,这意味着发生了一次“未公开的硬分叉”

修复措施是升级geth客户端并运行debug.setHead(11234872)

机构观点:未来所有C端核心应用场景均会与央行数字货币合作:据媒体报道央行正计划在美团点评运营的平台上测试其数字货币,朝着数字人民币的广泛普及迈出重大一步。机构认为,全球数字货币落地浪潮仍处于初期阶段,将是全球金融科技中长期主线之一。

未来所有C端核心应用场景(衣食住行)均会于接入合作,央行数字货币从封闭测试到大规模推广落地的速度有望加快。广电运通主要研究自助设备上数字货币与银行账户货币之间的兑换;四方精创在数字货币相关领域有相关研发和技术储备。(证券时报)[2020/7/15]

他还表示,这件事绝不该被低估,应该被认为是TheDAO事件之后,以太坊区块链上最严重的一次事故。

确实很奇怪,为什么会有某个错误仅仅导致软件在某个时间以前的历史版本崩溃而现有版本不崩溃?这岂非意味着,不同版本的geth客户端的共识规则实际上不一样,也就是某时某刻发生了一次不能向后兼容的共识规则改变?此外,一个Infura的崩溃就导致了大面积的服务出错,这是否意味着Infura已经成了一个“单点故障”来源?

观点:最早发布的CBDC将具备使用率优势,美国应尽快推出数字美元:美联储的无限制债券购买和美元印刷计划似乎进展并不顺利。美国失业率一直在上升,而COVID-19的出现动摇了整个世界的核心。Morgan Creek Capital首席执行官Mark Yusko最近表示,与法定货币相比,央行数字货币(CBDC)可能是一种更快的分配机制。“只有8%的法定货币是纸质或硬币形式。92%已经电子化了。从电子到数字的转变将会发生,这是一件好事。我认为这是不可避免的。”Yusko表示,无论哪个国家发行第一个CBDC,都将获得最大程度的采用,他断言美国必须通过快速推出数字美元来避免落后。Yusko认为,Facebook的Libra对美国来说也是一个失去的机会。事实上,很多人认为,美国可以利用这个稳定币项目来保持其金融优势,跟上中国的央行数字货币项目。Yusko也持同样的观点,认为美国本应鼓励Libra,让它完全由美元支撑。(AMBCrypto)[2020/4/11]

缘由

针对上面的两个问题,Geth客户端团队的领导者PéterSzilágyi@peter_szilagyi都有回应。

声音 | 观点:加密货币可能没有做好在经济危机期间为人们提供支持的准备:《精通比特币》作者、比特币安全专家Andreas M. Antonopoulos指出,大规模采用加密货币不会像大多数人认为的那样发生,但他断言,其采用肯定会让人们有机会选择拥有一种替代的在线货币。他宣称,大规模采用加密货币并不是真正的零售购买,因为人们可以很容易地做到这一点,特别是在发达国家,使用他们已经拥有的工具。Antonopoulos还表示,世界已经处于一场大经济危机的边缘。但是比特币或任何其他加密货币本身还没有准备好向人们伸出援助之手。不过,未来的加密货币确实有一个光明的未来,因为全球金融的未来将是去中心化的,基于开放协议和开放系统。他补充说,开放的金融系统更有效率,因为它们更公平、更透明,并将有助于解决所有的规模问题。(AMBCrypto)[2020/2/24]

从技术上来说,的确可以说是发生了“未公开的硬分叉”,但这只是因为开发人员修复了一个沉睡了两年多的bug,而因为担心公开披露这个bug会导致以太坊遭到攻击,所以选择了静默修复。

人们也不该鄙视Infura没有使用最新的Geth客户端。从运营者的角度,不紧跟软件的最新版本是理性的。而依赖于Infura的服务,是自己把这个权利交出去了,而不是别人禁止了你运行节点,所以也没什么可抱怨的。

Peter的回应也引起了不同的反应。一位门罗社区的人表示,在2017年,他们也曾因为同样的顾虑而选择了静默修复bug。当然,也有人认为,选择静默修复是对的,但至少应该通知大型基础设施的提供者,只要联系了,就能大幅减少这一漏洞所造成的破坏。

北京时间12日凌晨5:34,Peter发布了《Gethv1.9.17客户端所造成破坏的事后报告》,定位了问题的来源:发布于2019年11月7日的Gethv1.9.7错误实现了EIP-211;JohnYoungseokYang在2020年7月15日报告了该问题,于是Geth团队在7月20日更新的v1.9.17版本中修复了这个问题。该次修复使得Geth客户端在执行涉及相关规则的交易时能跟其他以太坊客户端相一致,但却使v1.9.17版本与历史版本的Geth发生了不一致。

如Peter所述,这个过程完全不是为了引入某个以太坊社区不知道或者不同意的共识规则,仅仅是因为写了bug所以必须修复bug。除非你管写了bug也叫“硬分叉”,否则就没有理由管修复bug叫“硬分叉”。

其次,到底怎么发布修复,实际上并不简单。以太坊的硬分叉协调也需要很长时间。如果公开一个带有严重危险性的bug,在各节点升级的过程中难保不会有人尝试攻击。作为客户端开发者,他考虑的更多是以太坊网络的安全性,而不是某个服务的安全性。而且,他们也并不是对所有的bug都采取同样的静默修复措施,很多都是公开修复的。

12日上午7:11,Optimism团队的JingishiringforOptimism@jinglanW出来披露了更多信息:他们在6个月前复制了Geth客户端的代码库来研究和开发OptimisticVirtualMachine,在该过程中,他们发现了一个神秘的bug,也修复了该bug,但一直无法定位其来源;他们一直以为,这个bug可能跟团队引入的定制化改进有关,但11号他们开始怀疑错误就存在于旧版的geth客户端中,而不是因为他们引入了一些改进。于是他们看了ethernodes.org显示的节点分布之后,就决定在主网上测试该bug。因此有了后面的事情。

所以,实际上,是Optimism团队发现了一个bug,草率地决定在主网上测试该bug还存不存在,再加上Geth团队此前选择了静默修复该bug,才使得某些没有及时升级的节点出错了。

该如何理解和看待这件事情呢?

就事情的本因来看,这是因为客户端团队选择了静默修复一个沉睡了许久的bug。虽然很多人认为geth团队可以通过联系基础设施提供者来降低破坏,但我在这里还是认为,我们应该给客户端开发人员更多的信任和尊重。我相信Geth客户端团队这么做是有理由的,他们知道绝大部分节点都在使用自己的软件,也考虑了bug的沉睡时间,因此选择了静默修复。从事后诸葛亮的角度,当然提前通知了大的基础设施提供者会更好,破坏会更少。但是,这样吹毛求疵合理吗?为什么依赖于Infura的服务不假设Infura可能崩溃?

我承认我在这里不太公正,但更公正的话,也有很多人已经说过了。我在此只想表达我对geth客户端团队的敬意。我愿意把印象分给他们,因为他们在过去提供了许许多多的工作量证明。他们值得大家的尊敬。

在静默修复措施的执行上,当然存在提高的空间,也应该跟包括门罗和比特币社区学习经验。但如果只想着谴责geth团队,乃至以阴谋论来揣度他们,那才是更大的不公正。

关于“Infura是否成为了单点故障的来源”,也分简单的回答和复杂的回答。简单的回答是,不是,因为就像Peter所说,从来没有人禁止你部署节点,只是很多提供商自己选择了外包。Infura不是设计层面上必须经过的一个单点。只是因为各种各样的原因,它成了可能是最大的节点服务提供商。

但复杂的回答是,以太坊节点的资源消耗比较大,确实是一个被低估的问题。以太坊协议的运行需要各节点完全执行区块中包含的交易,而执行交易必须从状态数据中取出数据、并且完成后也要将结果写入,这个过程会涉及大量的硬盘随机读写。而且,随着状态数据体量的扩大,读写的效率要求也会提高。前些年热议的“状态膨胀”问题,在当前的以太坊上还没有解决。运行节点的门槛高,节点的数量自然就少。从善意的角度看,如果以太坊节点的运行门槛降低,我相信会有更多人自建节点,而不是选择依赖于Infura。

但这个问题的解决,同样依赖于以太坊客户端开发者和研究人员的智慧。无状态性,可以说是解决状态膨胀问题的终极方案。而在终极方案变得可行之前,我们仍然需要客户端开发者,为我们贡献更高效率的客户端。

所以,确实发生了一件事,也确实暴露出了一些问题、指出了我们学习和进步的方向。但解决这些问题,离不开我们对社区中不同团体的理解和尊重。远离阴谋论,远离恶意和自作聪明的嘲讽,弄清楚问题的根源,思考其实质和改进方案。我们做的事情,才决定了我们是谁。

标签:ETH以太坊GETHINFxETH-G以太坊币现在的价格是多少togetherbnb手游下载苹果Influencers of the Metaverse

瑞波币热门资讯
ANC:DeFi新玩法 | DeFi产品分级:一个数万亿美元的机会

DeFi领域出现了一个新的投资类别:基于风险水平的收益率优化。至少有两个项目,SaffronFinance和Barnbridge,已经开始向投资者提供根据其风险承受能力赚取不同收益的功能.

1900/1/1 0:00:00
Kadena:摩根大通研报:比特币正在蚕食黄金ETF

近日BTC价格一度接近16000美元。但在市场中几乎没有听到散户投资者的欢呼声,有人称之为“静悄悄的牛市”.

1900/1/1 0:00:00
ETF:DeFi指数能让加密被动投资变得有价值吗?

原文作者:ANDREYSHEVCHENKO原文链接:https://cointelegraph.

1900/1/1 0:00:00
ETH:存款目标超额达成、路线重大调整,近期的ETH2.0重点关注什么?

此前我们还在担心ETH2.0的存款目标无法在12月1日前达成,没想到11月23日一天,存款合约内的质押量就暴增了90%.

1900/1/1 0:00:00
DEFI:DeFi 奶王Andre Cronje 是怎样炼成的?

"从Pickle、Cream、Cover、Keep3r,再到昨日宣布被并购的Sushi,AC被称币圈?「李佳琦」。一系列并购的背后,AC「集团」的DeFi王国已然露出了冰山一角.

1900/1/1 0:00:00
POOL:第三方服务商Rocket Pool们的ETH2.0生意

为启动ETH2.0网络,需要质押524,288个ETH,截止到蓝狐笔记写稿时,目前质押的ETH为60,928个,完成度只有11.6%左右,距离最低启动要求还有较远的距离.

1900/1/1 0:00:00