闪电网络可能是最受期待的技术创新,它将部署在比特币之上。约一年前,约瑟夫·庞(Joseph Poon)和塔奇·德里亚(Tadge Dryja)首次提出了支付层,它承诺在不增加成本的情况下支持用户之间几乎无限数量的脱链交易,同时利用比特币提供的安全性。.
至少三家公司-Poon和Dryja’s 闪电, 区块流 和 区块链 –目前正在研究该技术的实现。但是,除了这个小技术前沿之外,几乎没有人完全了解“小额支付的未来”将如何提高比特币的功能.
在这个由三部分组成的系列文章中,《比特币杂志》列出了闪电网络的基本构建模块,并展示了它们如何组合在一起以实现即将到来的协议层.
本系列的第一部分介绍了基本构建块,并解释了如何使用这些构建块建立双向支付渠道。第二部分介绍了如何形成网络,以及哈希时间锁定合同(HTLC)如何将网络中的不同通道链接在一起。本系列的第三部分也是最后一部分将说明HTLC如何放置在双向支付渠道内,以确保交易可以完全在链外进行.
闪电网络
到目前为止,爱丽丝和鲍勃开通了双向支付渠道,他们都用五种比特币供资。他们来回进行了两笔交易,在当前的渠道状态下,爱丽丝和鲍勃都可以通过“丢掉渠道”在区块链上为自己索取五枚比特币.
现在,他们希望在通道中包含HTLC。这是为了确保如果Carol向Bob索要比特币以换取她的价值,则可以保证Bob向Alice索要比特币作为回报。.
像上一步一样,爱丽丝和鲍勃首先创建一个新的承诺交易。在许多方面,这些承诺交易与以前的承诺交易非常相似。它们包括一个普通输出,以及一个带有CSV(CheckSequenceVerify)时间锁和特殊哈希锁的时髦multisig地址的输出。同样,与上一步一样,Alice和Bob交换了他们的旧机密,以有效地使旧频道无效。而且,一旦交换,爱丽丝和鲍勃都可以签署承诺交易的一半,并有可能随时将其丢入区块链.
所有熟悉的领土。除了一项更改。爱丽丝(Alice)和鲍勃(Bob)的承诺交易现在都包含一个价值一比特币的新输出。 (这使余额为4-5-1;四个用于Alice,五个用于Bob,一个用于新输出。)
此新输出实质上是HTLC。到目前为止,它比所有其他输出都更加有趣,因为有三种方法可以对其进行解锁.
首先,新的输出(在爱丽丝和鲍勃的承诺交易中)释放比特币,条件是鲍勃的签名和价值包括在后续交易中。这样,无论Alice还是Bob签署并广播承诺交易,只有Bob包括该值时,都可以解锁此输出。但是,两个承诺事务之间只有一个小差异:如果Bob放弃了频道,则涉及CSV时间锁定。他将需要等待1,000个街区。 (如果爱丽丝放弃频道,他可以立即索取该比特币。)
如果鲍勃放弃频道,鲍勃必须等待1,000个街区的原因与我们之前看到的非常相似:如果鲍勃试图签名并广播旧的频道状态,它可以让爱丽丝拿走这枚比特币。这就是解锁输出的第二种方法。如果爱丽丝提供了鲍勃(最新)的机密,她可以“窃取”资金.
两个人可以玩这个游戏:如果爱丽丝曾经试图作弊并在该频道已经过时时广播该频道,则鲍勃可以使用爱丽丝的秘密索取该比特币。 (他甚至不需要提供价值。)
第三,与其他任何HTLC一样,两个承诺交易还包括爱丽丝通常的CLTV超时回退。如果鲍勃在两周内没有包含该价值(例如,因为他没有从卡罗尔那里得到),那么爱丽丝可以索回她的比特币。同样,对于这个选项,爱丽丝还是鲍勃都放弃了频道.
所以这一切使我们到哪里去了?
爱丽丝和鲍勃都持有半有效的承诺交易。如果爱丽丝(Alice)在区块链上放弃了承诺交易,她会立即向鲍勃(Bob)发送5个比特币。此外,她可以等待1,000个区块,并为自己索取四枚比特币。另外,鲍勃有两周的时间提供该价值,并在“ HTLC输出”中声明了该比特币。 (如果他在两周内没有提供该价值,则爱丽丝可以索回该比特币。)
同时,鲍勃也可以随时取消其承诺交易,并立即向爱丽丝发送四个比特币。然后,他将等待1,000个区块才能从一个地址索取另外五枚比特币,如果他提供了该值,则可以从HTLC输出中索取另一比特币。 (如果他在两周内没有提供该价值,则爱丽丝可以收回该价值。)
当然,如果爱丽丝或鲍勃在将来的任何时候都试图作弊,并在该频道过时时签署并广播该频道,那么两者都可以完全封锁对方,并窃取该频道中的所有比特币.
稳定状态
在这一点上,鲍勃被保证会收到比特币以换取价值(假设他拥有了)。他所要做的就是签署并广播他从爱丽丝获得的承诺交易,将价值包括在后续交易中,并进行签署并广播。.
爱丽丝知道这一点。她不可能从鲍勃的比特币中骗走鲍勃-即使她通过其他方法发现了价值,也无法做到。.
因此,这两个人也可能只是“定居”在渠道之外。 Bob可以简单地将值提供给Alice,Alice可以同意在没有HTLC和超时期限的情况下将通道状态更新为更正常的状态.
假设双方都想保持渠道开放,那自然就是他们要做的事情:麻烦的事比不必在区块链上丢掉渠道要麻烦.
关闭频道
最后,这就是闪电网络的真正力量:这三篇文章中描述的几乎所有东西通常都根本不需要打入比特币区块链。.
如果Alice和Bob都想“和平地”关闭渠道,他们可以简单地从原始的开仓交易中创建交易,以覆盖自开仓交易以来发生的所有事情。通过此次交易,他们将自己应占的公平份额发送给自己,以最近的渠道状态为代表.
具体来说,这意味着如果爱丽丝想要关闭频道,她此时可以简单地创建一笔交易,向自己支付四比特币,向鲍勃支付六比特币,然后要求鲍勃签署并广播该交易。由于没有理由拒绝他,他可能会合作并关闭渠道.
最后,只有两笔交易将通过比特币网络进行广播,并包含在一个区块中:期初和期末交易。即使爱丽丝和鲍勃之间进行一百万次交易,这也将成立,因此可以减轻区块链的负担.
感谢Rusty Russell和Joseph Poon的信息和补充反馈.