主页 > imtoken下载 > 闪电网络简史:与比特币一样伟大的创意之旅

闪电网络简史:与比特币一样伟大的创意之旅

imtoken下载 2023-03-31 05:17:32

作者| 亚伦范维尔登

编译 | 老曹,Aholiab

不久前,闪电网络第一个正式测试版lnd正式发布,第二个版本eclair也在上个月部署。 而第三个版本——C-Lightning 有望很快实现。 正因如此,期待已久的在比特币覆盖网络中进行交易的“低成本”和“即时”方式——闪电网络(Lightning Network)成为了众多开发者的首选。 同时,它也可以在比特币主网上使用,这是多年来技术发展的一个重要里程碑。

说起闪电网络,很多人对它的名字都耳熟能详,但对于它到底做了什么却知之甚少。 今天营长就来聊一聊闪电网络从“头脑风暴”到最近发布正式Beta版的历史。 这真是一个有趣的故事。

接下来,让我们乘坐时光机回到比特币诞生(dai)的时间(nian)。

原型的诞生

闪电网络最早的起源可以追溯到比特币本身。

闪电网络拼图的第一块是一个叫做“支付渠道”的概念。 支付通道基本上是两个比特币用户之间的比特币交换,通道只连接两个用户:没有其他人需要知道或关心他们的联合余额。 更重要的是,无需在线进行任何比特币交易即可更新这些余额; 如果一个用户的余额增加,则另一个用户的余额相应减少。 实际上,这个过程允许参与者相互进行交易,而不会给整个网络增加交易数据的负担。

用户完成交易后,他们可以通过仅向网络传输一笔交易来结算他们的支付渠道:该交易根据他们的渠道余额向每笔交易支付应有的金额。 对于这些用户来说,此过程的好处是通道更新(链下交易)更便宜,因为它们不需要采矿费,而且速度更快,因为它们不需要区块链确认。

这个概念可以说与中本聪在 2009 年发布的第一个比特币软件一样古老。比特币 0.1 包含一个原始版本的代码,允许用户在确认交易之前更新交易:

虽然这段代码只是一个粗略的草稿,但中本聪在与当时的 bitcoinj 开发人员 Mike Hearn 的私人通信中更详细地解释了支付渠道是如何工作的。

几年后的 2013 年,Mike Hearn 在比特币开发者邮件列表上发布了中本聪对支付渠道的解释:

可以保留和替换未记录的开放交易,直到达到 nLockTime。 它可能涉及多方支付,每个输入所有者都需要对输入进行签名。 对于新的写入,每个版本都必须使用更高的序列号进行签名。 如果写了一个更高的nSequenceNumber,那么除了上面的规则之外,一方还可以退出协商,或者签署SIGNHASH_None完全退出。 相关各方可以通过使用 OP_CHECHMULTISIG 创建一个更高的 nSequenceNumber tx 来创建一个预先商定的默认选项。 如果需要,各方保留此 tx,直到它有足够的签名来传输。 nLockTime 的一个用途是在一组参与者之间进行高频交易,这些参与者可以通过共识不断更新 tx。 如果一方不再同意更改,则最后的状态将记录在 nLockTime 中。 如果需要,可以在每个版本之后预先准备默认交易,中间交易不需要广播,网络只记录最终结果。

原文如下:

300352有比特币概念吗_首次提出比特币的概念_比特币概念相关中国股票

支付通道的第一个提案

虽然“支付通道”的概念自比特币出现以来就已存在,但中本聪的设计在安全性方面并不完美。 最重要的是,支付通道的用户可以与矿工勾结以确认旧交易,从而允许他索取比通道余额更多的比特币。

2011 年夏天,中本聪离开比特币项目后,首次提出了解决这个问题的方法。 BitcoinTalk 论坛用户“hashcoin”简要描述了一个两层支付通道,该通道需要用户交换多个部分签名的多重签名交易,并且交易的时间锁相互依赖才能生效。

如果一个参与者消失了,另一个人可以在一段时间后领取支付通道中的所有资金。 然而,这种设计的一个缺点是哈希币通道只能在一个交易方向上发挥作用。 Alice 可以向 Bob 支付任意数量的款项,但 Bob 不能通过同一渠道向 Alice 发起支付。

