近日,安托万·里阿德(Antoine Riard)最近披露的闪电网络漏洞引发了不少争议。很多人声称天塌下来了,闪电从根本上断了,这与事实相差甚远。我认为问题的一部分是,首先,人们并不真正理解这个漏洞是如何工作的,其次,许多人不理解这个单一的漏洞如何与闪电网络上已知解决方案的其他已知问题重叠。
首先,我们仔细研究一下,试着了解漏洞本身。当闪电支付通过网络路由时,需要理解的关键是退款失败支付的时间锁是如何工作的。离接收方最近的一跳的时间锁是“X”,返回给发送方的每一跳都有“x+1”和“x+2”中的一个。当你回到从接收者到发送者的每一跳时,时间锁会逐渐变长。这样做的原因是,如果付款到达接收方,但一些问题阻止了原始图像一路传播回发送方,则停止的跳有时间在链上强制执行它并将原始图像放在那里,并且前一跳需要确认付款。否则,中间有人,在故障发生的地方,可以通过原图让自己的出局跳索要资金,而转发给自己的跳通过自己的退款路径索要资金,让中间的人倒霉,损失资金。
替换循环攻击是一种复杂的方法,目的是尝试并准确地达到意想不到的结果。目标节点通过让传出跳通过成功的交易请求资金而损失金钱,而传入跳通过退款交易请求资金。这就需要让受害节点停下来,不让他们在一边看到交易成功的原图,直到另一边的时间锁过期,这样他们才能在那里要求退款。
这需要一个非常有针对性的复杂游戏来操纵受害者的记忆池。让我们看看这里涉及的实际事务结构。您有一个承诺事务,它是代表lightning通道状态的主要事务。通道的每一端都有一个输出,表示完全由某个成员控制的资金,并在路由过程中为每个HTLC提供一个输出。这些输出是我们所关心的。每个HTLC输出可以在任何时候与来自接收器的原始图像一起立即使用,或者可以在时间锁定到期后退还。
这种攻击要求恶意方或两个共谋者在受害者节点的两侧都有一个通道来路由支付。因此,受害者Bob与攻击者Alice和Carol有一个通道,付款从Carol路由到Bob,然后路由到Alice。现在请记住,Alice和Bob之间的时间锁退款路径将在Carol和Bob之间的退款之前过期并生效。
攻击者通过Bob支付,然后Alice在收到原始图像时会拒绝将原始图像发送给Bob完成支付。Bob现在要做的就是等到自己和Alice之间的时间锁定窗口到期,在时间锁定窗口到期之前去广播频道承诺交易和退款交易,使其得到确认。那么,爱丽丝要做的就是花原图交易获得与渠道无关的输出的资金,然后在原图成功交易中加倍第二次投入。这里的目标是将Bob的超时事务从内存池中驱逐出去,同时将原来成功的事务驱逐出去,让Bob看不到。如果他这样做了,他将知道原始图像,并可以在卡罗尔的加班交易有效之前要求他与卡罗尔的渠道中的资金。
每次Bob和Alice重播他的加班交易时,Alice和Carol必须在一致的基础上执行此操作,直到块高超过Carol加班交易有效的位置。然后,他们可以在爱丽丝端提交成功的交易,在卡罗尔端提交超时的交易,然后让鲍勃承担他正在路由的支付值的损失。
这个问题有两个方面。首先,必须针对受害者的比特币核心节点,保证原镜像的成功交易不会扩散到其闪电节点可以随时获取原镜像的内存池中。其次,如果Alice驱逐原图像的第二个事务被确认,Alice将产生一个成本(记住,这个想法是用原图像替换超时事务,以便将其驱逐出内存池,然后用原图像事务替换原图像事务)。二是双花原图交易中的额外投入)。这意味着每次鲍勃重播他的加班交易,爱丽丝都必须支付更高的费用才能再次驱逐它,当这被确认时,她实际上会产生费用。
因此,鲍勃可以通过定期以更高的成本重播他的加班交易来迫使爱丽丝承担巨大的成本,这意味着如果支付HTLC输出的价值没有明显高于爱丽丝的可能成本,那么这种攻击在经济上是不值得的。通过改变HTLC成功和超时事务的构造方式,也可以完全防止攻击。通过使用SIGHASH_ALL标志,这意味着签名被提交到整个事务中,如果最小的细节(比如向本次攻击所需的原始事务中添加新的输入)发生变化,签名就会失效。这不适用于当前版本的使用锚输出的闪电通道,但它可以完全解决问题。彼得·托德还提出了新的共识函数,可以彻底解决这个问题。本质上是一个反向时间锁,交易会在一定时间或区块高度后失效,而不是事后生效。不过,我觉得没必要走那么远。
简单地定期重播您的交易并稍微增加成本可以大大减轻攻击,但也有许多动态因素使它无论如何都不是一个严重的问题。第一,如果你不是路由节点,那么这不是一个严重的问题。所以大多数终端用户不会受到这种攻击。其次,节点不允许任何随机的人向其开放通道的原因有很多。大节点在对等点的选择上非常严格,因为没有得到有效或专业管理的随机渠道会在未使用的渠道中以下沉或浪费资本的形式产生成本。因此,任何能够成为此次攻击重要目标的大型节点都不是无足轻重的,甚至都需要先连接,更不要说通过多个通道连接到它们上,先完成攻击。最后,正如我过去所写的,网络上可能发生的其他无关攻击已经要求过滤和限制节点选择如何处理它们可以转发的HTLC。也就是说,限制他们将转发的支付规模,在任何给定时间允许的支付金额,等等。所以,即使你能打开一个有值得攻击的节点的通道,随着网络的发展,你也会更多的通过标准和过滤器来思考决定是否先转发付费。
一般来说,这是一个合理的问题,也是一个可能的攻击,但无论是直接的缓解措施,还是攻击如何与其他问题的长期解决方案相互作用,这都不是一个无法解决的问题。这是一个合理的问题。将其视为纯粹的FUD并不是一个准确的回应,但声称天塌下来了,闪电网注定要失败是一个协议,这是远远夸张的。
时间会前进,我们会遇到问题,出现问题我们会解决。就像我们一直以来一样。
温馨提示:注:内容来源均采集于互联网,不要轻信任何,后果自负,本站不承担任何责任。若本站收录的信息无意侵犯了贵司版权,请给我们来信(j7hr0a@163.com),我们会及时处理和回复。
原文地址"闪电网址,闪电网络的优点":http://www.guoyinggangguan.com/qkl/136257.html。
微信扫描二维码关注官方微信
▲长按图片识别二维码