如果您的闪电网络路由节点被永远无法解决的垃圾交易所困扰,会发生什么? 简而言之,这会给路由节点带来很多麻烦。 曾经精明的脚本编写者可以用不费吹灰之力就锁定了曾经是一个光滑的全球支付系统。 在一个由路由节点组成的小组中,我们成功地用实际资金进行了一次攻击测试,并演示了Joost Jager描述的“困扰”攻击。 该攻击称为悲伤攻击,因为它不是盗窃资金,但会导致受害者的闪电资金被冻结:这是一次重大打击。 我们发现,悲伤对大型“巨大”渠道构成了严重威胁,这些渠道希望从其比特币中获得收益,只是将其资金冻结了一段时间。 这主要是一次悲伤的袭击:没有资金损失,但受害人可能被迫支付昂贵的通道费用。 这是Mainnet Lightning上的一个已知漏洞,需要了解它并确定优先级,尤其是在比特币Lightning Network的早期市场阶段。 感谢Clark Burkhardt和Phillip Sheppard愿意参加此测试,并感谢Jager所做的不懈努力,以引起人们对这个漏洞的关注和优先考虑。 贾格(Jager)在我们的示威活动中扮演了攻击者的角色,而伯克哈特(Burkhardt)和谢泼德(Sheppard)和我一起加入了受害路由节点。 攻击如何进行 攻击者使用一个未解决为最终付款的哈希时间锁定合同(HTLC)饱和了一个(或多个)信道。 这些是HTLC的特殊种类,称为HODL发票。 这些未解析的HTLC中只有483个需要按每个方向压倒信道。 一旦这些HTLC进入通道,使用该相同通道方向的任何交易都是不可能的,包括合作关闭该通道的交易。 从理论上讲,攻击者可以与受害者联系(也许通过键盘消息或“洋葱团”),并要求支付赎金以停止攻击。 支付赎金后,攻击者可以清除未解决的款项,从而结束攻击。 攻击可以无限期持续,从而停止该通道中的所有路由和支付活动。 这冻结了闪电渠道中的资金。 通过在每个方向(入站和出站)使用483个HTLC,可以在一个通道中停止两个付款方向。 我对到Burkhardt的平衡频道的Thunderhub视图受到了攻击。 该频道显示为“未激活”,就像Burkhardt处于脱机状态一样,但他不是。 蓝色的数量是饱和状态下的本地余额,绿色的数量是Burkhardt拥有的饱和状态下的远程余额。 资料来源:Thunderhub。 为什么攻击者会做这样的事情? 我想到的第一个动机是要求赎金。 这种攻击会给受害者带来痛苦,即使无法保证攻击会停止,支付赎金对受害者也可能很有吸引力。 与受害者联系可能对攻击者有风险,但是赎金付款可能不是某人这样做的唯一原因。 发动悲伤攻击的第二个诱因是破坏路由竞争。 阻塞竞争对手的路线可能会增加对攻击者拥有的路线的需求。 作为基准,请考虑Lightning Labs的Loop节点对流动性的需求持续不断,有时它会支付每百万分之2500的付款(ppm)(0.25%)费率。 以我的经验,他们通常会在大约两周内耗尽1600万萨特的流动性(年增长率为5.2%),但这存在竞争。 如果攻击者可以以较低的费率禁用任何竞争路线,则Loop可能愿意支付较高的费率(因为现在减少了流动性供应)。 假设Loop将支付3,000 ppm(0.3%),并且由于没有其他渠道在起作用,因此可以更快地使用这种流动性。 Loop可能会在一半时间(例如一周)内使用该流动性。 在此示例中,攻击者的正常收益率将翻倍,达到15.6%。 攻击者的唯一成本是在现有频道上运行脚本的成本,以及对闪电网络进行不道德/破坏性行为的心理成本。 使用单个攻击者通道,恶意行为者可能阻塞大约9个通道(有关此信息,请参阅Jager的推文)。 这次攻击的受害者会经历什么? 除非他们为未决的HTLC设置了一些特殊警报,否则此攻击的受害者不会真正知道此攻击是否正在发生。 对于Thunderhub用户(强烈推荐的工具),主屏幕将显示挂起的HTLC图表以及警告,指出通道只能容纳483个挂起的HTLC。 资料来源:Thunderhub 在实践中,我的节点很快变得不可靠,并经历了几次应用程序崩溃,其中包括Thunderhub,后者是唯一通知我该问题的应用程序。 然后,多亏了我的“ Satoshis平衡” Telegram机器人,我收到了频道关闭通知。 受到攻击的通道自行关闭! 那不应该是实验的一部分。 (有关非强制关闭的更多技术信息,请参阅下面的其他强制关闭数据。) 由于攻击,与Burkhardt(salmiak)一起使用该频道进行的测试付款失败。 此警告报告Burkhardt的节点处于脱机状态,尽管它处于联机状态。 资料来源:Thunderhub。 受害者可以采取什么措施来停止悲伤的袭击? 一旦攻击开始,受害者基本上无法采取任何行动来阻止它。 阻止正在进行的攻击的唯一替代方法是强制关闭被攻击的通道,这意味着恐怖分子会获胜。 为了增加侮辱性伤害,强制关闭渠道会将未解决的付款推送到链上交易数据,从而触发强制关闭发起者的二级链上交易。 以50个sat / vbyte和483个链上交易计算,这很容易以100万个sat的价格标签来强制关闭一个受到攻击的频道(按今天的价格收取368美元的频道关闭费)。 仅当输出超出最低付款“灰尘”限制时,才会发生多个链上交易。 (请参见测试网上的示例。)
如何防止悲伤攻击 Jager一直在进行概念验证计划,以帮助隔离和打击攻击者。 他称自己的程序为“断路器”。 断路器在网络级别工作,不幸的是,这意味着每个人都必须参与才能使之有效。 除此之外,此问题还需要确定优先级并得到专门工程师/开发人员的关注,以找到更好的解决方案。 在Bitcoin Optech时事通讯(第122号或第126号)中,也有关于修改协议的良好讨论。 今天可以执行此攻击。 尚未被恶意使用的奇迹。 这反映了当今使用闪电的人们的积极性,因此它可以成为一个开放的,通用的支付网络。 请分享您认为合适的这篇文章,以鼓励和激发更多的工作来解决此问题,以免造成实际伤害。 有关非自愿关闭部队的其他技术信息 这是发生上述非强制关闭时来自运行LND 0.11的节点的日志:
日志显示“ invalid_commit_sig”,这是LND中的已知问题。 据推测,这可能在重新连接时发生,而不是通道阻塞的直接结果。 不幸的是,待处理的HTLC的数量使它更有可能发生。 杰格(Jager)帮助解释了以下过程:渠道阻塞–>无限付款循环(bug)–>节点关闭–>重新连接–>无效提交信号(bug)–>渠道强制关闭。 “无尽”循环错误是一个已知错误,当??达到HTLC限制并发送附加HTLC时发生。 LND将继续尝试循环付款,而不是结束付款失败。 要解决此错误,请参阅LND问题#4656。 这是Jestopher的来宾帖子。 所表达的观点完全是他们自己的观点,并不一定反映BTC Inc或Bitcoin Magazine的观点。 —- 原文链接:https://bitcoinmagazine.com/articles/good-griefing-a-lingering-vulnerability-on-lightning-network-that-still-needs-fixing?utm_source=rss&utm_medium=rss&utm_campaign=good-griefing-a-lingering-vulnerability-on-lightning-network-that-still-nee 原文作者:Jestopher 编译者/作者:wanbizu AI 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
闪电网络的悲伤攻击–比特币杂志
2021-01-19 wanbizu AI 来源:区块链网络
- 上一篇:交易所遭受黑客攻击并终止活动
- 下一篇:三菱开发区块链出售剩余电力
LOADING...
相关阅读:
- Yearn.Finance在V2保险柜预告片中飙升10%:价格分析2021-01-19
- 区块链KYC平台Blockpass与Matic集成?CryptoNinjas.net2021-01-19
- 缺乏强有力的链上购买信号会继续降低风险,比特币的下一步打算是什2021-01-18
- 数据解读:10组图告诉你波卡还能涨多久2021-01-18
- 还原真相|Filecoin链上中断究竟惊到了谁?2021-01-18