OPA:闪电网络的历史:从头脑风暴到测试版本(上)_ZEROPAY

几周以前,第一个闪电网络实现?lnd?已经正式推出beta版。第二个实现?eclair?在上周发布,第三个实现?c-lightning?也快要来了。因此,这个在比特币上实现便宜和即时支付的覆盖层网络,已被大部分其开发者认为可以安全地用在比特币主网上了:这是这项技术在经年开发之后的一个重大里程碑。

这个故事,说起来可就长了。

第一串火花

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

闪电网络用到的第一个概念叫做“支付通道”。而支付通道本质上就是两个比特币用户之间的比特币余额;而且只需要他们彼此知道就好,其他人既不需要知道,也不需要关心他们相互之间的关系。重要的是,他们彼此的余额无需任何链上的比特币交易就能更新;而且A的余额增加,就意味着B的余额减少同样的数量。

在他们完成交易,心满意足之后,他们只需在网络中广播一笔交易就可以结算他们的支付通道:这一笔交易会基于他们的通道余额,给双方分发应得的数额。对于他们双方来说,这也意味着通道的更新相对更便宜,因为不需要付矿工手续费,而且也更快,因为不需要区块链的确认。

这个观念,整体上可以说跟中本聪在2009年放出的比特币软件一样早。Bitcoin0.1就包含了一个代码草稿,是允许用户在交易被网络确认之前更新这笔交易的:

Michael Saylor:正为大企业加入比特币闪电网络研究解决方案:金色财经消息,MicroStrategy执行主席Michael Saylor表示,该公司的开发人员正在研究允许大量人员加入闪电网络(Lightning)的解决方案,包括闪电网络的企业应用:企业闪电钱包、企业闪电服务器、企业身份验证。

据悉,闪电协议允许用户在链上结算之前相互打开支付渠道并交换多笔交易,这有助于最大限度地减少费用和确认时间。在比特币网络中,交易通常需要 10 分钟或更长时间才能被确认。(CoinDesk)[2022/9/5 13:09:15]

Bitcoin0.1包含的支付通道草稿

虽然这份代码很粗糙,中本聪后来在跟?bitcoinj?开发者私聊时MikeHearn讲了更多支付通道如何工作的细节。

几年以后,Hearn在比特币开发邮件组中公开了中本聪对支付通道的解释:

声音 | Lightning Labs:确认CVE被利用的实例,需立刻更新闪电网络节点:Lightning Labs刚刚连续发推文称,已经确认了CVE被利用的实例,请立刻更新闪电节点。以下版本易受攻击:0.7及以下;c-lightning 0.7及以下;eclair 0.3及以下。Lightning Labs还提醒人们,在这个早期阶段,需要有适当的限制措施以减轻资金损失。可能会有BUG。不要把超过你愿意损失的资金放在闪电网络上。[2019/9/11]

中本聪对支付通道原理的解释,曝光自MikeHearn

第一个支付通道

虽然支付通道作为一个概念,可以说与比特币同样久远,中本聪的设计是不够安全的。更重要的是,支付通道中的一个用户可以跟矿工合起伙来让区块链确认一个旧的交易,从而获得比自己该得的数量更多的比特币。

这个问题的第一个解决方案出现在2011年。Bitcointalk论坛用户“hashcoin”?构想了一种双层的支付通道hashcoin,需要用户交换部分签名的多签名事务,以及与这些多签名事务相互依赖的时间锁事务。如果一个参与者消失了了,另一方可以在等待一段时间后拿走通道中的所有资金。不过,这一设计的缺陷在于,这种支付通道是单向的。Alice可以给Bob支付任意次,但Bob没法用同一个通道给Alice支付。

声音 | Grant.io联合创始人:将提供闪电网络自动微支付功能:6月13日,Grant.io联合创始人、软件开发人员和联合创始人Willie O'Beirne 介绍了Joule Allowances。Joule是一个支持WebLN的浏览器插件,它利用用户自己的闪电节点在后台实现无缝微支付。O'Beirne指出,目前Joule Allowances的支付仅限于通过WebLN支付。Joule Allowances仍在开发中,未来比特币小额支付能力将得到改善。[2019/6/19]

