主页 > 以太坊钱包imtoken安装 > 比较:以太坊 PoS 和 PoW 安全性

比较:以太坊 PoS 和 PoW 安全性

以太坊钱包imtoken安装 2023-04-12 06:37:38

本文将描述以太坊合并后可能发生的共识级攻击。

挖以太坊要投资多少钱_投资以太坊安全吗_以太坊投资靠谱吗

ETH PoS 安全

本节主要讨论以太坊采用PoS共识机制后可能发生的共识级攻击。

Mirror 上 jmcook.eth 的参考资料:

小型质押者的攻击

短程重组

这是对信标链的攻击,攻击者向其他验证者隐藏一些信息,然后在特定时刻释放这些信息,以便通过预运行大额交易进行双花或提取 MEV。 这种攻击也可以扩展到多个区块,但成功的概率会随着重组长度的增加而降低。

这种攻击本质上是块重组,分为重组前和重组后两种。 重组前意味着攻击者从主链上替换一个尚未创建的区块,而重组后意味着攻击者从主链上删除一个已验证的区块。 在 PoS 以太坊的情况下,攻击者必须拥有超过 2/3 的区块才能执行事后重组。 同时,有研究表明,即使攻击者拥有65%的份额,攻击成功的几率也不到0.05%。

短程重组攻击是通过预重组实现的,攻击者不需要控制大部分质押的ETH即可实现,成功的概率会随着控制质押比例的增加而增加。

反弹和平衡

平衡攻击是指攻击者采用的一种特定技术,该技术将诚实的验证者集分成对区块有不同看法的离散组。 具体来说,攻击者等待机会提出一个区块,当机会出现时,他们在同一个时隙中提出两个区块。 他们将一个区块发送给一半的诚实验证者,将另一个区块发送给另一半。 这种冲突将被分叉选择算法检测到,区块支持者将被没收并被逐出网络。 然而,上面提到的两个区块仍然存在,并且将有大约一半的验证者集证明每个分叉。 攻击者以失去验证者为代价成功地将区块链一分为二。 同时,其余的恶意验证者保留他们的证据。 然后,在分叉选择算法的执行过程中,有选择地向足够多的验证者发布支持一个或另一个分叉的证明,这使他们能够产生具有最多累积证明的分叉。 这种情况可以无限期地持续下去,攻击者可以在两个分叉上保持验证者的均匀分布。 由于两个分叉都不能吸引 2/3 的绝对多数,因此信标链不会最终确定。

在这种类型的攻击中,攻击验证者控制的总权益百分比越大,在任何给定时刻攻击的可能性就越大,因为他们更有可能选择验证者在每个时隙中提出一个块。 即使只有 1%,平均每 100 个 epoch 就会有一次发起平衡攻击的机会,不需要长时间等待。

类似的攻击,反弹攻击,只占其中的一小部分。 在这种情况下,攻击验证者再次拒绝投票。 这一次,他们没有投票来维持两个分叉之间的平均分配,而是在适当的时候使用他们的选票来证明分叉 A 和分叉 B 之间的交替检查点是合理的。 在这两个分叉之间翻转证明会阻止可以在任何一条链上完成的合理的源和目标检查点对,从而终止最终性。

雪崩攻击

另一类攻击称为雪崩攻击,在 2022 年 3 月的一篇论文中有所描述。 作者认为proposer enhancements无法防御雪崩攻击的一些变种。 然而,作者也只演示了对以太坊分叉选择算法的高度理想化版本的攻击(他们使用没有 LMD 的 GHOST)。 其中,GHOST分叉选择算法将第一个分叉块和所有对应的后代块获得的票数进行累加,选择得票数最高的分叉为主链。

为了发起雪崩攻击,攻击者需要控制多个连续的区块提议者。 在每个块提议槽中,攻击者保留他们的块,并收集它们,直到诚实链达到与保留块相等的子树权重。 然后,保留的块被释放,使它们被最大程度地混淆。 这意味着,例如,对于 6 个保留块,第一个诚实块 n 与对手块 n 竞争创建一个分叉,然后所有剩余的 5 个对手块在 n+1 块竞争中与诚实块竞争。 这意味着建立在对手区块 n 和 n+1 上的分叉现在吸引了诚实的验证,因为区块是在真正诚实的链的权重等于对手链的权重的那一刻被释放的。 现在可以对尚未构建在其之上的保留块重复此操作,从而允许攻击者阻止诚实的验证者跟随诚实的链头,直到他们的混淆块被耗尽。 如果攻击者在攻击进行时有更多机会提议区块,他们可以利用它们来扩大攻击规模,这样参与攻击的验证者越多,持续的时间就越长,并且可以将更多诚实的区块从区块中移除规范链。

挖以太坊要投资多少钱_以太坊投资靠谱吗_投资以太坊安全吗

