首页 > 专栏 > 正文

第一个闪电网络“火炬接力”于2019 年 1 月 19 日首次亮相,以推广采用第二层比特币支付协议。当它于 2019 年 4 月结束时,它拥有 278 名参与者和 56 个访问的国家。一年后,火炬发起人Hodlonaut于2020年1月19日再次开始传递。然而,几天后,很明显火炬的新迭代有所不同,从火炬被盗率高开始,到通过tippin.me将金额发送给不知情的杰克而“取消”链条结束Twitter 首席执行官多尔西 (Dorsey),他心甘情愿地在 2019 年版中接过了火炬。 

由于该链通过 Twitter 帖子传播的方式,闪电网络“信任链”(#LNTrustchain2)的路径有点容易理解,并且有关特定支付请求(发票)的数据是公开可用的。因此,它可以让我们深入了解闪电网络采用的消费者相关方面。最常使用哪些客户端代理?有哪些手机钱包服务?托管钱包盛行吗? 

关注#LNTrustchain2 提供了一个衡量闪电网络采用情况的绝佳机会。在这个全球范围内还有什么其他事件有来自世界各地的用户,从混合职业,从比特币平民到首席执行官,他们的所有付款请求都公开发布在 Twitter 上? 

比特币闪电网络

作为一名区块链分析师,我的动机是职业的好奇心和传播比特币和闪电网络匿名方面知识的内在冲动。本文中提供的几个示例是专门选择的,以扩大公众对特定解决方案的隐私缺陷的了解。

在本系列的第 1 部分中,我将概述我收集的数据,并解释获取数据集的方法。然后我将专注于移动钱包,主要研究托管服务,但也会展示钱包的新演变的潜力,包括 Phoenix 和 Breez。 

方法论的一些注意事项

我通过收集所有参与者及其各自的付款请求或“发票”来开始我的研究。在 159 名参与者中,有 19 人要么通过 DM 进行交易,要么已经删除了付款请求,因此他们看不到这些付款请求。这对他们的隐私有好处,因为研究人员(像我一样)无法剖析他们的数据。

每个闪电网络支付请求都有指向所有者节点的“node_id”字段。为什么这很重要?现在,让我们考虑在某种虚拟专用服务器 (VPS) 上或通过家庭环境设置私有节点,主要采用即插即用节点(CASA、Nodl)、Raspberry Pi 节点或桌面节点的形式(击)。 

如果用户的设置不是通过 Tor(洋葱路由器)运行,那么公开发布发票的行为就可以为对抗实体提供一种了解节点 IP 地址的方法。无论 TOR 是否处于活动状态,攻击者也可以使用节点 ID 收集节点所有者打开的所有公共通道,当然还有相应的比特币地址。借助通用输入聚类等区块链分析工具,即使是一张公共发票也可以让对手看到一个人的全部钱包余额。 

#LNTrustchain2

通过获取 TrustChain2 的所有 140 张公开可见的发票,我能够绘制出所有钱包提供商的圆环图。至少 56% 的钱包用于手机;48.2% 的钱包是托管的,与 Bluewallet、Wallet of Satoshi 或 Dropbit 的使用有关。私有节点占通过不同提供商(如 eclair mobile)或通过一些个人闪电网络节点(后端的 lnd 或 c-lightning)使用的钱包总数的 44%。 

托管服务:这种疯狂是有方法的! 

Andreas Antonopoulos 有句名言:“不是你的钥匙,不是你的比特币。” 同样,对于闪电网络,格言是“不是你的节点,不是你的坐席”。谈到比特币,在 2020 年,即使是最糟糕的比特币钱包也能让用户有机会备份他们的钱包种子。就代币的所有权而言,这很重要。例如,如果一个中心化钱包提供商宕机,一个人的钥匙和比特币就会随之而来。 

闪电网络也是如此。2020 年火炬传递中使用的绝大多数钱包都与中本聪钱包、Bluewallet 或 Dropbit 相关——所有这些都是托管服务。通过对发票进行解码,我们将获得这三个软件提供商之一拥有的接收方节点 ID。 

托管闪电网络钱包使用他们自己的节点基础设施来允许他们的用户在闪电网络层进行交互(并且通常在比特币链上是非托管的)。整个钱包用户界面 (UI) 只是其集中式 SQL 数据库处理闪电网络支付之上的一层。我会将使用这些钱包与在钱包提供商保存的余额簿中写我欠你 (IOU) 报表进行比较。每个托管钱包都完全管理自己的节点基础设施(通常是单个节点),因此所有与 LN 相关的操作:打开/关闭通道、请求付款、发送付款都是代表用户完成的。知道节点的 ID(在支付请求中看到)可以将我们指向钱包提供商(Satoshi 钱包、Bluewallet 或 Dropbit)。 

如果他们的节点遭到破坏或者他们的服务停止工作会发生什么?结果很容易预测——客户的资金损失。(在撰写本文时,Dropbit 应用程序已经陷入困境。)

使用托管服务确实有一些好处,尽管其中一些也可以在非托管设置中实现(通过私人渠道)。这些特权与无法识别的频道和位置数据有关。因为托管钱包为所有用户使用他们自己的节点,这些用户不必担心保护他们的 IP 地址或害怕错误地去匿名化他们持有的比特币。 

幸运的是,托管服务不必解决这些问题。随着闪电网络协议(BOLTs)不断添加新功能,新型闪电网络钱包出现了。

非托管移动钱包:匿名且安全

运行个人闪电网络移动钱包的完美方案包括拥有一个内置节点,其中包含向钱包提供商节点开放的私人渠道。第一部分,在设备上拥有自己的节点,是自我监管的重要组成部分。即使任何邻居节点(重点是钱包提供商的节点)出现故障,节点所有者也可以通过强制关闭该通道来归还锁定在支付通道中的资金。这是关闭渠道的建议解决方案,其中各方要么不同意其状态,要么其中一方离线。 

对节点所有者的比特币地址进行去匿名化怎么样?Breez 钱包和 Phoenix 都提供了一个“棘手”的功能,允许他们的用户只为节点创建通道。这些不仅仅是“正常”的闪电网络支付渠道——这些是“私人”渠道。他们没有被闪电网络协议“八卦”;用外行的话来说,他们的存在不会向网络的其余部分宣布。甚至与发布承诺交易相关的比特币层的活动也不是决定性的,这让潜在的对手怀疑发生了哪些承诺交易。 

这个特性的核心可以通过想象一下 Breez 或 Phoenix 的用户 Alice 来更好地解释。Alice 想要收到火炬付款,因此她在之前的一条推文下发布了她的付款请求(发票)。Bob 看到她的发票并决定将火炬寄给她。解码请求后,他会看到 Alice 的节点 ID 和额外的有效载荷,称为“路由提示”,以及钱包提供商的相应节点 ID。发送付款的操作将通过钱包提供商的节点路由资金,该节点是 Alice 节点的单跳邻居,并且知道私有路径。 

如果我们在任何闪电网络浏览器中通过 ID 搜索 Alice 的节点会发生什么?结果不会存在,因为她的节点对网络的其余部分不可见。

到目前为止,我们已经探索了从#LNTrustchain2 运动中收集的数据,并描述了研究背后的动机。在托管和非托管闪电钱包之间划出了一条界限,原因是访问闪电网络基础设施的特定方式可能是危险的。 

在第 2 部分中,我们将研究私有节点实例的隐私,并就如何在使用闪电网络时采取措施保持匿名性提出建议。

猜你喜欢
发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论信息