一、什么是闪电网络通道余额不平衡
- 如上图所示的闪电网络中,在A-C通道中,A的余额为5,C的余额是3,而在C-B通道中,C的余额是1,B的余额是5。当A想通过C向B支付2时是无法支付成功的。此时C的通道余额就是不平衡的,它有的通道余额多,有的通道余额少。
二、通道余额不平衡的解决办法
方法一:循环支付
- 如上图所示,循环支付是一种完全脱链的再平衡策略,节点通过链式支付渠道的循环路径向自己付款。其支付结果如下图所示,确实解决了节点C通道余额不平衡的问题。(无需上链)
- 如上图所示,节点C左右通道的余额都变成了2,解决了自己通道不平衡问题,但是显而易见也会导致其他节点通道余额不平衡的问题。
- 此种方法的缺点:
- C节点在使用循环支付方式解决自己余额不平衡问题时,需要给中间节点支付酬金,且中间节点越多,需要支付的酬金越多。
- C节点循环支付的最大金额也会受循环路径其他节点的余额限制,并不能无限循环支付。
方法二:费用激励
- C节点可以通过降低自己的交易酬金的方式,来激励B节点通过C节点去向其他节点支付,以此来平衡C节点的余额。(无需上链)
- 缺点:
- C节点想通过降低酬金的方式来激励B通过它来支付,但是B似乎不能够探知所有路径节点的费用信息,所以如果包含C节点的这条路径有多跳的话,他怎么能知道通过C支付一定是最便宜的支付方式呢?(所以感觉还是所有节点的酬金保持一致为好)
- 如上图所示,如果C和F都希望自己能够帮助B节点向A节点传递交易,那么他们之间必定要产生一定的竞争关系,从而导致双方不断降低自己的酬金,甚至将酬金设为负值。
方法三:重新剪切拼接通道
- C关闭了它与A的频道,并开设了一个新频道,承诺了2个BTC,由此C就解锁了1个BTC。
- 然后C再关闭它与B的通道,再重新开设新的通道并且增加承诺金额,此时C节点在C-B通道中的通道余额增加了,且未影响网络中的其他节点。
- 缺点: 需要上链操作,费用和时延都要较高。