最新|闪电网络最新漏洞分析仅需攻击85个节点便可窃取闪电节点通道资金


最新|闪电网络最新漏洞分析仅需攻击85个节点便可窃取闪电节点通道资金
文章插图
免责声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表火星财经官方立场。
小编:记得关注哦
来源:巴比特
原文标题:闪电网络最新漏洞分析:仅需攻击85个节点便可窃取闪电节点通道资金
众所周知,闪电网络支付通道网络容易受到区块链拥塞的影响,如果网络受到攻击,参与者可能无法及时提取资金。在我们的最新论文中,我们评估了一种这样的攻击:对闪电网络的系统攻击,它可以窃取锁定在支付通道中的资金。
在此攻击中,攻击者立即迫使许多受害者涌向区块链,索要其资金。然后,攻击者可以利用他们造成的拥塞来窃取在截止日期之前未领取的所有资金。
攻击的后果取决于攻击者选择攻击的闪电网络实现。我们证明,攻击者只需要同时攻击85个通道就足以窃取通道内的资金(这是假设没有其他区块链交易争夺区块空间的情况下,这是一个非常乐观的假设)。
除了从总体上了解这种攻击及其后果外,在这篇文章中,我们还提出了几种缓解这种攻击的技术。
注意:攻击可能会使无辜用户的资金被盗。不要在家尝试这种攻击。不幸的是,目前还有任何协议更改可以将其完全消除。本文的研究结果已在发布前与三个主要闪电网络客户端实施的开发人员共享。
最新|闪电网络最新漏洞分析仅需攻击85个节点便可窃取闪电节点通道资金
文章插图
该攻击利用了跨多个闪电通道转发付款的机制——哈希时间锁定合同(HTLC)。简而言之,HTLC允许参与者通过无信任的中间节点来路由付款,以确保他们中的任何一个都不会窃取资金。如果这样的节点试图窃取资金,则其对等方可以通过将交易发布到区块链来索取资金,但只能在有限的时间内进行。正如我们在工作中所显示的,相对容易使无辜的闪电节点涌入区块链,并利用此时间限制来窃取资金。
HTLC背后的关键思想是,在建立HTLC之后,通过提供一个秘密(secret)(一种哈希原像),付款被通过目标节点从路径中的上一个节点“扯出”。攻击者将在他自己的两个节点之间路由付款,并在路径的末尾提取付款。当付款最终要被从源节点提取时,他将拒绝合作——迫使受害者通过区块链交易进行索要。
最新|闪电网络最新漏洞分析仅需攻击85个节点便可窃取闪电节点通道资金
文章插图
这个拓扑示例显示了攻击者的节点以及他与受害者共享的通道
该攻击分为四个主要阶段:
攻击者控制两个闪电节点,分别代表源节点和目标节点。源节点打开了许多潜在受害者的通道,可能每个受害者都有多个通道。这些通道是由攻击者的源节点发起和提供资金的(目标节点可以远离受害者,但在下面的图中,我们简化了过程,并仅显示了一条很短的简单路径)。
最新|闪电网络最新漏洞分析仅需攻击85个节点便可窃取闪电节点通道资金
文章插图
阶段1:建立通道
设置完所有通道后,源节点将开始向目的地节点进行许多HTLC付款,并通过每个源节点的通道进行路由。源节点发送允许中继的最大金额,并将其分配到尽可能多的付款中(受害人允许的数量)。
作为HTLC机制的一部分,目标节点应该通过发回一组HTLC秘密(secret)来接受付款。这个攻击将避免这样做,直到源节点完成转发所有付款为止。
最新|闪电网络最新漏洞分析仅需攻击85个节点便可窃取闪电节点通道资金
文章插图
阶段2:使用HTLC付款加载通道
在成功完成所有付款的发送并将HTLC添加到目标节点的通道后,目标节点将通过返回所需的secret来解析所有付款,并为自己索取这些资金。此时,目标节点可以正常关闭其通道,并保留源节点发送的资金。一旦每个受害者获取了这些secret,他就会将其发送回源节点,要求解析HTLC,并将其数量移至通道的受害者一侧。源节点拒绝解析付款,并忽略来自其受害者的任何进一步消息。
最新|闪电网络最新漏洞分析仅需攻击85个节点便可窃取闪电节点通道资金
文章插图
阶段3:在最后一跳解析付款
在这个时候,每个受攻击的通道都充满了尚未解析的HTLC,受害者知道它们的secret。由于攻击者的源节点不合作,因此受害者可以获取这些付款的唯一方法是关闭其通道并在区块链上声明HTLC。受害者有有限的时间(以区块为单位)来要求付款(如果节点不知道这些secret,则有时间限制,在这种情况下,资金应由源节点要求)。