闪电网络的历史:从一个概念到落地测试

当前位置:首页 > 币圈百科 > 闪电网络的历史:从一个概念到落地测试

闪电网络的历史:从一个概念到落地测试

2022-12-05币圈百科259

就在几周前,第一个闪电网络登陆Ind,并在全国范围内进行测试。第二次着陆eclair已于上周发射,第三次c-lightning着陆即将发射。所以人们对覆盖比特币的网络闪电网期待已久,而且交易成本低,速度快。许多开发者也认为它的安全性足以在比特币的主网络上使用:这是这项技术的重要突破。

最初的概念

闪电网最早的起源可以追溯到比特币本身。闪电之谜的第一部分是一个叫做“支付通道”的概念。“支付通道本质上是两个比特币用户之间的比特币余额。只有两个用户:其他人不需要知道或涉及他们之间的平衡。”重要的是,这些余额可以在没有在线交易的情况下更新;当一个用户的余额增加时,另一个用户的余额相应减少。也就是说,允许比特币的拥有者私下交易,这样整个网络就不会因为他们的交易而有负担。

一旦用户完成交易,他们可以通过仅向网络发送一次交易来结算他们的支付通道:该交易根据他们的通道余额来支付他们应该收到的每笔交易。为了这些用户的利益,这也意味着渠道更新(“离线交易”)更便宜,因为它们不需要挖掘费,并且更快,因为它们不需要区块链确认。这个想法和比特币一样古老,比特币于2009年在中本聪首次发行。比特币0.1中的一个原始草案代码允许用户在确认交易之前更新交易:

比特币0.1中包含的支付通道的草案代码。

虽然这段代码是一个粗略的草稿,但中本聪更详细地介绍了支付通道如何与当时的bitcoinj开发者迈克赫恩(Mike Hearn)进行私人通信。几年后的2013年,赫恩在比特币发展邮件列表中发表了中本聪对支付通道的解释:

麦克赫恩描述了中本聪对支付通道如何工作的解释。

原始支付通道

虽然比特币本身一直有支付通道的概念,但中本聪的设计并不是完全安全的。最重要的是,支付渠道的用户可能与矿工勾结,以获得更多的比特币。当有人在2011年夏天首次提出这个问题的解决方案时,中本聪已经离开了比特币项目。Bitcointalk论坛用户“hashcoin”提出了两层支付通道,要求用户交换若干个部分签名的多重签名进行交易,并提出时间间隔相互依赖才有效。如果双方中有一方未能支付,另一方可以在一段时间后要求支付渠道中的所有资金。但是这种设计的缺点是hashcoin的通道只能向一个方向发展。例如:我可以支付你任何次数,但你不能通过相同的渠道支付给我。2013年初,又有人提出了一个类似hashcoin的想法,这次是从理论领域逃出来的。当年4月,杰里米斯皮曼在比特币开发邮件列表中描述了一个支付渠道概念。他甚至写了一份概念证明。反过来,这个设计被迈克赫恩(Mike Hearn)进行了调整,之后比特币的核心贡献者Blockstream的联合创始人、Chaincode Labs的开发者马特科拉洛(Matt Corallo)在2013年年中之前将这个概念转化为bitcoinj的工作代码。2014年,亚历克斯阿克塞尔罗德(Alex Akselrod,现为闪电实验室工程师)率先提出了双向支付通道。我可以付给你任何次数,你也可以在同一个频道用递减的时隙付给我,但次数有限。然而,与单向支付通道不同,该解决方案从未在代码中实际实现。

第一个在线支付概念

大约在第一个支付渠道提出的同时,包括比特币的核心开发者彼得托德和加文安德森在内的其他人已经在考虑非链支付网络。 如果我可以通过非链式交易支付给你,你可以通过非链式交易支付给他,那么我也应该可以通过你支付给他,不需要其他的链式交易。cornploy(目前是荷兰比特币交易所BL3P的lightning开发者)也一直致力于比特币的支付层。他在2011年首次提出了这个粗略的想法。

