在闪电网络中,由于其构建基础是支付通道,因此网络流动性的管理变得尤为复杂。为了提升网络流动性,研究者们提出了多种策略,例如蹦床路由——通过将路由任务委托给蹦床节点,以减轻支付过程中的数据与计算负担——以及原子多路径支付(AmPs)。
• 拥塞攻击使得闪电网络的恶意用户能够以极低的成本锁定大量资金。
瓶中闪电网络解决了比特币在处理大量交易方面的难题,其交易过程即时且无需信任,但缺乏底层结算保障。将交易移至链下虽然提高了速度和降低了费用,但由于网络结构的特殊性,流动性管理变得更加挑战性。
闪电网络允许用户将链上资金锁定在支付通道中,双方可以在不向底层链提交支付的情况下自由交易。每个用户可以发送的最大交易净额等于其在通道中锁定的初始金额。
用户可以通过由多个通道构成的路径进行支付,从而向那些没有直接开放支付通道的接收方付款。支付方指定支付路径,并向中间渠道的运营商支付小额费用。交易通过洋葱路由进行,以防止中间节点知晓支付双方的身份。
间接支付需要支付方和接收方之间存在一条间接路径,通常需要双方具备良好的网络连接。用于选择支付路径的算法并非由闪电网络协议指定,协议的作者认为这属于实施层面的细节问题。
通过将交易转移到链下,闪电网络在不损害底层区块链可验证性的情况下实现了比特币网络的扩容。与所有新技术一样,闪电网络也存在诸多问题,其中许多问题,如当前0.16 btC的通道容量限制,最终有望得到解决。
然而,一些问题是闪电网络架构固有的。这些问题部分源于闪电网络特有的双方支付渠道。尽管底层的未花费交易输出(UTXO)可用于任何交易,但用户在一个通道中的余额不能直接发送到另一个通道的接收方。
因此,确保闪电网络上的流动性是比特币底层未曾面临过的挑战。用户需小心不要耗尽支付通道内锁定的资金,并确保其节点通过具有足够大容量的通道与整个网络相连。
为了确保链外支付得以进行,用户可以采用一系列通道再平衡技术。这些技术允许通过闪电网络通道重新分配资金,并从链上余额中引入新资金。
为了增加闪电网络上的资金量,资金必须从比特币底层转入,这可以通过开启新通道或使用拼接(Splicing)技术实现,后者允许用户关闭并重新打开通道,从而增加通道余额。这两种方法都需要执行链上交易。
原子级交换是一种要么完全执行要么完全中止的加密货币交易。比特币中最常见的原子交换技术是通过哈希时间锁定合约(HTLC)实现的。用户可以通过执行深陷式交换(Submarine Swaps)来增加通道余额,这是一种在底层持有的比特币与保存在闪电网络通道上的比特币之间的原子交换。使用此技术,锁定在闪电网络中的资金总量保持不变,但用户的总余额会增加。
闪电网络用户还可以通过循环支付来实现通道再平衡,即用户从一个通道发送资金,然后通过循环路径在另一个通道接收。这样,用户可以增加接收通道的余额,同时减少发送通道的余额,以较低的费用维持净余额总量不变。
用户还可以通过鼓励其他网络参与者使用不平衡的通道进行交易,被动地实现通道再平衡。为此,可以通过提供低费用甚至负费用(即支付激励)来引导支付通过不平衡渠道,这种方法对“即时性”的敏感度较低,在网络连接良好时更为有效。
为了降低通道再平衡的频率,并提高网络在通道容量低的情况下的流动性,人们提出了几种技术。ACINQ 团队提出的蹦床路由,在保持当前路由模式的同时,减少了用户所需的内存和计算量。在蹦床路由中,用户将交易和预期接收方发送到连接良好的蹦床节点,并要求这些节点代表他们计算支付路径。由于这些节点连接状况良好,因此用户需要维护的通道较少,从而提高了流动性。这种模式虽然鼓励了一定程度的中心化,但用户可能需要支付比其他模式更高的路由费用,以换取计算量的减少。
为了解决单个蹦床节点路由支付可能损害用户隐私的问题,协议允许用户指定多个蹦床节点,这样中间节点就负责按照发送方的要求查找通往下一个接收方的路径,而蹦床节点则无法确定下一个接收方是最终接收方还是另一个中间节点。
原子多路径支付(AMP)是另一个解决方案,它支持用户将支付进行原子拆分,并通过多个路径发送,从而允许用户通过非流动性通道发送更大的交易。除了解决流动性问题外,这种技术还有助于保护用户隐私,因为中间节点更难确定他们路由的支付金额。实现AMP需要更新闪电网络规范,但只有支付的发送方和接收方需要启用此更新。
为了减少通道再平衡的频率,还提出了其他几种交易路由技术。一篇学术论文建议使用Spider技术,该技术受数据包交换协议启发,支持多路径支付,但不像AMP那样支持交易原子化。Spider协议引入了交易批处理,提高了吞吐量,但代价是增加了延迟。及时(JIT)路由协议则提出,中间节点在为另一个节点进行路由支付时,会自行执行循环支付以重新平衡其通道。这样中间节点就可以根据动态需求调整其流动性,而不需要预测需要提前使用哪些渠道。JIT路由不需要更新闪电网络规范,但需要网络中的大多数节点采用该路由,因此比目前的其他协议具有显著优势。
闪电网络协议中存在的一些漏洞可能会降低流动性,或与提升流动性的目标相悖。
闪电网络对支付通道的依赖使其容易受到拥塞攻击,攻击者可以以极低的成本锁定大量资金。为了降低攻击的有效性,研究人员建议减少支付时可以使用的最大跃点数量,并采用其他哈希时间锁定合约解析机制来代替当前使用的机制。
研究人员还讨论了实施避免循环的策略,即当一个节点在支付路径上多次出现时,路由节点将拒绝为该支付提供路由服务。这种措施将阻止诚实的用户执行循环支付,限制他们使用该技术进行再平衡,并限制了及时路由的实施。
只包含少量中间节点的闪电支付可能容易受到这些节点的流量分析攻击。在此类攻击中,中间节点从交易参与者的支付模式中学习可能的解匿名信息。用户可以通过选择更长的支付路径来克服这一弱点,但这会导致费用和复杂性的略微增加。
流量分析攻击在大部分流量通过少量节点的情况下尤其有效。因此,蹦床路由等技术以增加中心化为代价提高流动性,可能会加剧此类攻击的严重性。
定向拥塞攻击可能由那些希望通过流量分析攻击获取闪电网络用户身份的对手发起。攻击者可以通过拥塞攻击降低替代路径的通道容量,迫使用户将流量交给攻击者的节点,最终使他们能够更有效地对交易进行监视。
标签: 数字货币