与哈希币类似的想法在 2013 年初重新浮出水面,这次绕过了理论。 当年 4 月,TapLink 创始人 Jeremy Spilman 在比特币开发者邮件列表上描述了支付渠道的概念。 他甚至写了一个概念证明。 对于这个设计,Mike Hearn 随后进行了调整,随后比特币核心贡献者——Blockstream 联合创始人和 Chaincode Labs 开发者 Matt Corallo 在 2013 年将这个概念转化为 bitcoinj 的工作代码。

又一年过去了,也就是2014年,Alex Akselrod(现为Lightning Labs工程师)首先提出了“双向支付通道”的概念。 Alice 可以多次向 Bob 付款,并且使用递减时间锁,Bob 也可以在同一通道中向 Alice 发起付款(尽管付款次数有限)。 然而,与单向支付渠道不同的是,这一解决方案从未真正实现到代码中。

第一个支付网络概念的提出

在首次提出“支付渠道”概念的同时,包括比特币核心开发人员 Peter Todd 和 Gavin Andresen 在内的一些人正在考虑链下支付网络。 如果 Alice 可以通过链下交易向 Bob 付款,Bob 可以通过链下交易向 Carol 付款,那么 Alice 应该可以通过 Bob 向 Carol 付款,而无需进行任何链上交易。

Corné Plooy(现在是荷兰比特币交易所 BL3P 的闪电网络开发人员)也在为比特币设计支付层,这是他在 2011 年首次提出的想法。

Plooy 为支付层设计的早期示例,该支付层将演变成闪电网络的前身 Amiko Pay

这个想法,连同 Bitcoin Core、后来的 Blockstream 首席技术官 Gregory Maxwell 和 Ripple 发明者 Ryan Fugger 等人的建议,在过去几年中逐渐演变为比特币和原始 Ripple 技术的合并版本,最终形成了一个众所周知的系统作为 Amiko Pay。

然而,Amiko Pay 的早期草稿并未使用支付渠道,从而为系统注入了信任。 但是,如果一个用户拒绝与另一个用户结清余额,则后者没有追索权。

2012 年夏天,数学家、后来成为 TLV 联合创始人的梅尼·罗森菲尔德 (Meni Rosenfeld) 提出了一个利用支付渠道的早期支付网络的提案。 在 BitcoinTalk 论坛上,Meni Rosenfeld 描述了一个系统,在这个系统中,Bob 被支付处理器取代,Alice 和 Carol 都是其客户。 反过来,支付处理商可以将连接通道连接到拥有更多客户的其他支付处理商,从而将支付渠道网络变成一个中心辐射型系统。

而这样的系统确实在支付处理中引入了一点点信任——他们可以拒绝完成支付并将钱留在自己手中,这无疑降低了风险。 但是,该系统只能在用户注意到并停止使用该通道之前完成一次支付。 此外,较大的支付可以分成较小的部分,这样如果支付处理器被证明是不可靠的,那么只有一小部分支付数据会丢失。

首次提出比特币的概念_比特币概念相关中国股票_300352有比特币概念吗

这个解决方案在后来的几年里被多次提及。 Peter Todd 于 2014 年将这一概念发布到比特币开发者邮件列表。与此同时,支付处理商 BitPay 于 2015 年初发布了一份关于类似跨渠道支付 (Impulse) 的白皮书。与此同时首次提出比特币的概念,一家瑞典初创公司实际实施了类似的解决方案, Strawpay,称为 Stroem(或 Ström),但迭代并没有以有意义的方式结束。

已经成为历史的Strawpay公司标志

作为一个相对较早的尝试,Alex Akselrod 建立了一个去信任支付渠道网络。 在2013年的wiki草案中,Akselrod的方案从理论上解决了这个问题。 但他的解决方案并不完美。 如果任何一条交易路径支付失败,用户都没有追索权,只能等待资金通过支付通道的时间锁释放。 这个过程可能需要几个月的时间。

与此同时,到 2015 年,Plooy 的 Amiko Pay 已经发展到值得信赖的地步。 尽管如此,这种设计仍需要对比特币协议进行相对深远的改变,从而需要对某些类型的交易进行回滚。 虽然技术上可行,但尚不清楚比特币协议是否会采用这些更改。

2015 年底,来自苏黎世联邦理工学院的研究人员 Christian Decker 博士(现就职于 Blockstream)和 Roger Wattenhofer 在他们的白皮书中提出了另一种网络设计——通过比特币双微支付通道建立快速网络。 和可扩展的支付网络。

