作者:Simple Bitcoin Wallet

来源:https://sbw.app/posts/scaling-ln-with-hosted-channels/

摘要

“管家通道(hosted channels)” 是一个闪电网络协议的插件,允许两个闪电节点建立一种新的通道,这种通道特意放弃了来自区块链的安全性保障。

这种通道的一端被称为 “管家(host)”,是实际保管资金的一方;而另一端叫做 “客户(client)”,是信任管家的一方(信任的程度可以定义成管家通道的容量)。

管家通道无法依靠区块链来强制执行,但依然能保证客户的隐私性,并且管家的余额义务在任何时候都可以依靠密码学来证明,所以管家唯一可以执行的诈骗就是卷款逃走。

建立好的管家通道会在闪电网络中公开:这样做可以提高整个网络的流动性,并让资本效率更高,因为别的闪电节点可以使用公开的管家通道来路由,从他们的角度看是不需要信任假设的。

问题描述

流动性问题是闪电网络的根本问题。具体的表现是支付会失败,这是因为传送支付的路径的某个方向上缺乏足够多的资金。

一种可行的解决方案是添加更多的通道,然而,在当前的做法中,资金需要缩入新的通道,并在那里停留很长一段时间。有时候一个闪电节点运营者可能没有足够多的资金来开设新的链上支撑型通道并满足路由需求。

解决方案

如果一个闪电节点的主人在一定程度上信任另一个节点,或者 TA 自己运行了多个闪电节点;那么,这些节点之间可以开设管家通道,从而以三种方式解决流动性问题:

1. 扩大路由图

节点的主人可以在闪电网络中宣布建立好的管家通道的容量。其他兼容管家通道的节点会收集这条 gossip 消息并将公开的管家通道加入本地的路由图。这使得他们可以建构出既包含链上支撑型通道、也包括管家通道的支付路径,从而提高现有路径的吞吐量,并让原来不存在的新路径成为可能。

其它节点也可以使用这种混合的通道路径,只要他们本地的通道是链上支撑型通道:无论路径上发生什么事,支付的发送方和接收方总是要么能让支付送达,要么能取回支付所用的资金。

2. 不严格的转发

设想一些路由节点有两条通道指向支付的接收者。1 号通道在路由节点的一端是空的,而 2 号通道从路由节点来看是满的,因此可以用于支付。

现在,设想一笔进入的路由支付命令节点通过没有容量的 1 号通道来支付:这是做不到的,但路由节点可以自由使用 2 号通道,而不让发送者知晓。这不是一种违反协议的情形,只是任何路由节点都可以利用的一种机制。

使用管家通道作为 2 号通道是非常合适的,可以作为一种备用机制,让本来无法成功的支付得以送达。不严格转发也让不使用管家通道的节点可以受益,即使他们根本不知晓这条通道的存在。

3. 隐私路由

管家通道和私人路由是可以相互叠加的技术。一个启用了路由的手机节点可以自由开启私人管家通道,并使用它为第三方的支付提供蹦床路由。

状态

截至 2021 年 12 月 30 日:

已知总共有 4 个节点开设了公开的管家通道,并且可以作为私人通道的管家:

总共有一款面向用户的钱包支持私人管家通道:

(完)