首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

研究人员发现比特币“攻击”可能会减缓或阻止闪电支付

根据最近的一篇研究论文,比特币闪电网络可能容易受到简单的破坏性攻击。

本文由Saar Tochner、Aviv Zohar和Stefan Schmid撰写,描述了一种拒绝服务(DoS)攻击,可用于减缓甚至停止网络上的大部分支付,尽管这种行为在野外还没有出现,而且Lightning的技术仍在进行中,它被认为是当今网络的一个主要缺陷。这篇题为《支付网络中的劫持路线》的论文发表于9月中旬。

托什纳和佐哈尔都来自耶路撒冷希伯来大学,而施密德在维也纳大学工作。

佐哈尔说:“这次攻击使得闪电网络的支付中断。

这是可能的,因为每个闪电网络支付都是通过一个节点网络来达到目的地的。如果这些中间节点中有一个是坏的参与者,它可以降低支付速度,而不是像预期的那样快速地传递支付。

更重要的是,据Zohar说,目前执行拒绝服务攻击并不需要太多时间。

“执行起来非常容易。需要开通几个关键点的闪电通道,承诺零收费,然后不转寄任何付款。”

这是一次研究人员在野外从未见过的攻击,但它可能会使闪电支付网络更难使用。这一发现已经引起了从事比特币和闪电技术开发的开发者的注意。

比特币研究人员GlebNaumenko告诉Coindesk:“我真希望我能想到这次攻击。”

闪电启动公司acinq-cto fabrice drouin说:“这篇论文非常有趣,对用于路径查找的不同启发式方法的分析也非常有趣,我们很高兴看到独立研究人员致力于研究闪电如何被滥用和攻击。”

“放大”拒绝服务

当用户通过Lightning发送支付时,他们的应用程序会根据许多因素来决定选择哪条路径,包括哪一个节点需要最低的费用。

尽管闪电网络中有数百个节点,但坏的参与者可以使用此攻击来确保他们的节点被选中的可能性很高。Drouin说,他们可以通过“分析每个实现如何计算路由来设计一种策略,使攻击者能够在尽可能多的路由中选择他们的节点”。

Zohar进一步解释说:“我们可以开通在网络中提供短而低成本路由的频道,然后(几乎总是)为该路由选择这些频道。”

通过这样做,他们可以在给定的时间捕获网络支付的很大一部分。“我们发现,只要5个新的链接,就足以吸引大多数(65%-75%)的流量,而不考虑正在使用的实现,”该报解释说。

更重要的是,他们可以一次又一次地这样做,以确保付款继续停止。

“那么,当一个付款请求出现时,我们就可以拒绝它继续下去。当选择了一个新路径[…]时,攻击者通道将再次被选为该路径。

尽管攻击听起来很糟糕,但它还没有在野外出现过。

“我认为网络现在还没有被大量使用,破坏网络不会造成太大破坏。攻击不会直接向攻击者提供资金,因此只有在大量使用Lightning作为支付网络的情况下,才会有激励作用,”Zohar说。

应该注意的是,对于攻击者来说,这样的伎俩“并不便宜”,杜林认为,因为“攻击者需要打开实际渠道并锁定资金,一旦支付被锁定并超时,资金将被关闭并支付连锁费用。”

尽管如此,Zohar认为“考虑到你所造成的损失,成本并没有那么高,”他补充道:“你需要大约20个左右的新渠道来攻击大约80%的交易,因此总成本将在2000美元左右。”

阻止攻击

闪电开发人员同意这是一个严重的攻击向量,但他们乐观地认为,未来的变化将使攻击更加困难。

闪电实验室(Lightning Labs)的基础设施负责人亚历克斯·博斯沃思(Alex Bosworth)说:“这是一个很难谈论的问题,因为我们仍在开发LND的探路系统,而且它是一个移动目标。”

LND是由Lightning实验室制作的Lightning网络的实现。博斯沃思进一步指出,变化来得很快,例如,周二刚刚发布的新版LND就有一些“重大变化”,这些变化影响了研究人员分析出的提出这一攻击的路由。

他说:“我不会说有任何方法可以最终阻止那些试图中断支付的人,因为这是一个点对点设计意味着任何人都可以按照自己的喜好参与和路由或不路由的系统。”

“蹦床”付款

闪电代码的变化非常迅速,还有很多修改仍在酝酿中。

闪电开发人员认为,其中一些变化可能会使坏角色更难执行攻击,包括禁止“坏”用户的系统。

杜林说:“而且,随着网络的发展,闪电网络的实现将部署更具攻击性的启发式方法来禁止行为不端的对等方……而且这种攻击将变得更加短暂。”

他说:“例如,我们在计算路由时不只是看最便宜的费用,而是尝试选择较旧的通道,因此攻击者必须等待并采取行动,然后才能实施攻击。”

杜洛因进一步辩称,未来还有其他改进措施,包括蹦床支付,这是由Blockstream Lightning开发商Christian Decker提出的一项功能,他因在2015年独立发明了类似Lightning的支付通道网络而闻名。

闪电应该是即时的,但在幕后,网络中从A点到B点的每个节点在传输数据时都需要做一些计算。事实上,并非所有的闪电用户都有足够强大的设备来执行这些计算,因此需要“蹦床”系统。

例如,当今网络中的典型用户可能会通过智能手机发送比特币支付,而智能手机并不是一台功能强大的机器。因此,一个想法是允许这些较小的节点将计算外包给具有更多计算能力的“蹦床”节点。(本文素材来源于网络,如有侵权,请联系作者删除!)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191022A065L700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券