该解决方案在很大程度上依赖于时间锁作为支付渠道有效性的“倒计时”,一种类似于称为“失效树”的方法的方法。 ) 处理过期通道余额的加密技巧。

Akselrod 的解决方案,后来成为 Amiko Pay 和 Duplex Micropayment Channels (DMC),在某些方面都与闪电网络相似,可以通过不同的权衡来实现自己的权利。 如果闪电网络没有出现,这些解决方案中的任何一个都可能成为比特币可扩展层的基础。

然而,历史不接受假设……无论如何,闪电网络最终还是被发明了。

闪电网络

支付渠道和网络设计经过多年发展,所有部分最终在 2015 年初拼凑成一个完整的拼图。

智能合约交易平台 Mirror CTO,Thaddeus “Tadge” Dryja 和 Joseph Poon 撰写了一篇白皮书,题为《比特币闪电网络:可扩展的链外即时支付》(The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments),文章是于当年 2 月首次公开。

事实证明,这份白皮书最终改变了游戏规则。

这篇被称为“闪电网络白皮书”的文章提出了几种以完全去信任的方式实现支付通道网络的解决方案。 当参与者把所有的钱都放在他们的渠道上时,他们不会冒欺诈的风险,中间商在完成交易的同时也无法从用户那里窃取哪怕一丁点比特币。 此外,该解决方案需要相对较少的比特币协议,并承诺比目前提出的替代方案更灵活、更方便使用。

白皮书中描述的关键创新是“Poon-Dryja 通道”。 与之前的支付通道设计一样,Poon-Dryja 通道依赖于部分签名和非广播交易的交换。 但与以前的支付渠道相比,这些新渠道采取了额外的步骤,包括交换密码,允许支付渠道更新支付的“方向”。 Alice 可以根据需要向 Bob 发起多次付款,Bob 也可以在同一通道中向 Alice 付款任意次数。

比特币概念相关中国股票_300352有比特币概念吗_首次提出比特币的概念

此外,闪电网络使用哈希时间锁合约(HTLC,Hashed Timelock Contract)。 这个概念通常归功于 Tier Nolan,最初是为跨区块链交易而设计的。 例如,通过这个系统,用户可以去信任地兑换比特币和莱特币。 在闪电网络中,该解决方案用于连接跨支付渠道的支付。

Poon 和 Dryja 在 2015 年 2 月的旧金山比特币研讨会上首次公开提出了他们的想法。如果您有兴趣,可以点击下面的链接查看:

从那以后的几个月里,关于比特币扩容问题和区块大小限制的争论已经演变成一场公开争吵。 在这样的氛围下,Poon和Dryja分别在蒙特利尔和香港的拓展会议上两次就这个话题进行了深入的讲解。

就在中国香港的可扩展性会议之后,格雷戈里·麦克斯韦 (Gregory Maxwell) 在比特币开发者邮件列表上提出了可扩展性路线图,其中还包括闪电网络。 它得到了大部分比特币技术社区的支持,并成为比特币核心项目的路线图。

闪电网络的实现

闪电网络白皮书是一篇很长很复杂的论文,包含了很多技术概念。 2015年,很少有人有时间和精力去阅读和理解这篇论文。 但当 Linux 内核开发者 Rusty Russell 得知这份白皮书后,对公众对闪电网络的了解起到了促进作用。 Rusty Russell 在 2015 年初发表了一系列博文,将闪电网络白皮书“翻译”成更适合普通读者的内容(但仍然相当技术性)。

2015年5月,区块链公司Blockstream聘请了Russell,希望他能用C语言完成一个闪电网络的实现,叫做C-Lightning。 这一实施成为闪电网络的转折点,这个仅在几个月前提出的概念现在正由世界级的开发人员实现。 Russell 后来加入了 Blockstream,包括 Corné Plooy 在内的其他开发人员在接下来的几年里为这个开源项目做出了贡献。

在 Russell 开始开发 C-Lightning 后不久,Blockstream 不再是唯一一家实施闪电网络的公司。 到了 2015 年夏天,原本计划开发基于 Android 的硬件钱包的比特币科技公司 ACINQ 也决定尝试这项有前途的技术。 这家总部位于巴黎的初创公司后来宣布,他们已经在 Scala 中开发了自己的闪电协议,称为“eclair”。