ploy早期的支付层设计范例将演变为闪电网的前身Amiko Pay。

在比特币核心开发者、未来区块流CTO格雷戈里麦克斯韦(Gregory Maxwell)和Ripple(等)发明人瑞安富格尔(Ryan Fugger)的参与下,),这个思路逐渐演变成了比特币和原涟波科技的合并。因此,Plooy系统更名为“Amiko Pay”。Amiko Pay的早期草案“Amiko Pay使用支付通道,因此它为系统添加了新的信任机制。但是,如果一个用户拒绝与另一个用户进行交易,后者无权收回。2012年夏天,数学家、后来的TLV大使馆联合创始人米妮罗森菲尔德(Minnie Rosenfeld)提出了使用支付渠道的早期支付网络的建议。在Bitcointalk论坛上,罗森菲尔德描述了一个系统,并提出了一个第三方系统作为支付处理器。每个人都是顾客。支付处理器可以与其他支付处理器和更多的客户建立渠道,将支付渠道网络转化为一个中心辐射系统。这样的制度确实在支付上增加了一些可信度和任性。人们可以拒绝支付并保留余额。大家都同意这个支付系统的风险很小,但是只有客户在支付前启动这个程序才会生效。此外,较大的支付可以分成较小的金额依次进行,这样,如果支付处理器无法使用,只有一小部分余额会丢失。这些年来,这种解决方案一再出现。例如,比特币核心的贡献者彼得托德(Peter Todd)在2014年向比特币开发邮件列表发布了这一概念。支付处理器BitPay也在2015年初发布了类似于通道间支付(“Impulse”)的白皮书。像这样的,实际上几乎同时会被瑞典创业公司Strawpay叫做Stroem(或者Str)?但是这些迭代都没有以一种有意义的方式开始。现已解散的Strawpay微支付的

徽标。

Alex Akselrod早期尝试建立一个可靠的支付渠道网络。他在2013年的wiki草案中首次描述了它,它将在2014年作为概念验证来实现。阿克塞尔罗德的解决方案在理论上极大地解决了这个问题。主要问题是它在实践中仍然相当笨拙。比如在交易路线的任何一个地方支付失败,用户都无法追究,只能等待资金通过支付渠道释放,这可能需要几个月的时间。与此同时,到2015年,Plooy的Amiko Pay已经发展到可以不可信的地步。然而,他的设计需要对比特币协议进行相对深远的更改,以便某些类型的交易需要回滚。虽然技术上可行,但是否会采用比特币协议的这种变化还不明显。同年晚些时候,来自苏黎世技术大学(苏黎世联邦理工学院)的研究人员Christian Decker博士(现位于Blockstream)和Roger Wattenhofer在他们的白皮书《使用比特币进行双面打印的快速和可扩展支付网络》中提出了另一种覆盖网络设计小额支付通道。他们的解决方案强烈依赖于时间锁定作为支付通道有效性的“倒计时定时器”,并结合称为“无效树”的加密技术用于过期的通道余额。Akselrod的解决方案,后来的Amiko Pay和Duplex Micropayment Channels(DMC)的草案在某些方面与闪电网类似,可以通过做出不同的取舍来自行实现。如果闪电网络没有被发明,那么这些解决方案中的任何一个都可能成为比特币去标度层的基础。

但是,当然,闪电网络是被发明出来的。

闪电网