资料来源:对权益证明 GHOST/以太坊的两次攻击

LMD - 幽灵分叉选择算法的 LMD 部分可以减轻雪崩攻击。 LMD 代表“Last Message Driven”,它指的是每个验证器保存的一个表,其中包含从其他验证器收到的最新消息。 仅当新消息来自表中已存在于特定验证器的槽之后的槽时,才会更新此字段。 实际上,这意味着在每个时隙中,收到的第一个消息就是它接受的消息,任何其他消息都是不明确的消息,将被忽略。 换句话说,共识客户端不计算歧义——它们使用来自每个验证器的第一个到达消息,歧义被丢弃,防止雪崩攻击。

远程攻击

远程攻击也是权益证明(PoS)共识机制下的一种特定类型的攻击,主要包括两种场景: 第一种场景,攻击者维护一个单独的原始区块,作为参与原始区块的验证者 下一个区块链到链分叉,并最终说服诚实的验证者集在很久以后的某个适当时间切换到它。 然而,这种攻击在信标链上是不可能的,因为“finality gadget”确保所有验证者定期就诚实链(“checkpoint”)的状态达成一致,并且无法重组检查点之后的块。

在第二种情况下,当一个新节点加入网络时,它从最近的节点(称为弱主观性检查点)获取信息以构建区块链作为伪创世块。 这会在新节点开始自行验证区块之前为它创建一个“信任网关”。 然而,从客户端(如区块浏览器)收集建立检查点所需的可信区块信息并不能增加客户端本身的可信度,因此主观性是“弱”的。 因为检查点的定义由网络上的所有节点共享,所以不诚实的检查点是共识失败状态。

验证者控制大部分情况

33%

33% 的质押份额是攻击者的基准,因为如果超过这个数量,他们就有能力阻止信标链完成,而无需对其他验证者的行为进行细粒度控制。 他们可以简单地一起消失。 这是因为要完成信标链,检查点必须由 2/3 的抵押以太币进行验证。 如果有 1/3 或更多的质押以太恶意验证或不验证,那么 2/3 的绝对多数是不可能存在的。 对此的防御是信标链的不活动泄漏。 这是信标链未能完成四个纪元后触发的紧急安全措施。 不活动泄漏识别那些尚未验证或已针对大多数验证的验证器。 这些非验证验证者拥有的质押以太币会逐渐耗尽,直到最终他们加起来不到总数的 1/3,这样这条链就可以再次敲定。

50% 和 51%

理论上,如果恶意验证者控制了 50% 的抵押 ETH,他可以将以太坊区块链分成两个大小相等的分叉。 类似于前面描述的平衡攻击,攻击者可以维护两个分叉并通过为同一个插槽提议两个块然后简单地使用他们控制的 50% 来投票反对诚实验证器集来防止最终性。 四个时期后,不活动泄漏机制将在两个分叉上激活,因为每个分叉将看到其一半的验证器验证失败。 每个分叉从另一半的验证者集合中抽取股份,最终形成两条链,其中不同的验证者代表 2/3 的绝对多数。 此时,唯一的选择就是依靠社区恢复。

相反,当攻击者控制超过 51% 时,他们就获得了对分叉选择算法的控制权。 在这种情况下,攻击者将能够通过多数票进行验证,从而给予他们足够的控制权来执行短期重组,而不会欺骗诚实的客户。 51% 的份额不允许攻击者改变历史,但他们有能力通过对分叉和/或重组不方便的不合理区块应用他们的多数票来影响未来。 诚实的验证者会效仿,因为他们的分叉选择算法也会将攻击者青睐的链视为最重的链,因此链可以最终确定。 这允许攻击者审查某些交易,执行短程重组,并通过有利地重新排序块来提取最大 MEV。 针对这种情况的防御措施是攻击者将多数股权置于风险之中,因为社会层可能会介入并拿走诚实的少数股权,从而大大降低攻击者的股权。

66%

拥有 66% 或更多抵押以太币的攻击者可以完成他们的首选链,而且他们不必强迫任何诚实的验证者。 攻击者可以简单地投票给他们最喜欢的分叉,然后完成它投资以太坊安全吗,他们可以投票给不诚实的绝大多数人。 作为绝对多数股权,攻击者将始终控制最终区块的内容,有权花费、回滚和再次花费、审查某些交易并随意重组链。 攻击者正在有效地购买执行事后重组和最终恢复(即改变过去和控制未来)的能力。 这里唯一真正的防御是退回到社会层来协调替代分叉的采用。

