闪电网络的未来在哪?
来源: 头等仓 时间: 2019-03-05 00:00:00
摘要: 经过多年的概念与开发,比特币的首个闪电网络目前已处于测试阶段。因此,每天都有越来越多的节点出现在闪电网络上,越来越多的用户相互开放通道,有些商家甚至开始接受闪电支付。

image.png

——Aaron van Wirdum

经过多年的概念与开发,比特币的首个闪电网络目前已处于测试阶段。因此,每天都有越来越多的节点出现在闪电网络上,越来越多的用户相互开放通道,有些商家甚至开始接受闪电支付。


当然,现在还只是闪电网络的早期阶段。虽然主要实现、一些钱包和其他应用程序都已可用,但比特币的覆盖支付网络预计在未来几年内,需对网络架构、安全性和可用性等方面进行改进。


以下是目前正在开发的一些主要的闪电网络相关项目。


双出资通道(Dual-Funded Channels)


闪电网络由一系列支付通道组成。支付通道存在于两两用户之间,允许资金在他们之间被来回发送。


但现在处于开发初期,支付通道只能由双方中的一方提供资金。出资方必须先向另一方发起交易;只有这样,另一方才能在同一支付通道中返还款项。


《闪电网络白皮书》提出了双出资通道,eclair母公司ACINQ也提出了此规范提案。顾名思义,双出资通道允许两个用户各自发送比特币到支付通道上进行抵押。这为用户体验带来更大的灵活性,用户可以在已开启通道上实现即时接收和支付。


潜交换(Submarine Swaps)


为了实现闪电支付,用户必须将资金预存入闪电通道中。一旦资金存入闪电通道,这些资金就不能被发送到常规(链上)比特币地址上(除非该通道先关闭了)。这意味着闪电通道中的比特币与普通钱包中的比特币是不同的,就像支票账户中的资金与储蓄账户中的资金在某种程度上也是不同的。


但现在有一些解决方案可以使闪电支付和链上支付之间进行无缝切换。


一种解决方案是潜交换。这是由Alex Bosworth开发的(但在此之前是由Lightning Labs首席技术官Olaoluwa Osuntokun提出的概念),潜交换允许用户向闪电网络中的中间商发送通道中的比特币;而该中间商会将相应数量的比特币发送到常规(链上)比特币地址上。反之亦然:用户可以定期在链上向中间商发送比特币;然后中间人将相应数量的比特币发送到闪电网络的接收节点上。


重要的是,潜交换是“自动完成”的。“利用根植于闪电网络中的技术,闪电支付和链上支付可以有效地相互关联。”这使得中间商无法通过不付款来窃取资金。(可以通过与用户协商,收取少量服务费。)


拼接(Splicing)


另一个使用户体验更加无缝的解决方案是“拼接”。从本质上说,拼接可以让用户在现有的闪电通道中“充值”资金,或者从通道中“取出”资金,同时保持通道畅通。


想法很简单。任何闪电通道都始于开放交易,这确保两个用户都同意在通道中转移资金。闪电通道的其余部分由用户之间的一系列后续交易组成,这些交易通常不会在比特币网络上广播。在通道关闭之前,通道中的交易资金不会被转移。


当使用“拼接(splicing in)”时,用户可以使用开放交易,而不是将资金发送到包含更多比特币的替换开放交易上。一旦新开放交易在区块链上被确认,通道就被填满了。在确认新的开放交易之前,用户双方可以同时更新旧通道和新通道,避免出现“通道故障”。


当使用“剪切(splice out)”时,用户可以使用开放交易将资金发送到常规(链上)地址上,并可以使用相同的方法将其中一些资金保留在通道中。通过这种方式,用户可以直接在闪电通道上进行链上交易。


Eltoo


每次进行新的支付时,用户之间的闪电通道都会更新,以反映他们的总余额。目前实现这一目标的方法包括惩罚那些试图通过广播旧余额来作弊的用户(大概是因为旧余额会使他们拥有更多的钱)。欺诈用户可能会失去他们通道中的所有资金。


问题是,广播旧余额并不总是一种欺诈行为。很多情况下(比如由于软件错误或备份出错),用户可能会意外广播旧余额。在这种情况下,完全丢失通道资金是相当严重的惩罚。