经过多年的支付渠道发展和网络设计,这些问题终于在2015年初告一段落。 智能合约交易平台Mirror的首席技术官tha deus“tad ge”dry ja-Joseph Poon撰写了题为《比特币闪电网络:可扩展的外链即时支付》的白皮书,并于当年2月首次发表。事实证明,这是一场改变游戏规则的比赛。如本文所述,闪电网络白皮书提出了几种实现支付通道网络完全无信任的解决方案:任何参与者都无法在不冒险将他们通道中的钱全部取出的情况下进行欺骗,中间人在转发交易时甚至无法窃取。此外,这种解决方案只需要对比特币协议进行相对较少的修改,并承诺比迄今为止提出的替代方案更加灵活和用户友好。白皮书中描述的主要创新是“Poon-Dryja渠道”。像早期的支付通道设计一样,Poon-Dryja通道依赖于部分签名和非广播交易的交换。但与以前的支付渠道相比,这些新渠道采取了额外的步骤,涉及密钥的交换,这允许支付渠道在“方向”上更新。我可以付给你任何次数,你也可以付给我同样次数。此外,闪电网络使用哈希时间片合同(HTLC)。这个概念通常归功于Tier Nolan,最初是为跨区域区块链交易设计的;比如可靠的兑换比特币和莱特币。在闪电网络中,该解决方案用于跨支付渠道进行支付。Poon和Dryja在2015年2月旧金山的比特币开发者研讨会上公布了他们的想法:在接下来的几个月里,也就是2015年的春夏,比特币的缩放问题和区块大小限制之争成为公众争议。在这场危机的氛围下,当年年底召开了一系列会议:9月蒙特利尔比特币会议,12月香港比特币会议。在蒙特利尔,Poon和Dryja再次提出了他们的建议,然后Poon和Dryja在香港进行了第二次更深入的介绍。第二次香港会议后,Gregory Maxwell在比特币发展的邮件列表中提出了扩张路线图。这张路线图突出地包括了闪电网络。它得到了大多数比特币技术社区的支持,已经成为比特币核心项目事实上的路线图。如果对闪电网的期望还不够大,那一定是现在。

概念实现

闪电网白皮书不仅篇幅长而且非常复杂,涵盖技术性很强的概念;在2015年,很少有人有时间和技巧去阅读和理解它。但是当Rusty Russell,一个长期的Linux内核开发人员,了解了白皮书之后,基本上增加了他的理解。在2015年初发表的一系列博客文章中,罗素“提出了一个更一般(但仍然非常技术性)的观点。然后在2015年5月,Russell被区块链开发公司Blockstream雇佣,开发C语言编程语言Lightning的实际实现:c-lightning。这一重大举措的实施被证明是关键。几个月前才提出的一个概念,现在正由世界级的开发商来实现。Russell后来加入了Blockstream的Christian Decker,而包括cornploy在内的其他开发人员将在未来几年内为开源项目做出贡献。在罗素开始研究c-lightning后不久,Blockstream就不再是唯一一家实现lightning的公司了。到2015年夏天,原本计划开发基于智能卡的硬件钱包的小型比特币技术公司ACINQ决定尝试使用有前途的技术。这家总部位于巴黎的初创公司后来宣布,它已经开发出自己的Scala编程语言Lightning协议实现,命名为eclair。acinq发布的

