来源:LayerTwo Labs
核心开发者Antoine Riard退出闪电网络,宣称闪电网络代码中成心存在后门,使进犯者能够彻底操控网络,称其存在巨大安全风险须比特币底层改动来fix。
比特币扩容计划闪电网络近来被爆出”巨大的安全问题”,开发者 Antoine Riard 宣告退出。
24 小时内 闪电网络“丢失状况”
闪电网络被曝巨大安全漏洞
据 Cointelegraph 报导:Bitcoin core developer steps back from Lightning Network over ‘hard dilemma’[1],比特币安全研究人员和比特币开发者 Antoine Riard 因安全问题和比特币生态系统面临的底子挑战而退出闪电网络的开发,他认为比特币社区面临着「困难窘境」,由于一类新的代替循环进犯将闪电网络置于「风险的地步」。
代替循环进犯是一种新式进犯,进犯者能够运用各个内存池之间的不一致来盗取付出通道参加者的资金,他指出处理新式进犯或许需求对底层比特币网络进行更改,「这些类型的改动需求整个社区的最大透明度和认同,由于咱们正在改动全节点处理要求或去中心化比特币生态系统的安全架构」。
一份 Antoine Riard 的邮件截图[2]也被曝光,截图显示,Riard 在邮件中称比特币闪电网络存在巨大的安全风险,他宣称代码中成心存在后门,使进犯者能够彻底操控网络,这促进他宣告退出该项目。
Riard 的邮件内容如下:
在写完关于接连歹意替换诚笃 HTLC-Timeout的经济学的邮件回复后,我的确又编写了一个测试来验证核心内存池上的行为,而它如我意料的那样发生了。
https://github.com/ariard/bitcoin/commit/30f5d5b270e4ff195e8dcb9ef6b7ddcc5f6
负责任的披露流程遵循了影响操作系统的硬件问题(如 Linux 内核所述),一起适应了比特币生态系统:https://docs.kernel.org/6.1/process/embargoed-hardware-issues.html
从现在起,我将停止参加闪电网络的开发及其实现,包括和谐协议级别安全问题的处理(我通知了一些高级闪电开发人员)。
封闭了在存储库上影响我很长时刻的问题:https://github.com/lightning/bolts/pul1/772
我认为这种新的替换循环进犯将闪电网络置于非常风险的位置,其间只有在基础层才干进行可继续的修正
,例如添加所有可见买卖的内存密集型历史记录或某些共识升级。
面临简略的进犯,布置的缓解措施是有价值的,虽然我不认为它们能够阻挠高级进犯者,正如榜首封完好披露邮件中所述。这些类型的改动需求最大程度的透明度和整个社区的支持
,由于咱们正在改动全节点
处理要求或去中心化比特币生态系统的完好性安全架构。
另一方面,要充分解说为什么为了闪电网络和良好的规划而需求进行此类更改,咱们或许需求对约 5355 个公共 BTC 生态系统进行完好的实践和要害进犯。困难的窘境。在比特币协议布置方面或许有一个教训,咱们或许必须在榜首次尝试时就把它们做好。在飞翔中修正它们的第二次机会很少。
我将在 10 月 30 日那周之前对公共邮件列表上的这些问题保持沉默,我现已发布了足够的材料,并且有其他专家可用。我将从头更多地重视Bitcoin Core。”
开发者详解进犯方式
另一位开发者 @mononautical[3] 详细解说了这个进犯的原理,并表明这种进犯要发起不简单,但要处理他也非常的困难。 正确的修正或许需求更底子的改动,从头规划 HTLC 协议,或许更改中继战略以传达替换的业务,或许让矿工保存最近替换的买卖的缓存,又或许在新操作码中进行软分叉。
@mononautical 对进犯的解说原文(https://twitter.com/mononautical/status/1715736832950825224):
闪电代替循环进犯怎么运作?邮件列表上有很多关于这个新发现的漏洞的评论,但实践机制有点难以理解。所以这里有一个图解入门...
假定Bob正在将一笔闪电付款从Alice路由到Carlo。在飞翔过程中,付款遭到 HTLC 输出的保护,HTLC 输出是他与每个同行预先签署的通道许诺中的。
HTLC(哈希/时刻确定合约)是发送者到接纳者的有条件付款。接纳方能够经过向哈希 H 揭示原像来当即运用它,或许在超时后由发送方回收。
经过运用相同的哈希锁保护每一跳上的 HTLC,能够自动路由付出。Carol 无法在不泄露原像的状况下领取传出的 HTLC,然后 Bob 能够运用原像兑换来自 Alice 的传入 HTLC。至少理论上是这样的……
为了保证 Bob 在出现问题时有时刻做出反响,传出 HTLC 上的时刻锁首先在某个区块高度 T 到期。然后传入 HTLC 上的时刻锁在稍后的某个高度 T+Δ 到期,之后Alice就能够回收她的钱了。
好的,进犯如下:记住 Bob 在两个通道中都有待处理的 HTLC。一份发给 Carol 的传出 HTLC,在区块 T 到期,一份来自 Alice 的传入 HTLC,在区块 T+Δ 到期。
在 T 区块,Carol 仍未泄漏用于结算付款的原像,因而 Bob 被迫在链上超时。他播送许诺 tx 来封闭他与 Carol 的频道,一旦确认,就会发送一个“HTLC-Timeout”tx,花费 HTLC 来回收他的资金。
Bob 不知道的是,Alice 和 Carlo 正在串谋偷他的钱。他们经过以低费用播送两笔买卖的链来准备进犯,这显然与闪电通道无关,咱们将其称为“循环父项”和“循环子项”。
一旦进犯者看到 Bob 的 HTLC-Timeout 买卖命中内存池,他们就会播送一个“HTLC-preimage”买卖,该买卖既花费 HTLC 输出(运用 Carol 的哈希原像),又花费来自循环父节点的输出。
由于此 HTLC-preimage 买卖付出更高的费用并花费相同的输入,因而它替代了内存池中的循环子项和 Bob 的 HTLC-Timeout 买卖。
假如 Bob 看到这一点,他能够获取原像并运用它当即兑换来自 Alice 的传入 HTLC。因而,进犯者播送一个新买卖来替换循环父代。HTLC 原像依赖于其输入之一,因而也被从内存池中逐出。
在此周期结束时,Bob 与 Carol 的通道中的 HTLC 最终未运用,并且内存池中没有 HTLC-Timeout 和 HTLC-preimage 买卖的痕迹。
进犯者每次重播 Bob 的 HTLC-Timeout 买卖时都会重复这个循环。假如他们阻挠它被开采出另一个 Δ 块,Alice 能够使另一个通道上的 HTLC-Timeout,并让 Bob 丢失悉数付出金额。
这次进犯并不简单。实现这一方针需求:
-
与受害者打开两个途径。
-
经过他们进行付款。
-
成功替换循环受害者的 HTLC-Timeout Δ 块。
-
受害者没有发现 HTLC 原像买卖。
但这也很难彻底处理。更积极地添加时刻锁增量或从头播送 HTLC-Timeout会使进犯更加困难且成本更高,但仍然不是不或许。
Bob 能够自动监控他的本地内存池,以便在 HTLC-Timeout 被替换之前发现它。但聪明的进犯者能够有选择地播送替换内容,以便矿工收到它们,而 Bob 却没有收到。
或许Bob能够经过运用连接到网络其他部分的瞭望塔来监督循环的 HTLC-Timeout 并向他转发任何相关的原像,然后进步他的机会。
正确的修正或许需求更底子的改动。咱们能够从头规划 HTLC 协议,以避免向 HTLC 原像添加额定的输入(因而它们无法被替换)。或许更改中继战略以传达替换的业务(因而原像一直到达 Bob)。
或许让矿工保存最近替换的买卖的缓存,这些买卖稍后或许能够从头进入内存池(这样Bob就不需求从头播送他的 HTLC-Timeout)。这能够内置到比特币核心中,或作为外部服务运行。
或许在新操作码中进行软分叉,其效果与 check-locktime-verify 相反(因而咱们能够在时刻锁到期后当即便 HTLC-preimage 花费路径无效)。
此进犯仅适用于直接对等点,并导致该通道封闭。假如您不路由付款,您的节点便是安全的。否则,您能够经过下降与您真正不信任的同行的频道的最大飞翔 HTLC 值来限制最坏的状况。
社区动态
慢雾创始人余弦也发推表明了相同的观点: 闪电网络的替换循环进犯有些类似 MEV 里的三明治进犯,前后夹攻套出被夹方针的资金。
这一进犯不简单运用,需求满意:在受害者身上打开两个通道;经过这两个通道中的其间一个路由付款;成功替换循环受害者的 HTLC-Timeout blocks;受害者不会发现 HTLC 预映像买卖。这个风险在被修正之前,运用闪电网络的项目方在对接上下流树立通道前能够警惕下,最好和有诺言的树立,下降被夹风险,具体还需求测试和验证。
在事件被曝光之后,一些针对闪电网络的批评也再次被提起。
@Justtherip:https://twitter.com/justtherip/status/1715727312295989249
@DavidShares:https://twitter.com/DavidShares/status/1716103036399935762
Paul 怎么看?"HTLC 已死、闪电网络或许幸存、LN on Drivechain 是闪电网络出路之一"
**Layer 2 Labs 创始人Paul Sztorc[4] 提出了他设想的处理计划[5]**:
这需求:
-
软分叉操作码
-
HTLC 进一步增加,至少 5 个字节,或许更多;然后使他们对 L1 费用更加敏感
经过侧链,能够规划一个新的特别 txn,它能够节约所有这些字节,而基于Drivechain 的闪电网络(LN on DC)会更好。”
参考资料
[1]据 Cointelegraph 报导:Bitcoin core developer steps back from Lightning Network over ‘hard dilemma’: https://cointelegraph.com/news/bitcoin-core-developer-antoine-riard-steps-back-lightning-network-dilemma
[2]Antoine Riard 的邮件截图: https://lists.linuxfoundation.org/pipermail/lightning-dev/2023-October/004154.html
[3]@mononautical: https://twitter.com/mononautical
[4]Paul Sztorc: https://twitter.com/Truthcoin
[5]他设想的处理计划: https://twitter.com/Truthcoin/status/1716110498867859760
此时快讯
【分析:以太坊第二层生态项目变得更加异构并将持续下去】金色财经报道,据vitalik.eth.limo上最新文章《Different types of layer 2s》,文章称以太坊第二层生态系统在过去一年中一直在迅速扩张,传统上以StarkNet、Arbitrum、Optimism和Scroll为特色的ZK-EVM rollup生态系统发展迅速,在提高安全性方面取得了长足进步,其中一个不可避免的结果是,第二层项目变得更加异构的趋势。预计这一趋势将持续下去,原因如下:
1.一些目前独立于 Layer 1 的项目正在寻求更接近以太坊生态系统,并可能成为 Layer 2。 这些项目可能需要逐步过渡。 现在一次性全部转换会导致可用性下降,因为该技术尚未准备好将所有内容汇总起来。
2.一些中心化项目希望为用户提供更多安全保证,并正在探索基于区块链的途径来实现这一目标。 在很多情况下,这些项目在以前的时代都会探索“许可联盟链”。
3.非金融应用程序(例如游戏或社交媒体)希望实现去中心化,但只需要中等程度的安全性。