闪电网络有可能对比特币和整个加密货币领域产生巨大影响,但其目前依然存在一些问题。
今天早些时候,Reddit用户INWHY分享了自己的一次经历,由于在闪电网络上操作失误,导致其丢失了4个比特币。
虽然这远远不是闪电网络出现的第一个问题,但这次的损失金额较大。INWHY在帖子里指出,由于断电导致其网络掉线,他发出了关闭自己的活跃节点的命令。
哪里出了错?
闪电网络本质上是节点之间从A点到B点的支付通道网络。在用户将资金广播到网络后,他们可以通过这些不同的通道将他们的比特币发送到目的地,同时不需要任何费用。
为了解锁该网络中的资金,用户必须进行广播,从而让节点下线。
通过这种方式,所提供和接收的资金的当前状态被传递给其他节点,分配给现有节点的资金被返回给用户。
然而,如果通过已经失效的网络账户来关闭节点,同时不包含最近的交易,那么其他与之连接的节点可以将该行为标记为错误的,并以更新后的交易历史记录作为证据。
在这种情况下,选择离开网络的用户会被迫放弃自己的比特币。
当INWHY强制关闭他的节点时,他使用的是几天前的交易备份——可能是由于断电导致他无法获得最新的备份。
他连接到的其他节点发现了他关闭节点的行为,并提供了最新的交易历史记录,因此他的4个比特币就被没收了。
一个可以避免的失误
仅仅因为操作失误就导致全部资金丢失,这可能看起来很残酷,但是这个机制主要是用来阻止恶意活动的。
如果用户在闪电网络上进行了一笔交易,然后用了这笔交易之前的历史记录来关闭交易,那么从理论上讲,如果没有实施保护措施,他们可以重新获取这笔资金并完成交易。
虽然该系统可以有效地阻止作弊,但它当然不会考虑用户的错误,而且在极端情况下,这种零容忍规则系统可能会因为用户的错误产生大量无法预料的后果。
虽然很难证明一个系统在用户出错时可能损失数千美元,但重要的是要认识到这种情况是可以避免的。
用户可以使用静态备份系统。也就是说,当创建新节点时,就会记录网络状态。
或者,他们可以使用动态备份,在交易广播时进行更新。
此外,每个节点已经有0.16 BTC的容量限制。损失4个比特币的用户可能需要超负荷运行20多个节点。
因此,虽然情况很糟糕,但这是闪电网络还需要更多考验的又一个例子,这类损失本来是可以缓解的——如果不是完全避免的话。