eclair公告。在接下来的几个月里,第三次实施正在进行中。截至2016年1月,闪电网络白皮书作者Poon和Dryja与Elizabeth Stark和Olaoluwa“Olaoluwa”Laolu“Osuntokun共同成立了一家全新的公司来开发闪电:Lightning Labs。Lightning Labs将率先开发Linux,这是Google Go编程语言(也称为“golang”)的Lightning实现。他们在公司成立之前就开始开发了。 在公司成立约一年后,Dryja于2016年底离开闪电实验室,加入了麻省理工学院媒体实验室的数字货币计划,该组织雇佣了比特币核心的首席开发者Wladimir van der Laan和其他几位比特币核心贡献者。在麻省理工学院,Dryja继续研究他在lightning实验室开始的Lightning实现,他重新点燃了Lightning;和indlit的存在。Lit不同于lnd和其他实现,它是一个钱包和一个节点;如今,它还通过配置选项支持多枚硬币同时使用。此外,区块链公司Bitfury以其采矿池和采矿硬件而闻名,并将实现分为另一个版本的软件。这个分支的独特之处在于,它在设计中进行了权衡,以便不延迟比特币网络上的修复——稍后将详细介绍。Bitfury还在交易路由领域做出了贡献,最著名的是一种叫做“Flare”的协议。(不过,现在Bitfury fork的开发似乎暂时停滞了)。此外,2016年,主要钱包供应商区块链宣布开发简化版闪电网络,命名为迅雷。相比典型的闪电版,这个版本做了比较大的改动。最重要的一点是,它需要信任网络交易对手。通过做出这一改变,它能够最早在2016年春天推出alpha版本的实现版本,远远早于任何其他开发团队。(虽然迅雷未来也可能兼容闪电网,但目前这个计划还没有任何进展。)在2016年底举行的第三届比特币米兰大赛后的几天里,大部分参加闪电版测试的参与者聚集在一起,被称为第一届闪电峰会。在这里,他们讨论了如何使所有不同的实现互操作,这导致了闪电网络协议的规范被称为“BOLT”(闪电技术基金会的首字母缩写)。闪电网络白皮书是一个理论上的建议,而BOLT已经成为我们今天所知道的实际闪电网络的基础。

协议变化

闪电网络白皮书刚发表的时候,所描述的思想其实是与比特币协议不兼容的——至少是不安全的。为了实现所描述的闪电网络,比特币需要进行几次协议更改。第一个是新的时间段,可以让支付渠道抵御比特币可塑性错误。然而,甚至在闪电网络白皮书发布之前,这个问题就已经得到了解决,最终在2015年得到了解决,当时在比特币协议中实现了一个由彼得托德(Peter Todd)设计并提出的新时间段:CheckLockTimeVerify (CLTV)。后来,比特币核心开发者意识到,闪电网络会在相对一段时间内更好地工作。这些用户被允许在确认另一笔交易后,在特定的时间点锁定比特币。在闪电环境中,用户可以无限期打开支付通道,而CLTV时间限制要求他们定期关闭通道。到2016年夏天,在比特币网络上推出了名为CheckSequenceVerify(CSV)的软分叉升级,以实现相对时间段。但闪电网络要求的最大协议改变(至少假设用户体验还过得去)是对任何比特币交易的可塑性修复。闪电网白皮书发布的时候,可塑性被认为是一个巨大的挑战。虽然当时修复软分叉的草案正在进行中,但开发者不确定是否可行,认为可能需要硬分叉。然后,到2015年底,比特币的核心贡献者意识到,作为一个块流元。素项目一部分的可塑性修复程序的隔离见证(SegWit)可以作为向后兼容的软分叉部署在比特币上。经过漫长的斗争之后,隔离见证软叉终于在2017年夏天激活,为比特币闪电网络铺平了道路。(有关隔离见证的历史的更多信息,请参阅“通向SegWit的漫长之路:比特币最大协议升级怎么样成为现实”。)

Alpha阶段

尽管隔离见证者尚未被部署在比特币协议上(但它并不完全肯定它会这样做),闪电网络的开发工作正在顺利进行。这是在testnet上开始的,比特币是专门为测试目的而设计的。或者更准确地说,在这种情况下,闪电网络启动了一个专用版本的测试网,名为“SegNet 4”(这是第四个SegWit专用测试网),于2016年5月发布。部署SegNet 4后不到六个月,2016年10月,Blockstream开发团队已将其C型闪电原型推向可用范围。在被称为“Lightning First Strike”中,Decker在Lightning Network的早期版本中使用testnet比特币从Russell“购买”了一张猫照片。

这只猫的照片是克里斯蒂安·德克尔从Rusty Russell那里买的。