总的来说,尽管有这些潜在的攻击媒介,信标链的风险很低,甚至低于它们的工作量证明等价物。 这是因为攻击者需要冒着抵押 ETH 的巨大成本来压倒拥有投票权的诚实验证者。 内置激励层可防止大多数恶意行为,尤其是对于低风险攻击者。 更微妙的弹跳和平衡攻击也不太可能成功,因为现实世界的网络条件使得难以对特定验证器子集的消息传递进行细粒度控制,并且客户团队已通过简单的补丁快速修复已知的弹跳,平衡和雪崩攻击问题。

然而,33%、51% 或 66% 的攻击可能需要社区投票才能解决,因此有效的社区治理对攻击者具有很强的抑制作用。 对于攻击者而言,技术上成功的攻击仍然存在被社区阻止的风险,这降低了攻击者获得足够利润以起到有效威慑作用的可能性。 这就是为什么维持一个具有一致价值观的有效社区对投资如此重要。

ETH PoW 安全

矿工自以太坊诞生以来就发挥了重要作用,但以太坊的合并将打破这种局面。 Bitpro 估计 GPU 矿工需要关闭大约 95% 的 GPU 才能在合并后的加密生态系统中保持盈利。 但由于合并后不太可能立即关闭这么多GPU,所以矿工们会在合并后尝试PoW分叉。 如果一些交易所也支持分叉,那么分叉的寿命将比预期的更长。 目前已有多家机构支持ETHPoW硬分叉,包括Gate、OKX、f2pool、Matcha、BitMEX、孙宇晨等。

2022 年 8 月 15 日,Ethereum Pow 在 Twitter 上宣布,ETHW Core 的初始版本已经在 GitHub 上发布。 主要功能如下: 1. 关闭难度炸弹; 2、EIP-1559变更,基础手续费由矿工与社区共同管理的多重签名钱包变更; 3、调整ETHW初始挖矿难度。

2022 年 8 月 26 日,以太坊 PoW 在推特上发布了 ETHW 的第一个测试网“冰山一角”。 随之而来的是区块链浏览器和 RPC 服务器。 他们欢迎社区中所有潜在的合作伙伴(交易所、矿池、钱包提供商、桥梁、建设者等)加入构建一个真正的 POW 驱动的以太坊生态系统。

那么,以太坊合并后的硬分叉ETHPoW可能会面临哪些安全问题呢? 我们将在下面详细分析。

算法攻击

51% 算法攻击是当系统中的恶意单个实体或组织能够控制整个网络算法的大部分(即超过 51%)时,对区块链网络的潜在攻击。 由于 PoW 算法中的共识是由算法决定的,攻击者可以利用算法篡改账本,从而对系统进行恶意攻击。 以太坊合并后,无法再通过挖矿获得收益的矿工将关闭矿机,这可能会导致基于 POW 的 ETH 分叉失去部分算力。 比如目前最大的矿池Ethermine,已经宣布停止支持ETH PoW挖矿。

一旦支持 ETHPoW 的算力下降,攻击者发起算法攻击的成本就会降低。 那么攻击者可以租用矿池的大量算力,使其算力达到51%以上。 这时候,它可以利用算力优势更快地出块。 当生成的区块成为系统中的最长链时,可以回滚区块交易,实现数据篡改,会造成很大的危害,例如:双花、任意地址控制交易等。

双花

双花攻击是指攻击者试图双花其账户拥有的相同数字代币。 一个例子:

假设 A 在区块高度 1000 处拥有 51% 的算力,A 转账 1 ETH 给 B,转账交易由矿工打包。

交易确认后,A依靠51%的算力优势,在999区块高度后重新生成一条“更长的链”,在1000区块高度重新转账ETH给C,并打包交易记录,即,该链包含A向C转账ETH的记录。

根据“最长链共识”,包含转入C的记录的链成为主链,A转入B的1个ETH为“无效支付”。

控制来自任何地址的交易

攻击者使用51%的算力,可以对任意地址的交易进行打包或解包,阻止区块确认任何交易,甚至阻止部分矿工获得有效的记账权,从而达到控制任意地址交易的目的。

但是拥有51%的算力并不是万能的。 比如不能修改别人的交易记录,不能阻止交易的发出,不能凭空生成ETH。

重放攻击

传统意义上的重放攻击是指攻击者发送一个已经被目标主机接收到的数据包,以欺骗系统。 在区块链领域,重放攻击通常发生在区块链硬分叉的情况下,这意味着“一条链上的交易通常在另一条链上是合法的”。

2016年7月20日,以太坊在192万区块硬分叉,产生了两条链,分别是ETH链和ETH经典链,对应的代币是ETH和ETC。

由于两条链上的地址和私钥相同,交易格式完全相同,因此一条链上的交易在另一条链上也是完全合法的。 如果在另一条链上重播,在一条链上发起的交易也可能得到确认。 很多人在没有事先做好规划的情况下,就利用了这个漏洞,不断在交易所充值提现,赚取额外的ETC。 因此,“重放攻击”在区块链世界被重新定义。