ACINQ在éclair上的公告

在接下来的几个月里,闪电网络的第三次实施也在进行中。 到 2016 年 1 月,闪电网络白皮书的两位作者 Poon 和 Dryja 以及 Elizabeth Stark 和 Olaoluwa “Laolu” Osuntokun 共同创立了一家全新的公司来开发闪电网络——Lightning Labs。 Lightning Labs 将带头开发 lnd,这是用 Google 的 Go 语言(也称为“Golang”)实现的闪电网络,他们在成立公司之前就一直在使用这种语言。

2016 年底,闪电实验室成立大约一年后,Dryja 离开闪电实验室,加入麻省理工学院媒体实验室的数字货币计划,该组织雇用了比特币核心开发人员 Wladimir van der Laan 和其他几位比特币核心贡献者。 在麻省理工学院,Dryja 继续在闪电实验室致力于闪电网络的实施。

他将自己的闪电实验室改名为Lit,在此期间,Lit和Ind同时存在。 Lit 通过将钱包和节点打包到一个数据包中,使自己与 lnd 和其他闪电网络技术区分开来。 如今,它还可以通过一个配置选项同时支持多种货币。

此外,以矿池和挖矿硬件而闻名的区块链公司 Bitfury 对 lnd 实现进行了分叉,以生产该软件的另一个版本。 分叉软件的独特之处在于在设计中进行了权衡,因此不需要对比特币网络进行可延展性修复。 Bitfury 也为交易路由领域做出了贡献,最著名的是名为“Flare”的协议(不过,Ind 和 Bitfury 分叉目前没有开发任何新东西)。

此外,在 2016 年,钱包供应商 Blockchain 宣布他们开发了一个名为 Thunder 的简化版闪电网络。 与典型的闪电网络实施相比,这种实施做出了相当大的权衡,最显着的是它需要在网络上获得彼此的信任。 通过做出这种权衡,它能够在 2016 年发布一个 alpha 版本,远远早于开发团队的其他成员(虽然迅雷未来可能会兼容闪电网络,但目前的开发似乎停滞不前)。

比特币概念相关中国股票_300352有比特币概念吗_首次提出比特币的概念

2016 年底,在米兰举办的第三届 Scaling Bitcoin Milan 之后,闪电网络的贡献者齐聚一堂,参加了第一届闪电峰会。 在峰会上,他们讨论了如何使所有不同的闪电网络实现具有互操作性,从而产生了名为“BOLT”的闪电网络协议规范。 如果闪电网络白皮书为闪电网络提供了理论基础,那么 BOLT 已经成为我们今天所知道的实际闪电网络的基础。

比特币协议的变化

当闪电网络白皮书首次发布时,它描述的想法实际上与比特币协议不兼容——至少不安全。 为了实现白皮书中描述的闪电网络,比特币需要改变一些协议。

首先是新的时间锁,这将使支付渠道能够抵抗比特币的延展性缺陷。 不过这个问题早在闪电网络白皮书发布之前就已经解决了,并在2015年得到了彻底解决。当时,由Peter Todd设计和提出的新型时钟在比特币协议CheckLockTimeVerify(CLTV)中得到了实现。

后来,Bitcoin Core 的开发者意识到闪电网络在相对时间锁的情况下表现更好。 这允许用户在确认另一笔交易后在特定时间点锁定比特币。 在闪电网络的情况下,用户可以无限期地保持他们的支付渠道开放,而 CLTV 的时间锁定要求他们定期关闭他们的渠道。 因此,在2016年夏季,比特币网络发起了名为CheckSequenceVerify(CSV)的软分叉升级,实现相对时间锁定。

但闪电网络需要的最大改变(至少要确保良好的用户体验)是对任何比特币交易的可延展性修复。

闪电网络白皮书发布后,可扩展性被确定为一个巨大的挑战。 虽然当时有一个软件分叉草案正在解决这个问题,但开发人员不确定这是否可行,并认为可能需要一个硬分叉来解决这个问题。 然后,到 2015 年底,比特币核心参与者意识到隔离见证 (SegWit) 作为 Blockstream 的元素项目的一部分,可以部署为比特币上的向后兼容软分叉。

经过长时间的艰苦研发,隔离见证的软分叉终于在2017年夏天启动,为闪电网络在比特币上的应用铺平了道路。

闪电网络的 Alpha 版本