到2017年1月,第一个Lightning落地——lnd ,以alpha版本发布。因此,闪电网络本身已经“正式”进入了“alpha阶段”:来自全球的开发者首次受邀尝试该技术,而Lightning Labs将继续帮助测试和改进代码。这个alpha阶段反过来导致越来越多的开发人员在lnd和其他Lightning实现之上构建应用程序。这些“Lapps”,比如桌面和移动钱包,小额支蓑衣网小编2022付博客平台,赌博网站,探索者等等,尽管在大多数情况下仍然是为比特币测试网设计的。在2017年夏天,隔离见证终于激活了,闪电比特币网络的基础工作已经完成。从那时起,Blockstream花了大约三个月的时间宣布它在比特币主网上的第一笔交易。过了一会儿,在11月,Lightning Labs首次跨区块链进行Lightning交易:从比特币到莱特币。而在去年12月,来自Blockstream,Lightning Labs和ACINQ的开发团队宣布他们已经进行了成功的互操作性测试。而且,到今年年底,其他人开始真正在比特币的主网上使用闪电网络 - 在某些情况下,甚至与开发者的建议相抵触。越来越多的闪电频道已经开放,到了12月,开发商Alex Bosworth通过他与付费处理器Bitrefill建立的Lightning频道支付了他的电话账单:这是在闪电网络上首次实现的第一笔真钱购买交易。一个月后,尽管c-lightning落地仍处于测试阶段,Blockstream 宣布他们开了一家网上商店,可以用实际的比特币购买真品。该超市对比特币交易所涉风险有明确警告。2018年2月,比特币的传奇人物拉扎洛·汉耶兹(Lazlo Hanyecz)宣布,他会通过闪电网络购买披萨。

拉扎洛·汉耶兹(Lazlo Hanyecz)和他喜欢的披萨。

经过多年的发展,甚至更多年的概念化,可喜的是,就在几个星期前终于取得了里程碑式的进展。2018年3月中旬,Lightning Labs的lnd以测试版落地。该公司同时以250万美元的种子投资轮回宣布,其中包括Twitter首席执行官杰克多尔西等大型投资者,Lightning实验室认为Lightning落地已经率先准备在比特币的主网上使用 ,主要面向技术用户。随后在3月28日发布了ACINQ的推文,宣布eclair也已发布测试版,因此也被视为可以使用主网。该创业公司补充说,他们的Android闪电钱包将在下周发布。 (在本文发表时,即本周。)Blockstream的蓑衣网小编2022c-lightning实现尚未发布测试版,尽管其开发团队向比特币杂志表示,这也可能很快出现。然而,区块链开发公司在增加名单的同时,在3月的最后一周推出了7款全新的Lapps,突出了该公司在闪电战方面的进展。尽管人们已经在使用Lightning软件,但测试版阶段只会进一步刺激这一增长。在本文发表时,超过1000个Lightning节点已经开放了近5,000个支付渠道,总共持有10比特币(撰写本文时约为70,000美元)。每天都会有数百个新节点上线,甚至还有一个特定于莱特币的闪电网络正在形成,未来可能会与比特币进行互操作。

闪电网络发布时的图表

然而,即使有了这些进展,闪电网络仍处于早期阶段。闪电网络的大多数用户仍然是技术人员(通常是开发人员),而用例大多是实验性的。尽管测试版软件是主要的里程碑,但网络的开发和改进仍是一个持续的过程,还有很多工作要做,而有关路由、隐私和其他风险的问题依然存在。很有可能只有进一步的采用用户反馈才能做出改进。

作者提醒:在写本文之前,我意识到闪电网络的全部(前)历史比我已经知道的更广泛。如果单独来写闪电网络,那么这对那些曾经在这项技术上提供过帮助的技术人员是不公平的。本文试图概述这么个故事,但是本文只能作为一个粗略的总结,内容或许不是那么详尽,还是要感谢所有提供信息和意见的人,以至于作者能够将闪电网络的历史做一个大概的描述。

翻译:区块网@ 考拉声明:此文为本站翻译,如有不当之处请多指教!转载请务必注明转自区块网!

闪电网络的历史:从一个概念到落地测试 | 分享给朋友: