闪电网络(第 4 部分) – 全面采取瞭望塔功能

摘要:BitMEX 研究已将其闪电节点升级至包含瞭望塔功能。瞭望塔功能是可连接至另一友好节点的机制,即使您处于离线状态,其也可为您监控您的闪电通道,防止不诚实的交易对手窃取您的资金。我们的试验成功证明了瞭望塔是有效的,至少在我们的例子中是这样。振奋人心的是,在理论上已经存在多年的“瞭望塔”概念,现在已经在实践中发挥了作用。

(来源:Alcatraz, flickr

概述

该瞭望塔部分紧随我们之前关于闪电网络的三篇文章:

  1. 闪电网络(第 1 部分) – 动机
  2. 闪电网络(第 2 部分) – 路由费经济
  3. 闪电网络(第 3 部分) – 正义在何处?

2019 年 6 月 29 日,发布了 LND 0.7.0(闪电实施),其中包括了瞭望塔功能。瞭望塔是第三方闪电节点,可以检测到不诚实的一方是否试图窃取资金,然后广播正义交易的消息,将资金发回诚实的一方(即使诚实性节点处于离线状态)。

瞭望塔功能有两个模式

 

客户/瞭望塔用户

服务器

说明

客户连接到瞭望塔服务器。闪电通道状态发生变化时,最新的通道状态数据会被发送至瞭望塔服务器。如果通道中断,瞭望塔可广播一条正义交易的消息,并将资金发回诚实性节点的线上钱包。

瞭望塔服务器不需拥有任何闪电通道或支付任何费用。服务器连接到闪电客户,并为其监控客户的闪电通道。

操作细节

要将节点连接到瞭望塔服务器,需要将以下行添加到闪电配置文件中:


> wtclient.private-tower-uris=tower-public-key@ip-address:9911 

其中公共密钥和IP地址由瞭望塔服务器提供。

要激活瞭望塔服务器,需要将以下行添加到闪电配置文件中:


> watchtower.active=1


然后,可以运行以下命令:


> lncli tower info


然后,瞭望塔服务器应显示瞭望塔公共密钥(不同于闪电节点公共密钥)。瞭望塔客户需要此密钥。由于可能存在服务被拒的风险,目前不建议发布瞭望塔公共密钥。

可以通过查看日志来检查瞭望塔的运行状态。

一个节点可同时作为瞭望塔服务器和客户。如果运行两个节点,则每个节点都可以是另一个节点的瞭望塔服务器。BitMEX 研究目前有三个正在运行的闪电节点,这些节点在一个环形配置中互相监控。

瞭望塔成功测试

2019 年 7 月 30 日,BitMEX 研究成功测试了瞭望塔系统。就像我们上一篇正义交易一样,我们试着能骗过自己,但这次我们用的是瞭望塔。振奋人心的是,瞭望塔功能正常运转,将会让那些不诚实的人受到严惩。

为了进行此测试,我们需要运行三个节点:

  • 非诚实性节点 – BitMEXThief
  • 使用瞭望塔服务的节点 – BitMEXTowerClient(瞭望塔服务的用户)
  • 瞭望塔自身节点 – BitMEXResearch

人工构建一个瞭望塔正义交易

(来源:BitMEX 研究)

我们的瞭望塔所广播的最终达成的正义交易可在这里查看。

结论

所有 BitMEX 研究的闪电节点现都处于瞭望塔的保护之下。虽然瞭望塔在安全性方面有了很大的改进,但在我们看来,比不诚实通道中断更大的问题是,闪电节点的内存可能会意外丢失或毁坏—在这种情况下,节点可能会丢失最新的通道状态。虽然我们在这个领域已经有了改进,但瞭望塔无法借助静态通道备份 (SCBs) 解决这个问题。使用 SCBs 的情况下,只要备份后没有创建新的通道,所有资金都是安全的。

通过对瞭望塔的成功测试,我们更加确信了闪电网络的牢固性。振奋人心的是,像瞭望塔这样多年讨论于理论上的概念,终于成为了现实。然而,要使闪电网络更加牢固、可靠,我们还有很长的路要走。

欢迎转载,请注明文章来自

BitMEX (www.bitmex.com)