作者:Che Kohler 编译:Cointime Lu Tian
闪电网络(Lightning Network)是一个位于比特币区块链之上的 Layer 2 协议。它允许用户在选择相互连接的对等点之间进行快速、低成本且可扩展的支付,这些支付通过2-of-2多重签名交易来保护比特币。当用户在闪电网络上创建通道时,他们需要决定要承诺多少比特币,并选择在第二层网络中连接该资产的对等点。
闪电网络的工作原理是许多个体在彼此之间创建支付通道。虽然支付给每个对等点看起来并不像是革命性的升级,但闪电网络之所以具有扩展性,是因为它允许通过各种对等点连接来路由支付。
在闪电网络中,公共通道是任何用户都可以利用的支付路径,只要他们愿意支付费用,以便通过该通道将付款发送至目的地。通过允许用户利用闪电网络中的连接进行链下直接支付,费用和确认交易所需的时间大大降低。
路由支付
要在闪电网络上进行支付,用户首先需要与收款人建立支付通道。这可以通过将少量比特币存入通道来完成。一旦通道建立,付款就可以在两个用户之间来回发送,而无需通过比特币区块链。
当用户想要向没有支付通道的人发送付款时,付款将通过中继网络进行路由。这是通过使用一种名为“路由(Routing)”的技术来完成的。路由是寻找通过网络发送付款的最有效路径的过程。
路由支付时,闪电网络钱包需要扫描到达目的地的潜在路由,以确保沿途有足够的流动性来传递支付。如果路径上没有足够的流动性,支付将会失败。
路由节点需要不断地重新平衡其通道或开辟新的通道并提供更多的流动性以保持网络的运行。尽管如此,网络的激励措施并不能始终确保支付永远不会失败。
什么是JIT路由?
JIT路由是Rene Pickhardt提出的一种解决方案,目的是避免在通过不同闪电节点路由支付时,由于通道容量不匹配而导致支付失败的情况。
当用户想要通过闪电网络发送付款时,他们首先需要寻找适当的网络路径。这是通过一种称为“路由”的技术来完成的,其过程是为了寻找通过网络发送付款的最有效路径。
有时,节点在出站通道上可能没有足够的资金来转发传入的HTLC。在这种情况下,节点可以暂停路由过程并尝试重新平衡缺少流动性的通道。这意味着节点将尝试向通道增加更多资金,以便可以转发传入的HTLC。
如果节点无法重新平衡通道,它应该使洋葱路由失败并发送回包含资金不足错误(temporary_channel_failure)的信息。这意味着此时无法发送付款。简而言之,该建议认为,如果节点没有足够的资金来转发传入的HTLC,它应该在支付失败之前尝试向通道添加更多资金。
这将有助于确保即使存在暂时的流动性问题,也能够通过闪电网络发送付款。
JIT路由的优点
- 无需修改任何协议即可实现JIT路由。
- 路由节点可以轻松实现JIT路由,通过实现它,即使对于运行旧实现的节点,它们也将提高路由成功率。
- JIT路由是原子多路径支付(Atomic Mulit-path payment,AMP)的替代方案,但一旦AMP成为协议的一部分,它们可以结合使用。
- 沿途的本地通道余额信息现在可以成为路径查找过程的一部分,同时不会因与他人共享有关通道余额的信息而降低隐私性。
JIT路由的缺点
- 尽管JIT路由可能是可行的,但它在某些情况下对于路由节点来说在经济上可能没有吸引力。理论上,使用这种技术可能会让节点承担更多费用,但由于洋葱路由稍后可能会失败,因此节点无法通过路由费用收益。
- 节点可以实施风险管理策略来减轻这些负费用路由请求的影响。然而,路由过程可能需要较长时间,因为它会启动子路由过程。在进行JIT路由时,为了防止重新平衡操作的敌对递归链,即使在HTLC设置之前也应保留通道的容量。
- 值得注意的是,闪电网络并非适用于所有支付场景的解决方案。闪电网络是一个强大的工具,可以使比特币支付更快、更便宜且具有更高的可扩展性。然而,在通过网络创建支付通道时,存在一些限制。随着闪电网络的不断发展,这些限制可能会得到解决,或者可以转移到其他第二层解决方案。
自行研究
如果您想了解更多关于比特币上JIT路由的信息,请查看以下参考资源:
所有评论