以速度扩展:解释比特币闪电网络
已发表: 2022-03-11比特币闪电网络是一个独立的解决方案,被誉为解决所有阻碍比特币被主流采用的问题的解决方案。 它声称可以解决惨淡的扩展问题,进行即时交易,保持交易费用微乎其微,并将您的交易从区块链中移除。 独立于核心比特币的系统如何提供这些改进? 它如何通过提供零确认的安全交易来违反比特币的常规规则? 什么是比特币闪电网络?
在本文中,我们将探讨比特币闪电网络的真正含义、它如何提供它所提供的保证以及它的当前状态。
注意:本文假设您熟悉比特币。 如果您不熟悉加密货币的工作原理或需要复习,请阅读傻瓜加密货币:比特币及其他。
先决条件:比特币扩容问题
如果您知道比特币扩容问题,请随意跳过本节,但如果您不知道,或者需要复习,请继续阅读。
比特币存在扩容问题。 比特币旨在将所有交易存储在称为块的数据结构中。 一个区块包含关于前一个区块的信息,关于挖矿奖励的杂项数据,并且大部分区块只是交易数据。 块的大小也固定为最大 1 MB。 最后一点是问题所在。
因为块大小为 1 MB,并且每 10 分钟创建一个块,假设事务不是 SegWit(稍后出现),网络每秒最多可以处理 3.3 到 7 个事务。 对于一种专为数十亿人和他们的机器大规模使用而设计的货币,每秒 7 笔交易根本达不到标准。 另一方面,Visa 声称每秒能够处理 24,000 笔交易。
随着交易数量开始增加,您的个人交易在有限的区块空间内相互竞争,因此,您的交易被包含在区块中的可能性开始降低。 由于矿工可以任意决定将哪些交易包含在一个区块中,因此在这些情况下,激励矿工包含您的交易的唯一方法是增加您的交易费用。 然而,这开始使交易变得异常昂贵——例如这个 192 字节的交易为 92.98 美元,而交易费用为 14.86 美元。
那么,我们如何“扩展”比特币呢? 有三种主要的思想流派,或者——我喜欢称之为——比特币大扩容之战:
- 增加块大小:2X, 8X, ..., ∞X
- 较小的交易:SegWit 等。
- 侧链:比特币闪电网络
增加比特币区块大小
这个很容易理解:如果 1 MB 的块限制是问题,那就让它更大! 关于这件事的争论很激烈,而且还在继续。 最终,在 2017 年 8 月 1 日,比特币 (BTC) 被分叉,比特币现金 (BCH) 诞生了。 两者的主要区别在于 BCH 有 8 MB 块。 这使得区块大部分是空的,费用非常低。
然而,8 MB 的区块意味着 BCH 区块链的总大小可能会以更快的速度增长,这使得存储成本成为进入矿工场景的更高门槛。 论点是,这将减少矿工的总数,这也保护了区块链,减少了去中心化和比特币网络的整体安全性。
对大块的另一个批评是它本身并不能解决问题。 相反,它会暂时修补问题。 对于更大的区块,总会有一个最大限制,而最大限制总是远低于我们试图达到的目标限制:每秒 24,000 笔交易。 即使有更大的 8 MB 块,BCH 也有每秒 61 个事务的限制。
较小的交易:隔离见证
其他解决方案指出,当前的交易格式并不是最有效的,并且旨在将更多交易打包在同一个区块中。 其中最值得注意的是隔离见证 (SegWit),它通过 BIP 91 提出并于 2017 年 8 月 25 日在区块 481824 中激活。隔离见证现在是比特币的一部分,高兴!

