闪电网络如何为比特币网络添加隐私层?

互联网 2016-12-20 12:13:00

比特币目前并不是真的匿名的。通过对未加密p2p网络进行监视以及对公有区块链进行分析,再结合KYC政策和AML监管,这就能够揭露出很多关于谁正在使用比特币以及用于什么用途的信息。

the-nsa-whistleblower-takes-incredible-often-bizarre-steps-to-protect-his-privacy

从隐私角度来讲,这并不是什么好事。例如,比特币用户也许并不想让别人知道自己在哪儿花钱,赚了什么或赚了多少;同样,企业也不希望泄露自己的交易信息给竞争对手。

事实上,比特币交易历史的可追溯性对所有比特币的可互换性也造成了威胁。‘污点’比特币的价值可能就会比其他比特币要低,甚至有可能会对比特币作为货币的价值主张带来麻烦。

不过,这个问题可以改进。其中最有前景的解决方案之一也许就是闪电网络。利用‘Sphinx’协议,闪电网络支付将会被路由到一个类似于Tor的匿名网络上,从而提供隐私和保护可互换性。

简要重述支付通道和闪电网络

闪电网络根本上是由双向支付通道构成,创建了一个点对点网络。

双向支付通道本身就能提升隐私。例如,用户Alice和Bob可以开通一个双向支付通道,通过一个私人媒介使用这个通道中进行交易。只有当交易完成后,通道的最终状态才会广播给区块链。广播公开的交易信息包括Alice和Bob之间的总交易量,但不会公布他们之间的交易次数。这种模糊性就有利于保护隐私。

不幸的是,当这些双向支付通道相互连接创建点对点网络时出现了一个缺点。如Alice要通过Bob路由到第三个用户Carol支付比特币,那么Bob就会知道Alice向Carol进行了支付以及支付了多少。尽管Alice和Carol对于世界上其他人还有相对的隐私性,但是对于Bob来说这种隐私就不存在了。如果还有其他或者更多的中介者——不仅有Bob还有Dan等等——那么Bob和Dan都会知晓Alice和Carol之间的交易。

Sphinx

目前的闪电网络包含一种基于Sphinx的用于掩盖所有来自中介路由数据的解决方案。

Sphinx是由学术研究者George Danezis和Ian Goldberg设计的一种协议,用于在一种点对点网络上转播匿名信息。这种解决方案于2009年5月首次被提出,最初与闪电网络甚至比特币没有任何关系。闪电实验室的Olaoluwa Osuntokun意识到Sphinx可以被利用,他与Blockstream的Christian Decker合作对这种协议进行了修改从而更好地适配闪电网络。

Sphinx与著名的匿名化通信工具Tor(洋葱路由)具有很多相似之处。与Tor一样,使用Sphinx发送的所有数据包都可以进行加密——包括接收的IP地址。然后这种加密要进行好几次,直到产生多个‘加密层’(所以用‘洋葱’来比喻Tor)。

通过使用聪明的加密技巧,所有的加密层都被应用,从而每个沿着路由朝向最终加密包目的地的中介都只能打开一个‘加密层’。这一层会向中介展示要将这个加密包转向何处。(与Tor相比,Sphinx使用经过改进的加密算法,并创建了一种大小固定的数据包来更好地模糊路由中节点的位置。)

在闪电网络上,付款人在这个p2p网络上确定一条路径并在加密层上打包一个支付包。除了传递信息,每一个中介将取出一些额外的数据,包括数量,手续费等,以及允许所有中介在支付链中设立一个步骤。(在闪电网络的未来版本中,这可能会通过一种叫做‘大黄蜂Hornet’的协议进行扩展,从而进一步简化整个流程——不过,目前闪电网络并不急需这种功能。)

重要的是,所有的中介只知道他们从哪个通道接收比特币以及使用哪个通道进行支付。中介并不知道自己是整个支付链中的第一步,中间一步,还是最后一步,或者也许一步就完成了支付。只有交易发送者和接收者才知道谁发送的交易以及谁接收了交易。

当这些通道关闭时,双向支付通道的优势就很明显了——就像吃了兴奋剂一样迅速。尽管比特币网络的所有人都知道Alice在闪电网络通道开放期间向Bob发送了多少比特币,但是这些比特币是通过10次,100次还是1000次发送的就不得而知了。除此之外,Alice甚至可能并未向Bob发送比特币:也许从Alice到Bob的支付实际上被路由给了Carol,或者网络上其他任何人。

相关资讯Relevent