尽管当时隔离见证尚未部署在比特币协议上(并且不完全确定它是否会部署),闪电网络的开发仍在继续。

闪电网络的部署始于测试网络。 更准确地说,闪电网络始于一个名为 SegNet 4(第四个专门用于隔离见证的测试网)的专用测试网版本,该版本于 2016 年 5 月上线。

同年 10 月,在部署 SegNet 4 不到六个月后,Blockstream 的开发团队将其 C-Lightning 原型推进到可用点。 在被称为“闪电网络第一战”的比赛中,Christian Decker 在闪电网络的早期周期中用测试网络中的比特币从 Russell 那里“购买”了一张猫的照片。

到 2017 年 1 月,第一个闪电网络实施 lnd 发布了其 Alpha 版本。 由此,闪电网络本身也正式进入了“alpha 测试阶段”。 首次邀请来自世界各地的开发人员试验该技术,而闪电实验室将继续测试该项目并改进代码。

Alpha 阶段反过来导致越来越多的开发人员在 lnd 和其他闪电网络实现之上构建应用程序。 这些在闪电网络上实现的应用程序称为 LApps。 这些 LApp 的类型非常广泛,从桌面、手机钱包到微支付博客平台; 从赌博网站到浏览器……但在大多数情况下,LApps 仍然是为比特币测试网络设计的。

300352有比特币概念吗_首次提出比特币的概念_比特币概念相关中国股票

2017 年夏天,隔离见证终于启动,比特币闪电网络的基础工作完成。 自此,比特币主网上闪电网络第一笔交易宣布完成,历时三个月。

不久之后,同年 11 月,闪电实验室通过闪电网络进行了区块链上的第一笔货币兑换交易——从比特币到莱特币。 到 2017 年 12 月,来自 Blockstream、Lightning Labs 和 ACINQ 的开发团队正式宣布他们已经成功完成了互操作性测试。

此外,到去年年底,越来越多的人在比特币主网上的闪电网络上使用比特币进行交易——在某些情况下违背了开发人员的建议,并且越来越多的闪电通道被打开。 到 12 月,开发人员亚历克斯博斯沃思通过他与支付处理器 Bitrefill 建立的闪电通道支付了电话费。 有史以来第一次在闪电网络上买卖真钱。

一个月后,当 C-Lightning 仍处于 Beta 测试阶段时,Blockstream 推出了在线商店。 在这家商店里,人们可以使用比特币购买实物商品。 2018年2月,比特币传奇人物Lazlo Hanyecz因“比特币披萨事件”成名,他通过闪电网络购买了两个披萨!

闪电网络的测试版

经过多年的发展,加上更多年的概念酝酿。 闪电网络的发展在上个月达到了最大的里程碑。

2018 年 3 月中旬,Lightning Labs 的 lnd 是第一个发布 Beta 测试的闪电网络实现。 Lightning Labs 还宣布了 250 万美元的种子轮融资。 资助者包括 Twitter 首席执行官杰克·多尔西 (Jack Dorsey) 等大牌投资者。

随后,ACINQ在3月28日发布推文,声称eclair也发布了测试版,这也被认为是闪电网络为主网上线做的准备。 ACINQ 还表示,他们的 Android 闪电钱包将在一个月内发布。

C-Lightning 的实施尚未发布测试版,尽管 Blockstream 的开发团队向媒体表示很快就会发布。 然而,Blockstream 在今年 3 月的最后一周推出了七个全新的 LApp 时,也强调了该公司在闪电网络方面取得的进展。

虽然人们在 alpha 版本期间已经在使用闪电网络软件,但 beta 版本无疑进一步刺激了这种增长。 到目前为止,1000多个闪电网络节点开通了5000多个支付通道,共计10个比特币(价值约7万美元)。 每天都有数百个新节点上线,甚至莱特币的闪电网络也正在形成,未来可以与比特币互操作。

闪电网络图

然而,尽管取得了很大进展,闪电网络仍处于早期阶段。 今天,闪电网络的大多数用户仍然是技术人员或开发人员,使用场景大多是实验性的。

虽然 Beta 版软件的发布是一个重要的里程碑,但网络的开发和改进是一个持续的过程,有许多工作要做首次提出比特币的概念,关于路由、隐私和其他风险的开放问题仍然存在。

所有这些问题,只有等待闪电网络被更多人使用后,才能得到解决。