草根站长
老司机 路子野 随时超车
北京时间 6月28日凌晨3时,在刚刚结束的硅谷Blockchain Connect Conference大会现场,区块链安全公司PeckShield披露了一个能够造成以太坊geth节点休克或崩溃的安全漏洞。PeckShield将披露的漏洞命名为“Ethereum Packet of Death(EPoD)”,即“致命报文”,攻击者通过发送一个恶意报文即可向geth节点发动攻击。geth是以太坊主流的官方客户端,被众多重要节点采用,这也意味着一旦攻击者利用此漏洞向以太坊全部受影响geth节点实施攻击,涉及到的相关络节点将随时可能停摆。对整个以太坊网络来说,这样的漏洞如若被用来开展恶性竞争,将扰乱市场秩序,造成不可估量的严重损失。
波及2/3以上以太坊网络节点
在深入探讨漏洞细节之前,我们首先介绍一下以太坊客户端应用。根据以太坊基金会官方网站的描述,以太坊官方客户端有若干个独立的运行版本,其中占较多市场份额的主要为Go Ethereum和Parity两种。
图1.Ethernodes网站统计的不同以太坊客户端的市场份额
Go Ethereum即geth,是使用Go 语言编写的官方客户端。geth完全开源,采用的是GNU LGPL v3的授权。根据Ethernodes网站的统计,geth的份额大概占整个以太网客户端的2/3,是目前以太坊网络较为主流的客户端。而排名第二的Parity(是Parity科技公司的产品,以Rust语言编写)则占据了了剩余三分之一份额中的绝⼤大部分(如图1所示)。还有其他客户端, 占较小的一部分(如图2所示),共识机制的一致性,使得这些客户端在功能上几乎完全等同。
图2.Ethstats网站统计的不同以太坊客户端的市场份额
PeckShield的研究人员已经发现了一系列可能导致geth节点休克或崩溃的安全漏洞,而这些漏洞一旦被利用可能会给以太坊2/3以上的网络带来严重冲击。
“致命报文”漏洞细节
以太坊的核心在于所有的客户端都必须遵守同样的协议以保持共识。这些协议由RLPx、DΞVp2p和其他子协议,包括以太坊线路路协议(Ethereum Wire Protocol)或者轻量级以太坊协议(Light Ethereum Protocol)等组成。
图3展示了了以太坊应用的协议层。为了支持轻量量级的客户端,轻量量级以太坊⼦子协议(LES) 允许以太坊节点在同步获取区块时仅下载区块的头部,在需要时再获取区块的其他部分。为了实现这一功能,我们还需要一个全节点(或archive节点)作为LES服务器器,为轻量级节点 提供服务。
执行以下命令可以启动一个支持LES服务的geth全节点
geth --lightserv 20
在向LES服务器器请求区块头部时,LES客户端会发起类型为GetBlockHeaders的消息 (message),而LES服务器器的消息处理器(message handler)负责相应的解析工作。 图4给出了geth客户端负责处理GetBlockHeaders类型消息的代码片段。
(GetBlockHeaders)的信息处理器的代码片段:
图4.geth客户端中获取区块头部信息处理器由LES客户端发送的查询(query)请求遵循如下格式
从图4的第17行开始,LES服务器处理not reverse分支。在第19行,LES服务器会检测在忽略了query.Skip个区块之后,是否还有可用的区块头部。如果检测通过,GetBlockHashesFromHash方法就会被调用(即第20行),并返回一个区块头部数组。
然而对作为输入的请求(即query),LES服务器并未验证其有效性。攻击者可以构造形如query.Skip = -1 (0xFFF...F)这样的恶意请求。当query.Skip+1被作为待分配数组 的最大长度参数传递至GetBlockHashesFromHash方法时,长度为0的数组即被分配并返回。随后,通过索引query.Skip = 0xFFF...F访问该⻓长度为0的数组时,LES服务器就会彻底崩溃。
漏洞危害及后续
公链作为区块链世界的“操作系统”,为区块链生态提供数据储存、网络传输、交易算、共识机制等底层协议。当前市上已经有多条竞争公链,总市值稳居第一的以太坊无疑是目前公链领域的领跑者,一旦以太坊网络遭到攻击,将会给整个区块链生态带来重大影响。
此次漏洞所波及的以太坊geth客户端很可能包含着数字货币交易所以及部分矿池等关键节点。攻击者可以借助此漏洞实施恶性竞争,通过直接瘫痪竞争对手算力赢取更大的市场份额,这会严重影响以太坊市场秩序的稳定。我们在发现漏洞后的第一时间向以太坊基金会提交了漏洞报告,目前以太坊geth客户端的相关开发团队已发布了相应的补丁,
在此我们也呼吁受影响的关键节点尽快升级最新的版本,以抵御可能发生的攻击和危害。
图5.CVE-2018-12018 错误报告
这只是我们披露系列漏洞的开始,在合适的时间我们将会公开所发现的其他漏洞。
近日,以太几乎连续两周走出连阳的辉煌形态,这着实为沉寂的市场添上了一把大火。究其原因,BTC与亚马逊的暧昧纠缠似乎仅仅是整个行情的导火线,而伦敦分叉和EIP1559或许才是驱动以太忘我上涨的内核动力。 谈及分叉,不少币民开始翘首以盼,是不是ETH要生出ETCplus了?或者干脆在以太链上囤U吧,说不定分叉以后就各链一个,岂不是直接翻倍。 币民脑洞之大真是令人叹为观止,但ETH要生出ETCplus似乎也不是没有可能,因为伦敦分叉EIP1559激发的对立矛盾愈演愈烈,社区内部存在着不少分歧与僵持。但以太坊网络预计在8月5号就能达到12,965,000区块高度,而目前反对派还没有重大举动,飞出黑天鹅的概率似乎已经微乎其微? 同时笔者认为1559提案是ETH从POW走向POS共识的压力测试,还将会是以太坊登上“加密一哥”的重要奠基。那么,分叉和EIP1559究竟是什么,这对以太坊网络和ETH价格又会有什么影响,本文将会从这一次伦敦分叉简单说起。 硬分叉与软分叉 比特币劈腿事件过去了近3年,主流币圈的精力也更多地集中于生态应用层面,硬分叉和软分叉的辉煌已经不敌昔日。但作为曾经风靡圈内的两个概念,硬分叉和软分叉究竟是什么呢?这有个最抽象简单的解释就是:硬分叉意味着新旧版本软件已经无法兼容,二者开始各自记账和各自建立生态,新旧两派分道扬镳并建立起两条不同的区块链;软分叉则更加温和,新版本在旧版本的基础上建立了更严格的规则,但旧版本依旧对其兼容,二者仍可共存于一条链上而无需对立。 当然,也可以用一个具体的例子作比方:分叉就好比环境变化,而软件设施就好比人们的衣着。那么软分叉就代表气温升高,人们可以继续穿着原来的棉大衣,只不过需要薅出里面的棉花,而且新产生的衣服也无法变回原来的大衣。而硬分叉就代表陆地变海洋,人们的棉衣已经不再可用,而是需要换成聚脂泳衣。 如果非要从最广大的普通币民来考虑,一般软分叉只是升级迭代部分功能,而硬分叉需要切换成另一条主网链,同时也意味着你能映射到等数量的新币,例如ETC、BCH和BSV。 其中以太经典ETC便是ETH的首个硬分叉项目,而在当时差点给以太坊带来致命性打击。2016年6月份,基于以太坊智能合约的众筹平台The DAO被黑客掳走价值5000万美金的ETH,当时社区投票表决在1,920,000区块进行硬分叉并回滚所有交易。而反对派认为这种做法违背了区块链去中心化和不可篡改的精神,以至于部分矿工仍坚持在原链上挖矿,形成了一条不接受回滚的以太经典链。 伦返碰敦分叉与EIP1559 伦敦分叉是以太坊继柏林分叉和伊斯坦布尔分叉之后的又一次升级,其中柏林分叉已经平稳运行,因为它主要是优化以太坊主网性能,对各方的利益影响都不大。而伦敦分叉则直接导致矿工们辩蠢拉帮结派,因为EIP1559将可能直接导致矿工无矿可挖。 1559提案主要是优化平抑携世陪gas的波动,防止以太坊交易者盲目“内卷”,根据网络和区块状态为每一笔交易设定参考性的基础费用。而在EIP1559之前,用户大多数情况下只能在钱包里选择慢、中、快三种gas费,同时为了提升速度,不少用户开始盲目加价,这就直接导致gas费相当于一个没有任何参考的拍卖会,参拍者进行着无脑抬价的活动。 如果只是设置固定费用,或许社区反映还不会这么剧烈,EIP1559同时规定这个基础费用收到的ETH将被直接销毁。这意味着,如果交易者不给超出基础费用的小费,矿工将无法获得任何收入,尤其是交易冷清的时候。 1559支持者大多是生态层面的参与者,因为该提案可以优化用户体验,减少盲目支付和手续费操纵。同时手续费一大部分被销毁,也是对通胀模式做了动态调整,或将有利于网络的长期发展。 而1559反对者则应该是矿工了,因为他们直接面临着收益降低的问题。除了收益问题以外,1559给小费的模式依然可以存在恶性“内卷”,这意味着用户并不能实质性降低费用,而是相当于主网向矿工收税。 目前很多人是认为分叉新币的可能性不是很大的,因为V神还有生态站队都是在1559这边,但以Flexpool和Spark Pool为代表的反对算力已经高达60%,这足够自建一条不含EIP1559的以太新链。那么不惜严重损害矿工短时利益的1559提案究竟有什么意义呢?或许这和未来即将登场的ETH2.0及POS有着重大关联。 伦敦分叉助力POS 根据ETH开发社区的相关消息,ETH2.0已经敲定了完全过渡到权益证明挖矿(PoS)的相关规范,这被认为是区块链能源消耗问题的解决方案,因为这将直接导致以太坊的能源消耗为原有的万分之一。 而伦敦分叉和EIP1559似乎是POW过渡到POS的重要压力测试,通过这次压力测试,引导重要生态和社区逐步往POS改革,同时利用市场行为逐步清退原有的POW挖矿,这为ETH2.0及POS的真正到来和落地扫清了一定的障碍。 而针对这一不可调和的矛盾冲突,市场在5月初通过ETC的走势得以表达。这是因为以太坊一旦过度到POS时代,矿工认为将手中的显卡机器拿去挖ETC能获得更大的收益,于是市场率先反应,出现了这么一场让普通人看不懂的大暴涨。 推开社区矛盾不谈,POS算法对币价势必具有更深远的影响。因为POW首先要求矿工进行大量的前期投资,而这些投资还将随着时间的推移被压缩利润,以至于不得不进行持续性的再投资。这导致大部分矿工不得不充当卖家卖出手中的币,以至于最终挖出来的币被分配到二级市场,而不是积累到矿工的资产负债表。 POW矿工不得不卖币以维持经营,而POS则全然不同,因为一旦矿工将一定数量的币投入到了质押系统,在一个总量相对恒定的ETH系统中,矿工们相当于拥有了相对永久化的收益权,同时新产生的ETH还可以直接投入矿池,无需分配到二级市场。 因此,在POS系统中,矿工们已经将一块蛋糕瓜分,而将这块蛋糕做大会是他们的利益共同驱动。换言之,质押、拉盘和享受高分红将会是未来POS矿工的三大标准动作。 以太坊的“加密一哥”指日可待 从1559提案到POS,市场一致认可降费提速的重要性,当前的区块容量和速度直接抑制了币价的上涨,这是因为当ETH币价上涨之时,手续费也随之水涨船高,这让广大的交易者苦不堪言。另一方面也抑制了生态的建设,导致了大量生态溢出,进而也抑制ETH的需求并打压其价格。 似乎ETH的价格已经在完全竞争市场下形成了一个动态均衡,只要价格一涨就会抑制需求,进而压低价格。而打破这一格局的重要举措便是降费提速,于是EIP1559和后续一系列的改革方案就肩负了这个使命。 此外,POS共识让广大矿工形成了利益共同体,他们不再依靠芯片等硬件来相互竞争,而是通过质押来确定份额,为增加算力只能不断地从市场买币。等到形成了一定的格局之后,拉高ETH的价格或将是他们不谋而合的举动,这也就是上文提到的做大蛋糕。 不难想象,在POS和ETH2.0完全落地的时候,速度缓慢、价格高昂的比特币将会立即处于加密货币的劣势,甚至逐步落后于使用POS共识机制的其他项目。 而凭借着优良技术和蓬勃生态的以太坊,无论是在市值还是共识上都势必成为加密领域的“一哥”。而这,也让我们拭目以待。
2Miners是最受欢迎的山寨币矿池之一。 该矿池具有18种加密货币,两种挖矿模式:矿池和单人模式,18种语言以及直观的界面。 矿池中有超过18000个用户,最近24小时内向用户支付的奖励总额为一百万美元。矿池中最受欢迎的加密货币是以太坊。 超过11000个用户正在挖矿ETH。2Miners数据中心位于欧洲,美国和亚洲,从而最大程度地提高了每个地区用户的加密货币挖矿效率。 奖励每两个小时支付一次。因此,从2月开始,如果要免费使用RaveOS,应切换到2Miners矿池。山寨币矿池 2Miners 近期发现了一个影响以太坊「epoch switch」的网络漏洞,且该漏洞影响 ETC 网络。2Miners 表示,ETC 的 Thanos (ECIP-1099)的网络硬分叉升级改激引发了一些问题,因为 ECIP-1099 提议减少网络中的算力,当转换到 epoch 时矿池并没有验证数据(尽管它是合法的)。2Miners 随后发现该漏洞位于用于维护以太坊和 ETC 的核心库中。2Miners 表示,「经过深入研究,我们发现许多基于 Ethash 的加密货币所使用的核心库之一的数学值有偏差。」该问题可能导致某些节点接受较新的数据到区块链,而另一些节点则不接受,从而造成了可能导致链分裂的潜在严重情况(类似于此前的以太坊网络故障)。拓展资料:一、由于比特币全网的运算水准在不断的呈指数级别上涨,单个设备或少量的算力都无法在比特币网络上获取到比特币网络提供的区块奖励。在全网算力提升到了一定程度后,过低的获取奖励的概率,促使一些“bitcointalk”上的极客开发出一种可以将少量算力合并联合运作的方法,使用这种方式建立的网站便被称作“矿池”(Mining Pool)。在此机制中,不论个人矿工所能使用的运算力多寡槐歼森,只要是透过加入矿池来参与挖矿活动,无论是否有成功挖掘出有效资料块,皆可经由对矿池的贡献来获得少量比特币奖励,亦即多人合作挖矿,获得的比特币奖励也由多人依照贡献度分享。二、矿池是一个全自动的开采平台,即矿机接入矿池,提供算力——获得收益。矿池的分配方式主要有:“PPLNS、PPS、PROP”三种。矿池的存在降低了比特币等虚拟数字货币开采的难度,降低了开采门槛,真正实现了人人皆可参与的比特币挖矿理念。但其弊端也非常明显,因为算力接入矿池,作为矿池来说,将掌握极其庞大的算力资源,在比特币世界中,算力代表着记账权,算力即是一切,如果单铅亩家矿池算力达到50%以上,将可以轻易对比特币等类似的虚拟数字货币发动51%攻击,其后果是非常可怕的:垄断开采权,垄断记账权垄断分配权。
硬分叉是一种不支持向后兼容的软件升级方式。通常,这些情况发生在节点以与旧节点的规则冲突的方式添加新规则时。新节点只能与运行新版本的软件节点进行交互。结果,区块链发生了分裂,生产出两个单独的网络:一个按照旧规则运行,一个则按照新规则运行。节点在升级后变为蓝色。之前的黄色节点拒绝蓝色节点的连入,而蓝色的节点之间可以相互连接。因此,现在有两个网络并行运行。他们将继续产生区块和交易,但不再在同一区块链上工作。在区块链网络达到分叉区块之前,所有节点都具有相同的区块链(并且历史记录仍然存在),但是这之后它们将具有不同的区块和交易。由于存在相同的历史记录,因此如果您在分叉之前持有代币,那么您将在这两个网络上同时获得代币。假设在600,000区块高度发生分叉时,您手里有5 BTC。您可以选择在区块高度到达600,001时,在原始区块链上将这5个代币花费掉,但是在新产生的区块链上并不会记录这笔在600,001区块高度的消费。假设加密方式没有发生变化,那么在新的分叉简链稿网络上您的私钥中仍然会存在这5个代币。 以太坊硬分叉的一个案例唤袭是2016 年 6 月 17 日,the DAO 合约上出现漏洞拦孝并被攻击者乘虚而入,导致约三百六十万 ETH 被盗取。根据该合约的设计,这些资金需要被冻结 28 天才能成功被转移。如果没有采取任何措施的话,黑客会拥有 ETH 总额的 4.4%。为解决这个问题,备受争议的 EIP 779 被提出来,其目的在于修改攻击者的锁定合约。如此一来,ETH 持有者便可以从 the DAO 合约上提出其 ETH。7 月 20 日,以太坊大部分成员支持实行硬分叉,然而少数社区成员持反对意见,并决定实行硬分叉,分叉后的原链改名为以太坊经典 (Ethereum Classic)。
版权声明:本文标题:以太坊网络存在“致命报文” 漏洞,可直接造成区块链网络瘫痪!内容由互联网整理发布,该文观点仅代表作者本人,转载请联系作者并注明出处:http://www.0792jiaju.com/post/2328.html,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。
发表评论