另一个类似于hashcoin的想法在2013年早期浮出水面,而这一次它不再只是想想而已。在这一年的4月份,JeremySpilman在比特币开发邮件组中描述了一个支付通道的概念。他甚至写了一份概念验证代码。这个设计又由MikeHearn调整过,后来成为BitcoinCore软件贡献者、Blockstream?公司联合创始人和?ChaincodeLabs?开发者的MattCorallo在?2013中段把它从概念变成了?bitcoinj?上可以工作的代码。

又过了一年,AlexAkselrod首次提出了双向的支付通道。Alice可以给Bob支付任意多次,而Bob也可以使用递减的时间锁,在同一个通道中给Alice支付——只不过次数是有限的。不过,不像单向的支付通道,这个解决方案从来没被代码实现过。

动态 | 一开发人员成功通过闪电网络在ATM完成比特币交易:据chepicap消息,3月31日,开发人员Felix Weis成功通过闪电网络在ATM完成了比特币交易。[2019/4/1]

第一个支付网络概念

在第一个支付通道的概念出现的同一时间,其他人——包括BitcoinCore开发者?PeterTodd?和?GavinAndresen?——也在思考离链的支付网络。如果Alice可以通过链下的交易给Bob支付,而Bob可以通过一笔链下的交易给Carol支付,那么Alice也应该能通过Bob给Carol支付、无需让交易上链才对。

CornéPlooy也一直在研究比特币的支付层,根源于他在?2011年提出的一个初步想法。

?Plooy的支付层层的一个早期图示,后来成了闪电网络的前身AmikoPay

在BitcoinCore的开发者和未来Blockstream公司的CTO?GregoryMaxwell,以及Ripple创始人?RyanFugger的建议之下,这个想法?经过?了?多年?的发展,变成了比特币和原初的Ripple基础的集合体,并产生出了一个Plooy叫做“AmikoPay”的系统。AmikoPay更早的草稿没有用到支付通道的,因此需要为这个系统注入信任:如果某个用户拒绝与另一个用户结算余额,后者没有任何办法。

金色相对论 |?Blockstream缪永权:闪电网络将带来所谓的“循环经济”:在本期金色相对论之“闪电网络:Hello,TPS”上,金色财经合伙人佟扬对话Blockstream首席战略官缪永权,针对闪电网络会成为小额支付的主流方式的问题,缪永权表示,有信心闪电网络将会成为主流的支付方式,不一定是小额支付,而是日常进行的支付。最重要的两个因素是,1,仍然使用比特币来进行交易,2,去除比特币交易本身自带的不便(例如出块时间以及交易费用)。闪电网络将带来所谓的“循环经济(Circular Economy)”,雇主可以使用闪电网络来向员工支付比特币,员工也可以通过闪电网络来花费比特币,就像使用现金一样方便。随着闪电网络继续推出更好的版本,任何人只要拥有一台智能手机,就能随时随地发送和接收比特币。最终所有的手机钱包都会成为闪电网络钱包,用户甚至不需要考虑是进行链上交易还是进行闪电网络交易。就像在手机上打开聊天应用就可以马上开始聊天一样,不需要额外进行操作,因为手机一直都是联网的,而不需要先拨号上网 。[2019/3/7]

一个使用了支付通道的早期支付网络构想由数学家、后来成为?BitcoinemBassyTLV?合伙人的MeniRosenfeld在2012年提出。在Bitcointalk论坛上,Rosenfeld描述了一个由支付处理商替代Bob,服务于Alice和Carol的例子。这个支付处理商,反过来,也跟其他的支付处理商开设了支付通道,所以整个支付通道网络是一个车轮模型。?

这种解决方案在过去几年中出现了很多次。例如,BitcoinCore的贡献者PeterTodd就曾在2014年在比特币开发者邮件组中提出过这种概念。与此同时,支付处理商?BitPay?也在2015年初公开了一份有关类似的通道内支付方案的白皮书。而一个相似的解决方案也由瑞典的创业公司?Strawpay?实现了出来,叫做?Stroem,就在几乎同一时间——但这些进展都没有造成很大影响。

