闪电网络面临的问题

闪电网络的最初设想为一个中心辐射型网络(图1)。你的钱包将会连接到一个“支付中转站”,由于各种支付渠道彼此之间都保持畅通,爱丽丝有一个和中转站A相通的渠道,而鲍勃也有一个和中转站B相同的渠道,爱丽丝只需通过一两个中转站的跳跃就能直接和鲍勃交易了。

图1 中心辐射型网络

如果能有成百上千个中转站(小额支付中心),那么这个网络拓扑结构就能完美运行。但是,若是只有少数几个大型中转站,那么这个网络的去中心化就会受到损害,变成另一个visa卡、万事达卡或者美国运通。

中转站的中心化风险

要精确地预测出存在于网络均衡中的中转站的数量是完全不可能的,但是由于众所周知的马太效应,这个数字是会逐渐变小,而不是变大。然而不可否认的是,在开源项目中,任何人都可以在上面运行一个支付中转站(至少在政府部门决定监管之前),只是支付中转站运行的高成本就像是给进入者们形成了一道坚固的壁垒,从而产生出了中心化压力。

为什么建立支付中转站需要高成本?让我们回到查理扮演“交易中转站”的那个例子,回想一下,爱丽丝需要通过查理把比特币付给鲍勃,所以查理不得不在更新他和爱丽丝的分配渠道之前就更新他与鲍勃的分配渠道(付给鲍勃的多,自己得到的要少)。也就是说,查理在得到鲍勃的0.5BTC之前,就得先付钱给爱丽丝。

这意味着,如果查理想要成为一个支付中转站,那他自己必须在与“客户”共有的渠道里存够足够多的比特币,这样才能促成这些“客户”的脱链交易。如果查理没有预存至少0.5BTC到鲍勃的渠道里,那么这笔交易就不能做成。

现在,虽然查理仍保留这些比特币百分之百的控制权,但是,这笔钱至少还是需要放在那些渠道里,以便促成那些链外支付。资金的沉淀成本非常高昂,所以要运行一个支付中转站还是需要真金实银的投入,最起码在刚开始之前就需要准备足够的预存款。

那一个支付中转站应该给每个渠道存入多少预存款呢?如果一个比特币是500美元的话,那么你想要运行一个服务100人的支付中转站,你需要50000美元的资产来启动它。

因此,如果某天闪电网络最终演变为中转站辐射型拓扑网络,那么中心化就是它最大的隐患。

点对点的路径交易

闪电网络是否有比中转站辐射型更好的模式?目前已经有很多规避支付中转站的设想,开发者尝试创造出更去中心化、有组织的钱包对钱包的路径。

试想一下,如果爱丽丝想要买一杯咖啡,在此之前,她的钱包会用相同的技术在网络中通过其他节点找到一个路径来支付这杯咖啡。如果钱包找不到任何一个节点,那么它将与咖啡店打开一个新的支付渠道来完成这笔交易,然后留着这个渠道以便日后再用。理论上爱丽丝的钱包能够维持数十个开放的渠道。

如果有人每次在尝试支付时都不能找到一个渠道,那么新的渠道将会被打开,长此以往用户间的一些有组织的渠道路径就会形成,例如:

点对点的路径交易示意图

从上图我们可以看到,爱丽丝在离开咖啡店后仍保持其支付渠道的开放,鲍勃最近去了咖啡店后也保持其支付渠道的开放,而且他还从商店里买了一条新领带,这个支付渠道也是处于开放状态。

在这个例子中,爱丽丝不仅可以将比特币以链外的形式给鲍勃,还可以从已形成的有组织的路径中将比特币付给商店老板。这可以解决了闪电网络中心化的问题,但在具体应用中,很难找到从爱丽丝到商店并通过咖啡店和鲍勃的支付路径:

点对点交易的支付路径

爱丽丝和鲍勃都要花0.011BTC来买了一杯咖啡(约5美元),这就是为什么咖啡店在爱丽丝和鲍勃的渠道中都有0.011BTC。对爱丽丝来说,不管她是想把钱给鲍勃还是商店老板,咖啡店老板都需要更新他和鲍勃的支付分配渠道,咖啡店老板自己得到的少(从爱丽丝想要付的钱中),鲍勃从中得到的多。但是注意一下,咖啡店老板在和鲍勃的渠道中只有0.011BTC(约5美元),也就是说爱丽丝最多只能付给鲍勃或是商店老板5美元。如果她想要付更多的钱,那她就需要重新开一个新的渠道。

当人们以不同数额的金额买不同的东西时,这种类型的数值不对称性就很有可能会频繁发生。从一个节点到另一个节点的路径是很容易被找到,但是每一次找到正确数值的跳跃路径则是最困难的部分。

路径交易造成更多的链上交易

设想一下,要是爱丽丝的钱包不能从商店那里找到一条她想要数额的路径时,她是怎样开启一条新的渠道的。据估算,在给定的时间内,你钱包中的比特币,尽管不是全部,也有绝大部分会留在渠道中。那么爱丽丝的钱包哪里还有比特币来和商店开一个新的渠道呢?好,如果它不得不关闭现存的渠道之一,那么当你的钱包在交易时不能找到一条路径的过程将是这样:
1)关闭现有的一条渠道来完成链上交易。
2)和收款人开启一条新的渠道来完成链上交易。

这两笔链上交易中还只有一笔付款。要是有一笔大交易无法找到一条路径(因此不得不关闭一个旧的渠道来打开一条新的渠道),很多的预存款都将被浪费掉。如果有超过百分之五十的交易找不到路径,闪电网络实际上会促成更多的链上交易,而不是即时的链外交易。

路径交易时,发送者和接收者需要同时在线

人们即便是使用桌面上的钱包,也不会让它二十四小时都挂着,他们在不用钱包的时候就会关闭程序,盖上笔记本电脑的盖子,关掉电脑等。除此之外,很多人的手机钱包都是休眠状态,不会时刻保持上线状态。因此,99%的预期用户都不会参与路径付款。

在哈希时间锁定合约(HTLC)的例子中,爱丽丝的钱包联系鲍勃的钱包,并问它要一个哈希化的随机数字(R)。鲍勃需要在线才能将那个数字给她。而在比特币目前的使用中,发送者和接收者是不需要同时在线的。

本文节选自《区块链:从数字货币到信用社会》(中信出版社)
转自: http://8btc.com/forum.php?mod=redirect&goto=findpost&ptid=35449&pid=467452&fromuid=3184

欢迎捐赠 Bitcoin SV 鼓励作者
0%