Eltoo于2018年4月30日首次发布,由Blockstream的c-lightning开发团队——Christian Decker博士和Rusty Russell博士以及Lightning Labs的Osuntokun共同开发,Eltoo通过构建时间锁定交易链来更新通道,在此链中,每笔交易花费都会更新上一笔交易的资金来反映最新的通道余额。


如果用户广播了较旧的交易(代表较旧的通道余额),则他的交易对手就有一些时间广播最新的交易(代表最新的通道余额)。


这样的解决方案目前是可行的,但在通道故障的情况下是不切实际的。这需要将整个交易链广播和记录在比特币区块链上,这或多或少违背了闪电网络的目的。因此,Decker提议对比特币协议进行软分叉,在这些类型的交易中引入一种层次结构:任何新交易都可以覆盖旧交易,而不需要广播整个链中的所有交易。


如果在比特币网络上采用并激活这个软分叉,闪电用户可以根据自己的喜好创建通道(像现在这样还是使用Eltoo,取决于用户喜好)。


紧凑型客户端区块过滤(Compact Client-Side Block Filtering)


虽然闪电网络使用第二层协议,但出于安全考虑,比特币区块链本身仍与闪电网络用户相关。具体来说,闪电网络用户必须密切关注区块链,看看特定交易是否被打包。这可能是要消耗大量资源的,特别是对于手机用户。


有种解决方案叫作简化支付验证(SPV),比特币白皮书有所提及。目前的SPV钱包使用一种名为“Bloom过滤器”的方法来查明是否有任何相关交易产生。


不幸的是,Bloom过滤器在隐私方面做的不是很到位,因为钱包基本上把所有地址都透露给比特币网络上的节点。它还存在一些扩容问题和可用性问题,因为每个SPV钱包都占用至少一个比特币全节点的资源。


为了解决这些问题,Lightning Labs的Osuntokun和Alex Akselrod以及Coinbase的开发人员Jim Posen设计了一种名为“紧凑型客户端区块过滤”的新解决方案,他们正在Neutrino钱包中使用该解决方案。


紧凑型客户端区块过滤本质上颠覆了当前SPV钱包使用的方法。通过创建Bloom过滤器并将其发送到全节点,然后全节点为所有Neutrino钱包创建过滤器,而不是通过钱包请求相关交易。然后Neutrino钱包使用这个过滤器来确定相关交易没有发生——这实际上是所有用户需要知道的,以确保他们没有被欺骗。(如果过滤器产生匹配,则Neutrino会提取相关区块,以查看匹配是否真正涉及准确交易,而不是误报。)

有趣的是,虽然这个方法的设计受到了闪电网络的启发,但它也可以用于普通的轻钱包。

瞭望塔(Watchtowers)

为了避免被欺骗,闪电用户必须跟踪与其相关的潜在链上交易。

虽然紧凑型客户端区块过滤可能使这事情变得更简单,但用户确实需要偶尔“检查”一下,以确保他们没有被欺骗。如果他们忘记检查,就会产生安全风险。

“瞭望塔”是一种可能的解决方案,这可以追溯到闪电网络白皮书,它由闪电网络白皮书的合著者和lit开发人员Tadge Dryja等人改进。顾名思义,瞭望塔可以让用户将区块链监控这方面外包给第三方。

目前瞭望塔的设计并不是一成不变的,但大致是这样工作的。每当用户更新通道时,他们就向瞭望塔发送一个小数据包。这个数据的第一部分是他们应该关注的交易“提示”。仅仅这个提示并没有透露任何必须注意的交易内容;用户不会泄露任何隐私。

但是,如果相关的交易出现在比特币区块链中,瞭望塔可以使用提示来识别它。然后,通过使用区块链本身的交易数据,瞭望塔可以使用它们收到的数据包的第二部分来重新构建交易惩罚。这个交易惩罚将通道中的所有资金发送给被欺骗的用户。(或者以Eltoo为例,它只广播正确的通道余额。)交易惩罚也可以让瞭望塔索取部分资金作为激励其工作的奖励。

用户可以将通道监控外包给多个瞭望塔。即使其中一个瞭望塔故障了,另一个也不会出问题,从而将闪电网络的风险控制到可以忽略不计的程度。

原子多路径支付(Atomic Multi-Path Payments)