现已倒闭的Strawpay小额支付公司的Logo

一个更早的、建立免信任的支付通道网络的尝试,来自AlexAkselrod。他在2013年提出了一个草案,在2014年这份草案转化为一份概念验证代码。Akselrod的解决方案花了很大力气,在理论上解决了这个问题。但在实践中,问题依旧。比如说,如果一笔支付在路由过程中失败了,用户没有任何追索权,只有等支付通道的时间锁解除后资金释放,而这可能要经历几个月的时间。

与此同时,到了2015年,Plooy的AmikoPay已经进化到了可以免信任工作的地步。不过,他的设计需要对比特币协议进行相对深远的更改,以至于需要回滚特定类型的交易。虽然在技术上是可以做到的,但这样对比特币的更改会不会被接受,并不那么显然。

这一年的年底,来自苏黎世联邦理工学院的研究员、ChristianDecker博士和RogerWattenhofer在他们的白皮书“AFastandScalablePaymentNetworkwithBitcoinDuplexMicroaymentChannels”中提出了另一种覆盖层网络设计。他们的解决方案重度依赖于时间锁来作为通道有效性的“倒计时装置”,以及一种叫做“无效树”的密码学技巧来作废陈旧的通道交易。

Akselrod的解决方案、AmikoPay后来的草案,还有Duplex小额支付通道都在某些方面类似于闪电网络,也都可以在不同的假设下正常工作。如果闪电网络没有发明,这里的任何一个方案都有可能成为比特币扩展层的基础。

但是,历史没有如果,闪电网络横空出世。

闪电网络

支付通道和网络设计演化了多年之后,终于在2015年初集齐了所有的拼图。

智能合约交易平台?Mirror?的CTOThaddeus“Tadge”Dryja和JosephPoon一起撰写了一份名为“TheBitcoinLightningNetwork:ScalableOff-ChainInstantPayments”的白皮书,在2015年的2月首次出版。

事实证明,它扭转了乾坤。

闪电网络白皮书提出了多种解决方案,来实现一个完全免信任的支付通道网络:任何人,只要想欺诈,就要冒着失去自己在通道中所有余额的风险;而且传递支付交易的中介也别想偷走一分钱。此外,这个解决方案只需对比特币协议做相对较少的变更,并且承诺比已经有的其它方案更灵活、对用户更友好。

这个白皮书所描述的关键创新是“Poon-Dryja通道”。跟早期的其它支付通道设计一样,Poon-Dryja通道也依赖于参与者交换部分签名且未广播至全网的交易。但与前辈们不同的是,这种新的通道还需要额外的一步:双方需要不断交换秘密数值;这一设计使得通道可以在任意“方向”上更新。Alixe可以给Bob支付任意次,而Bob也可以在同一个通道中给Alice支付任意次。

此外,闪电网络还利用了?哈希时间锁合约。这个概念一般认为是TierNolan?提出的,设计初衷是用于跨区块链交易;举个例子,用于免信任地互换比特币和莱特币。在闪电网络中,这种工具用于把多个支付通道串联起来。

Poon和Dryja在2015年2月的旧金山比特币开发者研讨会上首次展示了他们的构想。

在这之后的几个月,整个2015年的春天和夏天,比特币的扩展问题和区块大小上限的分歧演变成了公开的争执。在这种危机气氛中,人们在2015年底召开了连续两场大会:9月份召开了?ScalingBitcoinMontreal,10月份是?ScalingBitcoinHongKong。在蒙特利尔,Poon和Dryja?再次登台演讲,并且?Poon?和?Dryja?都在香港作了第二次更深入的演讲。

就在香港的大会之后,GregoryMaxwell在比特币开发者邮件组中提出了一份扩展方案路线图。这张路线图突出地包括了闪电网络。它获得了比特币技术社区大部分人的支持,并且变成了BitcoinCore项目在事实上的路线图。

如果人们原本对闪电网络的期待还不够高,这下就完全够了。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-5:962ms