中本聪(Satashi Nakamoto)在2008年10月31日(星期五)向加密邮件列表中发送了一个“完全对等,没有可信任第三方的新型电子现金系统”的建议。关于比特币的评论是在随后的星期日发生的:“我们非常非常需要这样的系统,”詹姆斯·A·唐纳德(James A. Donald)写道,“但据我了解您的提议,它似乎并没有达到所需的规模。”
持续十年之后,这种批评仍然是正确的。 即使是比特币最热心的传教士也承认,每天进行少量小额购买毫无价值。 但是,闪电网络(Lightning Network)是目前正在进行的最有希望的比特币扩展项目之一,它可能会改变这一现状。
闪电网络
在2017年7月举行的Blockstack峰会上,闪电实验室首席执行官伊丽莎白·斯塔克(Elizabeth Stark)引用了对中本聪电子现金的第一次批评,但对比特币实际上可以扩展表示信心。 她说:“关于区块链和去中心化技术,我们基本上在1995年再次出现。”她指的是互联网获得HTTP以及TCP / IP的其他传输和应用层之前的时间。
闪电网络是最受关注的比特币区块链“第2层”应用程序之一。 闪电最初由约瑟夫·庞(Joseph Poon)和塔奇(Tadge)(又名Thaddeus Dryja)在2015年提出(其最新版本可在此处获得),闪电已经由三家公司共同制定为功能正常的规范,称为lightning-rfc或“ BOLTS”。它自己的实现:Lightning Labs有lnd,Blockstream有c-lightning,ACINQ有小饼。 也正在开发非BOTLS实现,例如雷电。
闪电网络已经启动并且正在运行,但是还处于起步阶段。 真正的比特币已经使用Lightning Labs,Blockstream和ACINQ的实现进行发送和接收,并且几乎都是可互操作的。 下面的视频显示了一位ACINQ工程师几乎立即通过一个c-lightning节点从一个eclair节点向lnd节点发送了0.000001比特币(约合0.01美元):
为了了解这种改进有多大,我们使用移动钱包应用程序GreenAddress在比特币区块链上尝试了类似的交易。 该应用建议向矿工支付0.00001907 BTC(0.19美元):1, 907%的费用。 虽然尚不清楚要在这笔费用中确认多少个区块(我们已经联系了GreenAddress进行查找),但答案可能是六个区块,或一个小时左右。
但是,我们永远都不会知道这笔交易实际上要花多长时间:一条错误消息告诉我们,“低于546个聪的输出被比特币认为是不经济的尘埃。请增加其价值。”
Lightning Labs还使用网络测试了跨链原子交换。 这些是不同区块链(在本例中为比特币和莱特币)之间的价值转移,这可能标志着建立去中心化交易所的第一步。
闪电可以实现比特币无法单独进行的小额支付,但是现有的实现方式仍然存在问题。 斯塔克敦促用户使用比特币的“测试网”(即使用假钱)而不是现场直播的“主网”来了解闪电。 然而,在撰写本文时,已经在主网上进行了大约50, 000美元的交易,有些人因为c-lightning错误而损失了钱。 (Blockstream的核心技术工程师克里斯蒂安·德克尔(Christian Decker)通过电子邮件告诉我,在大多数情况下,资金最终都可以收回。)
那么闪电是如何工作的呢?
闪电如何运作
Lightning的解决方案基于双向链下支付渠道。 假设Alice和Bob经常彼此进行少量交易。 在这种情况下,由于费用高昂且确认时间长,链上支付不切实际,因此他们决定开放一个渠道,允许他们即时免费地来回发送比特币。
打开频道
要打开频道,Alice,Bob或两者都通过所谓的资金交易(下图中的绿色框)向特定地址贡献了一定数量的比特币。 说爱丽丝贡献1 BTC。 她将资金发送到所谓的2-of 2多重签名地址,该地址要求Alice和Bob都使用其私钥以密码“签名”任何发送交易。 正常交易仅需要与发送地址的公钥相对应的(单个)私钥签名。
重要的是,资金交易尚未签署或广播到网络。
接下来,Alice和Bob使用资金交易作为其“父项”创建一个“承诺交易”:他们使用未经确认的1 BTC输出作为“子交易”的输入,该交易向Alice发送0.5 BTC(输出0)和0.5 BTC到Bob(输出1)。 如果您抗议比特币的协议不允许用户在不知道输入签名的情况下签署支出,那么该功能是通过软分叉授予的。
然后,爱丽丝签署输出,向鲍勃发送0.5 BTC; Bob签名输出,将0.5 BTC发送给Alice。 然后双方都签署并广播了资金交易,该交易已提交给比特币区块链(并受到网络费用和等待时间的影响)。
他们现在拥有一个开放的支付渠道,通过该渠道,他们可以即时免费地往返穿梭比特币。 爱丽丝(Alice)或鲍勃(Bob)可以随时关闭它,并要求各自的0.5 BTC,或者无论更新的余额是多少。
打开频道…用英语
除非您已经对闪电网络的内部情况有一定了解,否则可能很难消化“在这里签名,在这里开始,花钱,传播那个–并非 那样。 ”
这是一个更具概念性的描述。 资金交易听起来很像:它为渠道提供了资金。 它还充当渠道的上限:任何一方最终都无法获得超过初始资金数额的资金,并且双方的余额必须相加。 首先创建资金交易但最后广播的原因是,如果将其简单地一步发布到区块链,那么除了单一的普通交易之外,什么都做不到。 闪电不会使它们变得更快或更便宜。
通过使资金交易保持开放状态,插入承诺交易(如下所述,起一种智能合约的作用),然后关闭资金交易,闪电撬开网络中的一种虫洞。 它使您可以沿一条已定义的路径来回移动比特币。 您正在使用比特币协议,但绕过了矿工施加的延迟和费用。
保持闪电不信任
假设Bob现在想使用其公开频道向Alice 0.1 BTC支付费用。 双方只需更新承诺交易即可-无需向矿工提出上诉。 余额以前是每个0.5 BTC,现在到Alice是0.6 BTC,到Bob是0.4 BTC。
唯一的问题是,如何安全地做到这一点? 因为他们已经交换了初始交易的签名,所以Bob可以签署一个而不是最近的签名,然后以0.5 BTC代替他实际欠的0.4 BTC。 换句话说,根据撰写本文时的价格,他可以从爱丽丝那里窃取大约1, 000美元。 答案可能是只与您信任的人开放渠道。 但是,使用比特币有什么意义呢?
找到解决这一难题的密码解决方案归结为一个目标:使得无法签署旧交易并以反映先前状态的方式关闭通道。 只要这样做是一个选择,雷电就会出现双花问题。
请记住,鲍勃签署了承诺交易的一半(下面的承诺Tx 1a),只有爱丽丝可以广播,因为她是丢失的签名。 爱丽丝签名另一张(承诺Tx 1b),然后只有鲍勃可以广播。 每个人都可以这样做并关闭渠道,但是使用比特币(有限的)智能合约编写功能,承诺交易的两半的输出可能受到不同的限制。 具体来说,一个输出可以使接收者立即花费资金,而另一输出则可以由任一方(通过可撤销序列到期合同(RSMC))在规定的时间段内取消,例如1000块,或大约一周。
这就是有用的原因。 如果鲍勃被证明是狡猾且毫无原则的,他只能签署并播放承诺Tx 1b(上方),该承诺立即付给爱丽丝(交付1b),并将其资金保留在可撤销的困境中一周(可撤消的交付1b)。 爱丽丝(Alice)看到鲍勃(Bob)试图换她,可以引发撤销,并声称鲍勃(Bob)试图窃取的不是0.1 BTC,而是声称否则他有权获得的0.4 BTC。
换句话说,如果爱丽丝发现鲍勃作弊,则整个频道将转到爱丽丝。 之所以可能,是因为当当事方创建新的承诺交易(以下为C2a和C2b)时,实际上承诺不广播旧的承诺交易(C1a或C1b)时,他们会把钱放在嘴边。 他们与新的承诺交易一起创建了违规补救交易,其中有两个输出(BR1a和BR1b)适用于先前的承诺。 爱丽丝(Alice)为鲍勃(Bob)的一半违约救济交易提供了她的私钥,反之亦然。 现在,如果任何一个尝试广播旧交易,则交易对手可以利用1000个区块的等待期,并在该交易之前迅速进入,从而占用了犯罪方的全部余额。
问题在于,爱丽丝必须一直关注自己的频道,以免鲍勃措手不及1000格。 Poon和Dryja建议建议指定一个第三方,当第三方试图作弊时,该第三方的职责是触发违规补救交易-将渠道的所有资金奖励给受害方的交易。 可从罚金中支付这些费用。
闪电实验室的联合创始人兼首席技术官Olaoluwa Osuntokun正在开发“守望台”以充当这些第三方执行者。 尽管已经有人担心这些节点可能会充当受信方并在网络中引入不安全因素,但Osuntokun告诉CoinDesk,给定频道只需要一个诚实的守望台。
而且,正如Blockstream的核心技术工程师Christian Decker在一封电子邮件中指出的那样,欺诈是有风险的。 假设您要抢劫的一方至少每周不参加一次会议,这是一次重大赌博,而失去频道中所有资金的风险可能会起到威慑作用。
连接频道
在现实世界中,爱丽丝既不想与鲍勃进行交易,也不想鲍勃与爱丽丝进行交易。 两者都有需要交易的任何数量的交易对手。 与这些政党中的每一个开放渠道都是不切实际的。 即使将用户界面简化为完美,很少有用户会拥有将比特币捆绑在十几个或更多开放渠道中所需的流动性。
幸运的是,他们不必这样做。 如上面的视频所示,用户可以通过中间用户的渠道进行付款,因此应该通过六级分离原则向具有开放渠道或两个开放渠道的任何人付款。 与单一渠道内的交易不同,这些多渠道交易可能涉及少量费用,以激励节点为渠道提供资金并保持渠道开放。 洋葱路由是一种用于掩盖TOR浏览器用户的技术,可防止中间节点看到交易采用的完整路径,从而减轻了对隐私的担忧。
这种渠道网络在实践中的运作情况还有待观察,可以想象,如果付款必须采用过于复杂的路线-通过中间渠道进行太多“跳跃”,则这些用户收取的费用可能会加起来。
闪电可以保持分散化吗?
这些忧虑与批评者有关,是雷电网络中无法克服的缺陷。 在当今的实现中,渠道带有上限:初始资金交易中的比特币数量限制了渠道中的总金额。
这种情况对资源有限的用户造成了折衷。 他们可以用大量的比特币为渠道提供资金,以确保他们有足够的资金来支付所需的任何款项,或者他们可以为较小的渠道提供资金,并将比特币用于其他用途。 (由于付款可以通过链接的渠道进行,因此给定的用户可能不需要打开多个渠道,也许只有几个渠道。)
选择归结为链上闪电通道内的流动性或闪电通道外的流动性。 如果守望台或其他解决方案不能防止由于疏忽而造成资金损失,则选择为流动支付渠道提供资金可能会有风险。 另一方面,如果确保支付渠道安全并且闪电成为日常使用比特币的主要方法,那么将资金留在渠道中就不会有什么问题。 正如Decker所说,它们将充当“可充电借记卡或现金”,而主链则充当储蓄帐户。
斯塔克也提出了类似的论点:为雷电通道提供资金可防止您将比特币用于其他任何用途,但她写道:“跨多跳的可能有许多节点的网络将立即接受比特币。” 她补充说:“我们认为,闪电网络上的资金将比链上比特币更有用,因为它具有即时速度和低廉的费用。”
集线器?
但是,您将与谁建立这些渠道? 选择鲍勃给你的爱丽丝是一个经济决定,而不是一个加密决定,对于闪电网络的批评者来说,显而易见的答案将是一种“集线器”,一个拥有大量资本的节点,使其具有维护能力。资金充裕的公开渠道,可同时与多个参与者进行交流。
相当于链外比特币银行业可能发展的想法打乱了比特币发烧友,他们认为比特币发烧友是网络的集中化。
斯塔克对此论点提出异议。 她写道:“成千上万的用户在运行比特币的完整节点,我们相信这些人和其他人也将在Lightning上运行节点(这很容易,因为您不需要比特币完整的节点,与比特币完整节点不同,您可以可以从路由中收取少量费用)。” 她还指出,她的团队正在研究“拼接”,这将允许使用来自主链的比特币充值渠道。 这种能力可以减轻将比特币放入渠道或将其留在主链之间的权衡,这反过来可以减少集线器形成的趋势。
Decker认为很可能会形成“两层网络,其中包含大量可靠的节点并充当网络的骨干网”。 他希望这些人是商人,而不是仅仅为了提供流动渠道而存在的枢纽。 他认为,将这些频道提供给多个用户会很昂贵,要求集线器收取高额费用,使其与其他节点相比没有竞争力。
ACINQ的首席执行官Pierre-Marie Padiou并不知道闪电网络的发展方式。 他在电子邮件中写道:“很难预测集权与分权之间的平衡。” “当然会有较大的节点和较小的节点,但是在何种程度上很难事先告知。”
正确的扩展方式?
Poon和Dryja断言:“利用这些小额支付渠道的网络,借助当今现代台式计算机上可用的计算能力,比特币每天可以扩展到数十亿笔交易。” 也许,但是今天肯定不是这样。 在撰写本文时,少于1000个主网闪电节点处于打开状态。
也不是唯一的扩展提议。 主要竞争者是比特币现金,这是有争议的比特币硬分叉,可用于更大的交易。 比特币现金支持者,闪电支持者和各种第三种方法的倡导者之间的辩论(即使是偶尔的反洗钱),即使激烈,也很活跃。 一个或另一个可能会排在首位,或者它们将继续共存,或者全部失败。
无论如何,闪电网络是克服自比特币自2008年第一个周末以来困扰着比特币的可扩展性难题的有希望的尝试。