SegWit 从交易中获取签名数据并将其存储在与交易块分开的结构中,从而使单个交易更小,并更好地利用每个块内的有限空间。 然后,在同步区块链时,此结构是可选的,从而减少了磁盘上的大小。
这也导致了交易延展性问题的解决方案,仅花费 SegWit 输出的交易不再容易受到攻击。
比特币闪电网络
闪电网络是一个第二层网络,它在对等点之间传输已签名但未广播的交易,并且仅依赖比特币区块链进行资金的最终结算。 这意味着交易完全不受区块大小的限制,确认时间无关紧要,并且比特币区块链不需要存储曾经发生的每一笔交易。
谁开发了比特币闪电网络? 它最初是在由 Joseph Poon 和 Thaddeus Dryja 撰写的白皮书中描述的,但后来演变为与第三方个人甚至公司为规范和实施做出贡献的社区努力。
更多信息稍后。
隔离见证 vs. 增加区块大小 vs. 比特币闪电网络
那么哪个最好呢? 我没有经验证据可以作为我回答的基础,所以这是一个观点:虽然我确实认为更好地利用区块空间(la SegWit)是一件好事,但我认为增加区块大小就像推动未来的球门柱。 如果比特币的使用量要大幅增加,我们会发现自己一开始就在争论区块大小的另一次增加。
不同意? 在下面发表评论!
话虽如此,虽然我认为像比特币闪电这样的替代结算网络是一个绝妙的主意,但我也在等着看它在现实世界中的效果。 到目前为止,它还不是我父亲和我可以使用的状态。
比特币闪电网络解释
我已经提到闪电网络是一个第二层网络,它在对等点之间传输签名但未广播的交易,并且仅依赖比特币区块链进行资金的最终结算。
让我们看看这将如何在现实生活中发挥作用。
闪电节点和通道
闪电节点的运行方式与比特币节点非常相似和不同,因为它以网络方式运行、验证交易并与其他节点通信,但它做比特币节点历史上不做的事情:它持有资金、充当自动金融中介,主动监控闪电“通道”的恶意行为并做出防御反应(这在后面会详细解释)等。
为了执行这些功能,节点需要钱。
注意:这些示例最初假设每个人都运行一个 24/7 连接到互联网的比特币闪电网络节点,但显然情况并非如此。 这一假设将在闪电钱包与闪电节点部分中被打破。
创建闪电通道
假设您和您的朋友 Bob 的关系涉及大量金融交易。 你们时不时一起出去吃午饭或看电影。 有时你们中的一个人缺钱,有时另一个人和你们通常会在之后互相Venmo。
然而,作为加密货币的拥护者,你们俩都决定尝试闪电网络并创建一个新的共同渠道,每个人用半个比特币平分资金(这是很多午餐)。
创建一个新的闪电通道就像创建一个多签名比特币钱包,需要你的两个签名才能批准交易,但有一个区别; 根据闪电网络白皮书,你们每个人都会获得一份已签署但尚未广播的“承诺交易”,它将您的初始存款返还给您。 这样,如果你们的友谊经历了艰难的时期,或者你们中的任何一个人需要钱,你可以通过广播这笔交易单方面关闭频道,每个人都得到他们应得的金额。
与您有渠道的人进行闪电交易
假设有一天你又出去吃午饭,你最终欠鲍勃相当于 8,000 聪(我写这篇文章时为 0.31 美元)。 这个时候,如果你用比特币来结算这笔钱,你最终会支付 0.10 美元并等待一个小时,这是不可行的。

