摘要:Eth2 中的时间服务器攻击之前也有人讨论过。但迄今为止,主流意见都认为这种攻击只能导致验证者暂时离线,等节点运营者重建正确的时间同步措施,节点就能重新回到线上。但是,如果节点可以被诱去签署一条有关遥远未来某个 epoch 的见证消息(attestation),危险性就远不止暂时离线这么简单:因为共识算法的环绕投票罚没规则,这些节点在整个网络实际到达该错发的见证消息的目标 epoch 之前,将不能再签名任何见证消息(否则就会触发罚没)(译者注:有关环绕投票罚没条件的介绍)。在共识规则的运作下,这种时间服务器攻击会导致受攻击的验证者几乎永远离线,而相关的权益人也会因为懒惰惩罚(inactivity leak)而付出惨痛代价。
数据:某巨鲸从币安提取7000枚ETH,约合1314万美元:6月30日消息,据Lookonchain监测,今日14:06,0x882E开头巨鲸地址从币安提取7000枚ETH(约合1314万美元)。
自6月8日以来,该巨鲸已从币安提取41,600枚ETH(约合7800万美元),并质押了34,560枚ETH。[2023/6/30 22:10:13]
Eth2 中的见证消息就是验证者签过名的、包含所认可的来源检查点和目标检查点的信息;来源检查点和目标检查点都以时段号(epoch number)和区块根(block root)来表示。Casper FFG 的算法的安全性保证之一便是 “无环绕投票” 规则:验证者签名过的任意两条消息中,不能出现有 attestation1.source < attestation2.source 且 attestation2.target < attestation1.source 的情况(一条见证消息所试图敲定的范围恰好在另一条见证消息试图敲定的范围内)。
Maker将对LINK-A、MATIC-A、YFI-A 和 UNIV2USDCETH-A金库部署新参数:金色财经报道,MakerDAO通过社交媒体透露将对LINK-A、MATIC-A、YFI-A 和 UNIV2USDCETH-A金库部署新参数,包括将清算罚款设置为0%,将Tip参数设置为0,将chip参数设置为0,将清算比率设置为10,000%。一旦这些新的参数被部署到Maker协议,所有抵押率低于10,000%的LINK-A、MATIC-A、YFI-A和UNIV2USDCETH-A的头寸将被清算。[2023/5/21 15:16:42]
我们可以按如下手法炮制一次时间服务器攻击:第一步是通过操纵时间服务器的时间,使之跳转到未来的某个时间,使得被攻击验证者的时间也跳转到未来(比如说 15 到 20 天之后),这个时间必须短于懒惰惩罚致使验证者余额降低至零的时间,否则验证者就不会再签名见证消息了。
Maker将stETH资金库债务上限提高一倍至2亿美元:9月13日消息,Maker将stETH资金库债务上限提高一倍至2亿美元,从而降低USDC的影响力。数据显示,自上限提高以来,价值约4900万美元的stETH流入了资金库。(CoinDesk)[2022/9/14 13:27:47]
然后我们需要诱相关的节点,使之认为它其实是跟链保持同步的,然后它才会签署见证消息。如果攻击者控制了多个对等节点,这一点总是有可能做到的,只需在点对点的网络频道中发送一些来自未来时间的见证消息和区块即可。控制多个节点也是容易实现的,所以这并不是一个不现实的攻击者假设。
ConsenSys创始人:以太坊联盟已对生态系统产生影响;ETH2升级有利于用户和开发者:2017年以太坊联盟承诺将推动以太坊区块链技术作为开放标准的使用,以增强所有企业的能力。在最近的Ethereal 峰会上,以太坊联合创始人、ConsenSys创始人Joseph Lubin表示该联盟已经对生态系统产生了影响,不负众望。“从外部很难注意到这一点。但从内部来看,有大量的高价值活动。联盟的主要任务是找出规格。在它们周围建造什么,这对于使ETH变得如此容易访问是很有价值的。”在ETH2升级中,从PoW到PoS的转变是一个非常必要的步骤。 Lubin表示,最重要的是,这次升级不仅对用户有利,对开发者也有利。他补充道,“对开发人员来说,这就像是操作系统升级,是向更多功能的有机过渡。我们将解决问题并推出新功能。”针对DeFi领域的快速发展,他表示,“所有这一切将导致世界上更精细的治理,我们将能够在不同项目中创建自己的代币。我认为这将是一个赋权的未来,人们和小型组织将有更经济的代理机构。”(AMBCrypto)[2020/5/10]
一旦目标验证者签名了一条以未来 epoch 为目标 epoch 的见证消息,攻击者就可以把这条消息保存下来,然后确定这名验证者在整个网络实际到达那个未来 epoch 之前,都不能再签名任何见证消息了(否则攻击者可以发出这条消息,使之被罚没)。当前所有 Eth2 实现的验证者客户端都有措施防止该验证者签署相互冲突的见证消息,因此该验证者实质上就是离线了。
一名攻击者可以通过一个时间服务器(或类似设施,例如 roughtime)来驱逐所有 TA 能影响到的验证者。这种攻击会比此前使用同样界面所设想的攻击 更为恶劣,因为影响不是暂时的,而是持久得多。虽然我们有可能在几分钟之内就能发现这样的攻击,而且所有专业的节点都能在几个小时内恢复正常时间,但这于事无补,因为损害已经发生了 —— 而且可以导致验证者的惨重损失,例如,可能有很多验证者会因为指数升高的懒惰惩罚而被提出网络。
我们可以在验证者客户端中加入一条不罚没规则:要求他们在签署所有消息前都评估当前的时间,而且不要提前签署未来的消息。这个办法其实只有在验证者客户端与信标链节点没有部署在同一台机器上且没有被攻击波及时才有用。不过,对于密钥分割型验证者来说是一个明确的改进,因为这个规则将不允许领导哦啊这节点提议一条未来的见证消息,可以阻挡验证者的行动。
本文所提出的问题表明,时间服务器的同步措施所包含的攻击界面比我们从前设想的严重得多,必须引起我们的注意。
小幅度的时间偏移虽然恼人,但不会导致严重的问题,所以,仅在时间服务器推送的更新与本地的 RTC 时间相差幅度在一定范围内才使用更新、否则就拒绝更新,似乎是更好的模式。
但这个模式仍会遗留一个攻击界面在启动进程中。因此时有发生的大规模电源中断可能会演变成严重的问题、一次性影响众多验证者。我认为,可以让验证者客户端在启动前先检查罚没保护数据库、如果在几个小时乃至几天内都没有签名过任何消息,就拒绝启动。长时间不签名消息意味着可能发生了时间服务器攻击。可以添加一个强制启动的标签来应对例外情况。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。