闪电网络之所以成为网络,是因为用户之间的支付通道是相互关联的。用户可以通过闪电网络上的“中间商”进行跨通道支付,向没有直接开通通道的用户支付。

但是,现在单次支付的路由也只能是单向的。如果一个用户想要向另一个用户支付5mBTC,他不仅必须在单通道中拥有5mBTC,而且路由上的所有中间商也必须在该通道中准备好5mBTC才能转发。支付金额越大,这种情况发生的概率就越小。

原子多路径支付(AMPs)可以解决这一问题。这最初是由Lightning Labs的Osuntokun和Conner Fromknecht提出的。这想法很简单:大额支付可以被“分割”成小部分,这些小部分再通过不同的中间商从付款人转移到收款人手里。

此解决方案面临的一个挑战是,闪电支付可能会失败,在这种情况下意味着只完成了部分支付。然而,部分支付很容易引起一个比不支付更大的问题:商家对部分支付不满意,而客户也不会乐意花钱购买任何东西。

这个问题的解决方案就是原子多路径支付(AMPs),它使用哈希时间锁定合约进行扩展,这些合约已经在闪电路由上使用,并通过网络传输加密数据。使用类似于确定性钱包(从单一种子中生成多个比特币地址)使用的方法,部分支付只能由收款人兑换,如果某些加密数据不通过整个路由,那么整个支付就会失败。

原子交换(Atomic Swaps)

闪电网络被设计成比特币的扩展层。但是由于许多山寨币是比特币代码库的软件分支,因此为这些山寨币创建类似的扩展层并不困难。目前小型的莱特币闪电网络已经出现了,未来可能还会有更多的闪电网络。

有趣的是,这些网络在未来并没有被隔离。

使用闪电网络的基本构件“原子交换”(它首先由Tier Nolan提出,由Lightning Labs的Fromknecht在闪电网络上实现),支付通道可以跨不同的区块链而相连接。换句话说,用户可以发送比特币,只要网络上有一个节点愿意进行交换,另一个用户就可以收到等值的莱特币。

当然,这也意味着用户可以自己进行这样的交换:他们可以给节点发送比特币而接收莱特币。实际上,闪电网络可以建立一个无需信任的加密货币交换网络。

有关此主题的更多信息,请参见:“原子交换:闪电网络如何对山寨币进行扩展。”

通道工厂(Channel Factories)

闪电网络的主要好处可以说是,它可以在不增加比特币网络负担的情况下,大幅提高比特币交易的容量上限。只要用户双方的通道中都有资金,他们就可以相互进行无数次支付,而只需要两个链上交易:一次是打开支付通道,一次是关闭支付通道。

尽管如此,如果比特币和闪电网络随着时间的推移被广泛采用,这样的链上交易次数无疑也会增多。

苏黎世联邦理工学院的研究人员Christian Decker(同事也是Blockstream的员工)、Roger Wattenhofer和Conrad Burchert提出了“通道工厂”,该提议或许能进一步减少每个支付通道所需的链上交易平均数量。

基于Decker和Wattenhofer在2015年提出的类似闪电网络的提议,通道工厂是一种可以供许多用户使用的支付通道。同时,与其它任何支付通道一样,通道工厂只需要进行两次链上交易。(如果Schnorr签名是在比特币上实现的,那会涉及到很多用户,这些交易结构可能会变得非常紧凑。)

反之,通道工厂可以充当闪电网络的“子通道”。通道工厂中的参与者可以相互打开和关闭几乎无限数量的闪电通道,而不需要进行任何额外的链上交易。理论上,通过这样做,他们可以将闪电网络所需的链上交易数量降低一个数量级。

有关此主题的更多信息,请参见:《此新扩展层可使支付通道的效率提高10倍不止》。

在此十分感谢Blockstream的开发人员Christian Decker、Lightning Labs的开发人员Conner Fromknecht、ACINQ的首席执行官Pierre-Marie Padiou以及其他人提供的信息和反馈。

免责申明:资讯内容仅代表媒体观点,仅供投资参考,并不代表本网站观点。 凡因任何方式投资造成亏损或者盈利均与本网站无关,本声明未涉及的 问题参见国家有关法律法规,当本声明与国家法律法规冲突时,以国家法律法规为主。