闪电网络以其快速和廉价的付款而闻名。但是第2层协议还可以提供比链上支付更多的隐私,因为交易未在比特币的区块链上发布,因此区块链分析在很大程度上是不可能的.
但是,闪电网络确实存在其自身的隐私风险。付款通过用户网络进行路由,在监视资金流的同时,没有什么可以阻止间谍参与转发交易的过程。在闪电网络上,区块链分析可以代替网络分析.
有一些解决方案可以限制这些风险,例如Tor式洋葱路由。这些有帮助,但是根据网络拓扑和付款类型的不同,弱点可能仍然存在。最近几周,以化名ZmnSCPxj命名的比特币和闪电开发商已经发布了关于持久性风险的广泛分析。 Lightning-dev邮件列表 (1个, 2个, 3).
根据他的分析,ZmnSCPxj还提供了一个解决方案。类似于Payswap(他的关于链上隐私的建议,两周前被《比特币》杂志报道)一样,开发人员认为“自费”可能是隐私难题的重要组成部分。.
理解 自助付款
在上一篇文章中,我们讨论了Payswap,这是ZmnSCPxj提出的一项提案,该提案似乎通过颠倒付款人和收款人之间的关系来改善链上隐私。实际上,ZmnSCPxj最初是在闪电网络的背景下提出这个想法的。实际上,它可能在闪电网络上会更好地使用:嵌入在链上替代方案中的一些折衷不适用于第2层协议.
简而言之,对于Payswap的Lightning版本,自助付款是同一付款途径的一部分.
为了解释它是如何工作的,让我们看一下闪电网络的一个极其简化的版本。 A(虱子)具有与B(ob)和C(arol)的支付渠道。鲍勃与爱丽丝(Alice)和D(ave)有频道。卡罗尔与爱丽丝(Alice)和戴夫(Dave)都有频道。戴夫(Dave)与鲍勃(Bob)和卡罗尔(Carol).
A — — B
| |
| |
C — — D
如果爱丽丝想支付戴夫3比特币,她通常会通过鲍勃或卡罗尔付款。 Bob或Carol将为此服务收取少量费用,但为简单起见,在此示例中,我们将忽略费用。但是,实际上,已支付费用的事实与以下几段内容相关,因此请记住这一点。.
现在,我们要说的是,爱丽丝选择了鲍勃的付款方式。她将3个硬币发送给Bob,然后Bob继续将3个硬币转发给Dave。付款成功.
但是不幸的是,在这个例子中,鲍勃很容易正确地假设爱丽丝付给戴夫3枚硬币。他知道这笔钱是因为他转发了这笔钱,而如果爱丽丝想付卡罗尔,或者卡罗尔想要付戴夫,他们本可以直接付钱,而不必依靠鲍勃作为中介。如果鲍勃(Bob)是监视网络流量的间谍,那么他的正确假设会损害爱丽丝(Alice)和戴夫(Dave)的隐私.
因此,ZmnSCPxj提出了一种替代方案。爱丽丝可以将付款全部退还给自己……是“自费”,戴夫则承担了很大的“费用”。该费用实际上是实际付款.
为了像以前一样付给戴夫,爱丽丝这次要走5个硬币。首先,她将5枚硬币发送给Bob,Bob会将5枚硬币转发给Dave。然后-这是把戏-Dave继续将付款转发给Carol…但他只转发了2个硬币!最后,卡罗尔将2枚硬币转发给爱丽丝。最终,爱丽丝比他的硬币差3个硬币,而戴夫比他的硬币差3个硬币。因此,爱丽丝向戴夫支付了3枚硬币.
这种自我支付会误导鲍勃和卡罗尔。鲍勃转发了5枚硬币,并可能在逻辑上但错误地假设爱丽丝付给戴夫5枚硬币。同时,Carol可能会变得更糟:她会认为Dave付给Alice 2枚硬币。从Carol的角度来看,付款方向相反.
如果鲍勃(Bob)或卡罗尔(Carol)暗中监视网络活动,那么他们可能会误以为付款的金额和/或方向,从而受益于爱丽丝(Alice)和戴夫(Dave)的隐私。如果间谍经常被误导,它甚至可能完全使这种间谍活动毫无用处.
PTLC,标准金额等
从网络图到交易量,上述示例的所有内容都得到了简化,而更细微的隐私风险(例如费用金额和时间锁定)则被完全忽略了。同时,假设即使Bob和Carol都是间谍,他们也不合作,或更糟糕的是:他们是一个假装是两个用户的间谍.
实际上,路由的隐私风险和隐私利益会同时变得更大和细化。解决所有这些细微差别超出了本文的范围。 ZmnSCPxj向Lightning-dev邮件列表提交的内容是进行更深入分析的更好资源。更广泛地讲,有关闪电隐私的研究正在进行中.
仍然需要指出的是,ZmnSCPxj提出的改善Lightning隐私的建议超出了自付费用的范围,在某些情况下,实际上,或多或少需要进行其他协议更改才能使自付费方式有效地改善隐私。两个最重要的变化是从哈希时间锁定合同(HTLC)到公钥时间锁定合同(PTLC)的转换,以及采用标准金额。因此,让我们简要地看一下这两个.
目前,闪电付款使用HTLC进行路由。沿途的所有用户本质上都会传递一个代码,该代码可确保如果另一方从另一方索取资金,则他们可以从另一方索取资金(这是通过网络转发资金的方式)。不幸的是,如果合作间谍是同一路线的一部分,则他们可以使用HTLC来告知不同跃点实际上是同一付款的一部分,从而在一定程度上丧失了洋葱路线的好处。 PTLC将利用加密技巧来防止间谍将不同的跃点链接到同一路由.
ZmnSCPxj还建议闪电用户采用标准金额。尽管是可选的,但应鼓励钱包将付款分成较小(但相互关联)的付款,其中每个较小的付款均由标准金额组成。如果标准金额是例如1个,2个和5个硬币,则上例中的Alice将分两次支付1个硬币和2个硬币,而不是一次支付3个硬币(或者,如果她进行自付款,她可以发送5,然后将2路由返回给自己).
如果有足够的用户将其付款(分数)限制为标准金额,则间谍无法依靠金额将不同的跃点链接到同一付款。在自助付款的情况下,用户甚至可以将非标准金额从收款人转回自己,这使它们看起来更像是常规付款.
自助付款的缺点
ZmnSCPxj提案的链式版本Payswap具有重大的权衡。与常规付款相比,需要进行更多的交易,这意味着更高的费用。最重要的是,Payswap交易要求在比特币协议之外的用户之间进行交互。常规的比特币交易不.
在Lightning Network上,这些缺点并没有得到解决,或者在较小程度上得到了解决。两种情况下,雷电付款都需要互动,因此自付款不会使情况变得更糟。尽管需要一些额外的交易跃点来进行自付款,但这些跃点是在链外发生的,因此它们不需要额外的块空间.
也就是说,即使在Lightning上,自费支付仍存在一些缺点。虽然比链上费用便宜,但额外的跃点确实会增加路由费。此外,随着付款增加更多的跃点,付款失败的风险也会增加,间谍成为路线一部分的风险也会增加(如果在上面的示例中,仅Carol是间谍,则自费会给了她更多信息,而不是通过鲍勃的简单路线就能获得).
最后,当然,可能还有其他(尚无法预料的)折衷方案。自费是一个相对较新的建议。正如ZmnSCPxj在其电子邮件中总结的那样,“可能需要对付款时使用循环付款的情况进行更多分析。”