当前以太坊合并可能出现的硬分叉ETHPoW,理论上可能存在上述问题。

应该如何防止重放攻击? 其实以升级为目的的分叉很容易实现,因为硬分叉升级会使用不同的客户端版本,而交易的前缀通常包含发起交易的客户端的版本信息。 分叉后,矿工通常会拒绝某个版本之前的交易,以避免打包来自老客户的“非法交易”(不是恶意交易,而是其他节点无法识别的低版本号),这使得恶意攻击者难以窃取资金通过硬分叉升级期间的重放攻击。

2022 年 8 月 23 日,EthereumPoW 正式发布了第二次代码更新以执行 EIP-155。 此次更新后,所有交易都必须使用链 ID 进行签名。 这将保护 ETHW 用户免受来自 ETHPoS 和其他分叉代币的重放攻击。

下面简单介绍一下EIP-155:

该提案称为“简单重放攻击保护”。 如果block.number >= FORK_BLKNUM和CHAIN_ID可用,那么在计算签名交易的hash值时,不要只对前6个rlp编码的元素(nonce、gasprice、startgas、to、value、data)进行hash,而是对这9个元素进行hash应该对 rlp 编码的元素(nonce、gasprice、startgas、to、value、data、chainid、0、0)进行哈希处理。 此时签名中v的值不再是recid,而是recid+chainID*2+35。

所以,简而言之,在签署交易时需要 Signer 和 PrivateKey。 需要Singer是因为EIP-155修复重放攻击漏洞后,需要保持原区块链签名方式不变,但需要提供新版本的签名方式。 所以新旧签名方式都是通过一个接口实现的,根据区块高度创建不同的Signer。 EIP-155 中实现的新哈希算法的主要目的是获取交易用于签名的哈希值 TxSignHash。 与旧方法相比,哈希计算混合了链 ID 和两个空值。 请注意,此哈希值 TxSignHash 并不等同于 EIP-155 中的交易哈希值。

这样,一个签名的交易可能只属于一个唯一标识的区块链。

另外,为保证项目安全,建议项目在合约中进行离线签名验证时,签名数据中应包含Chain ID,避免跨链签名复用造成资产损失。

应用层项目

其实传统的分叉需要用算力来做选择投资以太坊安全吗,而选择的主角是矿工,但是这次如果真的同时有两条以太坊链,需要的是整个以太坊生态做出选择。 这里的项目方是用户和投资人。

与2016年的硬分叉相比,如今的以太坊已经不可同日而语。 DeFi项目已经占据了以太坊生态的绝大部分,但是DeFi的基础是链上资产,所以项目主要是沿着资产端。 . 资产端是USDT、USDC等稳定资产,而DeFi的质押或借贷项目基本都是以资产端为主。

对于这些稳定资产(这里主要指稳定币)的发行者来说,如果出现以太坊分叉,他们会突然面临一个问题——两个版本的稳定币。 作为稳定币的发行人,你突然对每个发行的稳定币承担两项债务义务。

虽然大多数人认为稳定币发行者会将新的 PoS 链视为“真正的”以太坊网络,但如果他们想支持 PoW 链怎么办? 毕竟,他们有足够的经济动机这样做。

例如,他们可以做空 PoS 以太坊代币,在 PoW 网络上宣布赎回,然后赚取数十亿美元。 这可能会破坏新的以太坊网络,协议、交易所和相关的 DeFi 项目将被关闭。 这将造成巨大的混乱,并有可能大规模摧毁加密货币市场。

同样,以太坊分叉项目EthereumPow在8月17日发推称,ETHW Core将引入流动性池冻结技术,以保护用户资产。 因为在以太坊 PoW 硬分叉之后,尤其是前几个区块,用户存放在流动性池中的 ETHW 代币,如 Uniswap、Susiswap、Aave、Compound 等,都会被黑客利用而被废弃或变得毫无价值。 以不同方式兑换或借用USDT、USDC、WBTC,将对整个网络和社区造成巨大的破坏。 因此,ETHW Core 暂时冻结部分 LP 合约以保护用户的 ETHW 代币,直到协议的控制者或社区找到更好的方式归还用户的资产。 冻结不适用于仅涉及单一资产的权益合约(例如 ETH2.0 存款合约和打包的以太币)。 ETHW Core 建议大家在硬分叉前从 LP(如 DEX 和借贷协议)中提取 ETH。

资料来源:@Beosin_com/ethereum-pos-and-pow-security-fd52a6153b1e

关于

ChinaDeFi- ChinaDeFi.com是一个研究驱动的DeFi创新机构,我们也是一个区块链开发团队。 每天从全球500多个优质信息源的近900条内容中,寻找更深入、更系统的内容,以最快的速度同步到中国市场,提供决策支持辅助材料。