JIT 通道:闪电网络的未来?
将比特币推广给下一个 10 亿人并非易事,但随着成长的痛苦,我们也能学到教训。对于许多价值转移场景,比如小额电子支付、打赏以及向结算层的更高层级流式支付,链上交易因其经济代价和交易确认时间而显得不实用。
闪电网络作为二层解决方案,正在不断成熟,每天路由几百万笔交易,减少了上链确认交易的需求,但其管理依赖于单体节点的维护。
虽然闪电网络可以运作,但它要求每个用户都管理自己的支付系统——运行节点、建立通道、保证资本量以及不断再平衡通道。这对普通用户来说过于复杂,这也是许多闪电网络用户选择使用托管钱包或与闪电网络服务商合作保管闪电资金的原因。
闪电网络用户体验的一个痛点是启动成本。在迁移到二层时,你需要一个全节点来广播发送到链上的交易、建立一条通道,还需要在收款之前先获得收款额度。这与比特币的体验截然不同:从你上手使用比特币钱包开始,你就可以随时接收任意大小的付款。
为了免去用户的辛劳,异步支付和 JIT 通道等技术应运而生。这些方法旨在彻底改变用户进入闪电网络以及在其中交互的体验。
什么是 “JIT 通道”?
“Just-In-Time(JIT)” 来自投资管理领域,指的是在闪电支付到达时才创建通道。JIT 通道最初是一条虚拟的支付通道。一旦收到一笔支付,通道的一方(闪电网络服务商)就会广播一笔链上交易,将该通道锚定到链上,使之成为一条常规通道。
简单来说,JIT 通道是一种由 LSP 在接收到来自公开网络的支付时响应式开启的通道,允许没有闪电通道的客户立即开始接收闪电支付,而他们获得入账流动性(收款额度)的成本会从第一笔支付的支付额中扣除。
这种技术与传统方法有很大区别。传统模式下,用户必须提前自己开设通道,并准备好开启通道的资金。
注意: JIT 通道不应与 “JIT 路由” 混淆,后者是一种用于再平衡现有通道以接受原本可能会被拒绝的支付的技术。
JIT 通道的工作流程
- 一个客户希望通过闪电网络接收资金,但他没有任何收款额度。
- 该客户请求一个闪电网络服务商 (LSP) 开启一条 JIT 通道。
- LSP 返回一个 SCID(短通道标识符),它是该通道请求的唯一标识符。
- 该客户生成一个闪电网络发票,包含 SCID 和 LSP 的节点 ID。
- 客户将发票发送给希望给他支付的人。
- 支付在闪电网络中转发给 LSP。
- LSP 识别其中的 SCID 并与客户开启一条 “零确认通道”。
- LSP 将支付转发给客户,并扣除开启通道的手续费。
- 客户领取支付。
换句话说,JIT 通道的工作流允许客户即使没有任何收款额度,也能通过闪电网络接收支付。服务该客户的 LSP 开启一条零确认通道来路由支付,并扣减掉开启通道的手续费。通道开启后,客户端就能领取支付。
JIT 工作流中的关键词:
- 闪电网络服务商 (LSP):一个 LSP 是闪电网络中的一个节点,可以向其他节点提供帮助,例如开启 JIT 通道。
- 短通道标识符 (SCID):一个 JIT 通道请求的唯一标识符。
- 闪电发票 (Invoice):一个闪电网络的支付请求,包含需要支付的数量、收款方的节点 ID 以及其他信息。
- 零确认通道 (0-confirmation channel):一种尚未得到比特币区块链完全确认的闪电通道。这意味着通道中的资金还不是完全安全的,但依然很有可能是安全的。
为什么闪电网络需要 JIT 通道?
JIT 通道对闪电网络至关重要,原因如下:
- 简化入门流程:开启通道 (锁定资金) 对新用户来说可能是复杂的体验。JIT 通道去掉了这种复杂性,简化了入门流程。
- 高效的流动性管理:因为仅在需要的时候才创建通道,JIT 可以实现更好的流动性管理。用户只有在支付额度不够时才锁入资金,优化了资源利用。
- 推动采用:通过简化用户体验,JIT 可能会促进闪电网络的采用。
JIT 通道的风险
由于链上交易和闪电支付的结算速度不同,JIT 通道存在一个内在假设,即铆定这条通道的 UTXO 最终会在链上确认,但路由到客户端的闪电支付是即时结算的。
虽然 JIT 通道减少了对通道构造和处理速度较慢的区块链层的依赖,但也引入了自己的信任假设。LSP 承担了转发支付的风险,需要信任客户;客户也需要信任 LSP。
LSP 需要决定自己愿意承担多少风险,并相应评估客户。如果客户能够提供 LSAT、节点 ID 或可以承担名誉损失的 Nostr 公钥,可能会有所帮助。
没有使用经历的用户可能会在 JIT 通道的支付规模上受到限制。使用限制更宽泛的 LSP 可能会受到攻击,但也可以将损失视作一种获客成本 (实际上,只会损失一些链上手续费,以及在不会得到支付的通道中锁定资本的机会成本),并希望将来可以从可信任的客户上获得回报来覆盖损失。
回到不信任和验证
如果客户和 LSP 都不信任彼此,他们就会陷入死锁。不愿意信任客户的 LSP 会扣住通道注资交易而不广播,直到自己看到支付原像;而不信任 LSP 的客户会扣住支付原像,直到看到注资交易。这与 JIT 通道的目的背道而驰。JIT 通道需要双方的信任,以协助及时的流动性部署。
打破这种死锁而不引入信任的唯一办法就是使用区块链来确认写入合约,以保证注资交易当且仅当原像提供给 LSP 时就会广播。
这可以通过使用 HTLC 来实现:其哈希锁分支由 LSP 和客户一起签名,LSP 提供从哈希锁分支花费到通道注资输出点的见证,而客户提供自己的签名以及原像,以让通道注资输出点得到确认。
(译者注:这种合约并不是标准的哈希时间锁合约,但原理上相似。哈希锁分支要求双方的签名,而不是只有一方的签名;并且哈希锁是用进入支付的同一个原像构造的。LSP 给客户提供将资金花费到通道注资点的签名,客户一旦加上自己的签名和原像,就能让通道得到区块的确认。当然,通道内的承诺交易,双方要提前构造。)
但总的来说,从结算的角度看,这与标准的支付通道创建并没有什么区别。
让流动性可以随时获得
虽然存在这些潜在的缺点,JIT 通道显然有很大希望让闪电网络变得更加用户友好且高效。就像我们这个领域的所有开发一样,一定有需要考虑的取舍。推出之后,市场会确定这些取舍是否值得、这种方法能否继续进步,以及还有什么取舍需要解决。
无论如何,在引导入门和流动性管理上的好处让 JIT 通道成为了闪电网络演化中的巨大进步。
发表评论