然而,使用闪电网络,您可以通过简单地用新交易替换您的“承诺交易”来免费做到这一点,让你们双方都坚持下去。 只是这一次,Bob 多了 8,000 satoshis,而你少了。 (如果您此时正在考虑通过广播旧交易来作弊,请等到关闭频道部分。)
您可以广播交易并关闭频道,但是关闭频道会产生交易费用,并且由于双方都不需要立即使用该金额,您可以简单地保留频道并使用它来偿还未来的债务。
与您没有渠道的人进行闪电交易
假设有一天,鲍勃邀请了他的另一个朋友爱丽丝,在吃了一个小时的紧张三明治后,你们俩都欠爱丽丝,因为这家商店只接受 Coinye(一种在 Kanye West 起诉后废弃的已失效加密货币),而爱丽丝发生了这种情况拥有。
现在,假设 Bob 与 Alice 有一个通道,使用闪电网络,你也可以通过 Bob 向 Alice 付款。 您的节点计算您和 Alice 之间的最佳路线——在这种情况下,Bob 作为金融中介——中间人都可以提前支付款项,如果他们愿意的话,只需支付少量费用。
关闭频道:两种好方法和一种坏方法
有三种方法可以关闭闪电通道:
- 协作:通道中的任何一方发起关闭比特币闪电通道,另一方批准。 没有时间锁定,一经确认就可以花钱了。 这是关闭频道的“最佳”方式。
- 单方面:通道中的任何一方都可以在其中一方愿意时关闭比特币闪电通道,即使另一方不同意。 这导致了时间锁定,另一方可以通过“违约补救措施”交易对关闭者提出异议(参见下面的场景 3),但我们假设这不会发生。 时间锁定到期后,资金可以自由使用。 这是关闭通道的“可接受的”方式。
- 违约补救措施:由于闪电交易是已签名交易的时间戳列表,其中资金分配不同,因此一方有可能通过单方面关闭持有更多资金的旧交易的渠道来尝试作弊(违反信任)(请参阅情景2)。 这导致了时间锁定,在此期间,受害方不仅可以收回自己的资金,还可以使用“Breach Remedy”交易刷掉通道的全部容量,如比特币闪电网络白皮书中所述。
闪电节点与闪电钱包
在上面的示例中,我们使用了术语闪电网络“节点”,这会让您认为您必须保持您的节点在互联网上 24/7 全天候运行。 是的,你是对的。 闪电网络的设计使节点始终在线,确保网络以接近最大容量运行。 而且,如果没有人在线监控作弊企图并且它成功了,该频道将像常规单方面关闭一样关闭,让您没有资金。
然而,闪电网络白皮书描述了解决这个问题的方法:
…人们应该定期监控区块链,看看对方是否广播了无效的承诺交易,或者委托第三方这样做。 第三方可以通过仅向该第三方提供违约补救交易来委托。 通过在输出中给这些第三方一些费用,可以激励他们在交易对手恶意的情况下观看区块链广播此类交易。 由于第三方只有在交易对手恶意行为时才能采取行动,因此该第三方无权强制关闭通道。
这些第三方通常被称为瞭望塔,应该消除用户始终在线的负担。
闪电网络的状态
截至 2019 年 3 月 27 日的比特币闪电网络:
- 拥有超过 7500 个节点
- 拥有近 4 万个开放渠道
- 容量略高于 1000 比特币
它的增长速度为:
- 每小时 25 个节点
- 每小时 304 个频道
有很多闪电网络节点实现,甚至是 Play 商店中的 Eclair 闪电钱包。 它仍然是实验性的,缺乏修饰和接收资金的重要特征,但在我看来,虽然生态系统很小,但它正在健康成长。
规范和实现
比特币闪电网络规范处于征求意见 (RFC) 状态,由一系列称为闪电技术基础 (BOLTS) 的文档构成。 BOLTS 在本出版物中不断变化,欢迎贡献。
闪电网络节点也有几个符合 BOLT 标准的实现:
- LND: Lightning Network Daemon 的缩写,这是一个主要基于 Go 的实现。
- Eclair:主要基于 Scala 的实现。
- C-lightning:主要基于 C 的实现。
有关更多资源,请参阅本文的结论。
照明网络的优势与批评
那么我们可以通过闪电网络实现什么?
- 真正的微交易(几分之一美分)
- 可以想象的最低费用(几分之一美分)
- 一定程度的隐私(没有区块链记录)
然而,正如我之前所说,闪电网络存在许多批评,其中一些是有效的,并且是闪电面临的当前尚未解决的挑战:
- 路由和中心化:由于闪电网络不断变化,通道状态每天都在变化,打开和关闭,并且有历史的集中存储可以回退,因此每次都需要重新计算支付路线。 当网络很小时这很好,但是当它变得足够大时,运行在微型硬件上的小节点可能没有计算路由的处理能力。 这个问题的解决方案可能是一个集中的超级节点,它具有您可以查询的高级知识。 这在此处进行了更详细的描述。
- 贷款过多:在这篇文章中得到了最好的描述,甚至让以太坊的联合创始人 Vitalik Buterin 参与进来。这实质上是说,由于支付 10 美元的 10 次啤酒花链需要每个人都支付 10 美元,所以你会最终转移了 100 美元的资金。 在某一时刻,移动大量产品变得不可行。 这在现实世界中是否成立还有待确定,但这仍然是一个令人信服的论点。
我错过了任何批评吗? 请在下面的评论中告诉我。
进一步阅读和资源
我希望您最终了解闪电网络的真正含义。 在这一切之下,它只是一个以交换加密令牌为基础的消息传递系统。 它还不是完美的或广泛使用的,但这并不意味着它不是一个令人印象深刻的工程。
我建议阅读原始的比特币闪电网络白皮书。 我还可以推荐进一步阅读和应用程序、书籍和论文的列表,但 GitHub 用户 Ben Congdon 已经开始这样做了,所以我建议查看bcongdon/awesome-lightning-network
。 谢谢本! 作为比特币开发人员,您有责任尽可能多地阅读这项新技术。
如果这一切信息太多,让我们以有趣的方式结束。 这是一段有趣的视频,据称是 Satoshi Craig Wright 试图谈论比特币的美好时光。