闪电网络是一种去中心化的链下技术方案,可支持每秒上万笔交易并发,接近于Visa系统能做到的程度。而在当前的比特币区块链上,只能支持每秒处理约7笔事务,还要付出高昂的手续费,并等待很长时间来确认交易生效,这些因素都使得用比特币发送小额交易几乎不可能。而闪电网络把这两个问题都解决了。
引言
闪电网络是一种支付通道系统,与常见的多签名钱包没有任何区别。所谓开启通道,就是参与方创建一个多签名钱包,并向该钱包充入资金。这个钱包接收到的资金数量就成为这个通道的余额。再然后,参与方之间的后续交易就全部在区块链以外的环境中发生了。任一参与方都能随时关闭这个通道,这时候,最后一笔链下的交易会被发送到区块链上,同时作废掉所有中间的交易,因为所有这些交易都使用同样的交易输出。结果是,我们只需一笔交易来开启通道、一笔交易来关闭通道,中间所有的中间交易都是即时收发的,无需记录在区块链上。
。交易可以任意分配所用支票的价值来生产任意数量的新支票。)
这样的通道所组成的网络使你可以向网络的另一个参与者发送资金,即使你们之间并无直接的通道。唯一的条件是你们之间要能形成一条“路径”,即有通道能前后相接地把你和对方联系起来。此外,得益于特殊的智能合约,你不需要信任网络中的任何人,合约会保证安全地交付你支付的资金。
要理解闪电网络是如何运行的,首先要理解的是支付通道的运行以及构成支付通道基础的HTLC。这些话题都不小,所以我把文章分成了两部分,从解释支付通道的工作原理开始。
支付通道
如上所述,连接两个参与者的支付通道实质就是一个普通的多签名钱包。第一笔交易决定了一个通道的余额,我们称为“充值事务”或者“锚点事务”。这笔交易需要广播到网络中并记录到区块链上,以表明通道开启。
ZigZag创始人拟以1000万美元估值为其新项目筹集50万美元融资:7月25日消息,以太坊二层 ZK Rollup 订单簿 DEX ZigZag 创始人拟以 1000 万美元估值为其新 Perp DEX Invisible 筹集 50 万美元融资。这将是一轮公开融资,最低支付金额为 1 万美元。所筹资金将用于支付审计、ZK 证明者和初始运营成本。
Invisible 将作为一个独立的项目来发布,其一部分平台代币(至少 20 %)将最终解锁释放给 ZZ 持有者。该交易所将收取费用并从一开始就产生收入,所有费用最终将归代币持有者所有。[2023/7/25 15:57:03]
做完了这一步之后,要更新通道双方的余额时,双方就需要手动交换签过名的“承诺事务”。这些交易本身都是有效的,随时可以发送到比特币网络中,但双方都会暂时保存起来,不会广播出来,除非已准备关闭通道。如此一来,通道内双方的余额状态,一秒内变动几千次也没问题,更新的速度仅受限于双方创建、签名和向对方发送承诺事务的速度。
每次双方交换了一笔新的承诺事务,他们也就把通道的前一个状态作废掉;因此,只有最新的一笔承诺事务可以“执行”。这样设计的目的是防止某一方欺诈对方,把一个过时的但对自己有利的状态发送的链上来关闭通道。下文我会讲解几种防止这种欺诈的机制。
最后,通道既可以双方一致同意关闭——就是把一笔关闭事务发送到比特币网络中——也可以单方决定关闭,就是把最后一笔承诺事务发送到网络中。这是为了防止某一方离线导致另一方在通道中的余额一直“锁定”的情形。
在通道存在的整个生命周期里,只有两笔事务被发到了比特币网络中并记录到了比特币区块链上。在这两笔事务之间,双方可以交换无数次承诺事务,这些事务都不需要提交到区块链上。
Glassnode:比特币短期持有者交易所流入占比激增至82%:7月24日消息,Glassnode在最新一期的每周通讯中表示,比特币短期持有者(简称STH,指持币时间不超过155天的钱包地址)在交易所比特币流入中的占比已激增至82%,大大高于过去5年的长期范围(通常为55%至65%)。报告称,最近的大部分交易活动都是由活跃在2023年市场中的鲸鱼驱动的(因此被归类为STH)。[2023/7/25 15:56:14]
一个简单的支付通道案例
在解释更加复杂的机制之前,我们先来考虑一个简单的、单向的通道的例子。为了简化这个解释,我们假设双方都是诚实的。后面我们会再考虑帮助我们阻止欺诈的机制。
假设一个通道有两个参与者,Emma和Fabian。Fabian提供付费的视频流服务,而观看者通过通道来实现小额支付——每观看一秒就要付出0.00001btc,相当于每小时0.036btc。Emma是一个想看视频的普通用户。
Emma和Fabian使用一个特殊的程序来同步播放视频和运行支付通道。Emma在自己的网络浏览器中启动这个程序,而Fabian在自己的服务器上使用同一个程序。这个程序具有一个普通的比特币钱包软件的所有功能,它可以创建和签名交易。支付通道的整个机制可以完全隐藏起来,用户看到的事实就是这个视频是按秒计价的。
现在我们来看看这个付费服务的具体工作流程。一开始,Emma和Fabian要开启通道:建立一个2-2的多签名地址。从用户的视角来看,这个程序创建了一个P2SH地址并要求用户充入足以支付一个小时视频服务的资金。Emma转了0.036btc到这个地址,而这笔交易也就成了所谓的充值事务。
Fireblocks增加对亚马逊网络服务、谷歌云平台和阿里云的支持:金色财经报道,加密货币托管技术供应商Fireblocks周二宣布,该公司已经开始为云服务提供商亚马逊网络服务(AWS)、谷歌云平台、阿里云、Thales和Securosus提供支持。
这些举措是Fireblocks努力使其服务能被更广泛的企业使用的一部分,并使其能为IT基础设施部署在前提和基于云的解决方案的银行市场服务。随着新成员的加入,该企业平台正在覆盖云产业的大部分市场份额。
迄今为止,Fireblocks已将50多家主要金融机构带入数字资产领域,包括纽约梅隆银行、法国巴黎银行和澳大利亚ANZ银行,提供基础设施支持。客户还包括Robinhood和金融科技公司Revolut。[2023/6/27 22:03:00]
充值事务被打包到某个区块之后,这个通道就算开启了,视频也就开始播放。在第一秒钟,用户创建并签名了一条承诺事务,改变了通道内的余额:现在Fabian有了0.00001btc,Emma还剩0.03599btc。这笔事务使用了充值事务的输出,并创建了两个输出,含义就如我们这里所述。从服务商的角度看,程序收到了这笔事务,于是也签上名、连同第一秒的视频发回给Emma。现在双方都有了一笔对方手动签过名的、反映通道最新状态的承诺事务;如有需要,任何一方都可以把这笔交易发送到比特币网络中。
到了第二秒,Emma这边的程序又创建了一笔新的承诺事务,使用的同样是充值交易的输出,这一次,承诺事务的第一个输出给了Fabian0.00002btc,把0.03598给了Emma。这笔事务用来支付第二秒的视频下载。
我们假设,Emma看了10分钟的视频,然后就退出了。在这段时间里,她签名并发送了600笔承诺事务。最后的一笔有两个输出:0.03btc给Emma,和0.006给Fabian。Emma关闭了通道,把最后一笔承诺事务广播到了比特币网络中作为结算事务。如此,这个通道只有一头一尾两笔事务记录到了区块链上。
Numen Cyber与BNB Chain达成合作,成为BNB Chain Kickstart Program官方安全审计服务商:2月1日消息,新加坡Web3安全公司Numen Cyber宣布与BNB Chain正式建立合作,成为BNBChain Kickstart Program官方安全审计服务商。这是继与Binance签署安全合作协议后,双方进一步开展更多维度的合作。通过此次合作,NumenCyber将为BNBChain生态以及相关开发者提供Web3安全解决方案,同时为所有服务提供25%的折扣,以帮助项目团队确保其区块链实施、共识协议、智能合约和DApps的安全。
Numen Cyber是一家总部位于新加坡的Web3安全及网络威胁检测和响应的解决方案提供商。Numen Cyber Labs由来自全球的知名安全专家组成,技术团队发现过很多知名Web3生态(Aptos,Sui,EOS,Ripple,TRON等)及项目、微软、谷歌、苹果产品的高危漏洞,并提供业界头部水平的Web3安全解决方案,可满足各种Web3应用场景的网络安全需求。[2023/2/1 11:40:06]
免信任的通道
当然,从这个例子来看,一切都好,但这是因为双方都是诚实的。不难想象某些时候,其中一方会对方,像上面这么简单的设计可能就不够用了。
虽然通道开启着,Emma还是需要Fabian的签名来取出资金,因为这个通道是2-2的多签名地址。如果Fabian消失了,Emma的资金可能会永远锁在这个通道里面。虽然通道开启着,Emma可以使用任何一笔双方都签过名的承诺事务。在观看视频10分钟之后,她可以拿第一笔承诺交易上链,完全不需要经过Fabian的再次同意。
Axelar与Mysten Labs合作,为Sui区块链带来通用消息传递:金色财经报道,连接 Avalanche、Osmosis 和 Polkadot等 Web3 生态系统的权益证明区块链Axelar 与基础设施公司Mysten Labs合作。最近筹集了 3 亿美元的 B 轮投资,以使基于 Mysten 的 Sui 区块链的去中心化应用程序能够通过单击提供Web3跨链用户体验。
这种合作伙伴关系的潜在用例包括将数字资产的流动性纳入 Web3 游戏的游戏玩法,以及利用数字资产作为多链借贷的抵押品。Axelar 和 Mysten 正在创建一个超越孤立生态系统的环境,并允许开发人员从 Web3 生态系统必须提供的所有资源中提取。(businesswire)[2022/9/28 5:55:34]
时间锁
这些问题的一种解决方案是在承诺事务中使用时间锁)。为了保证资金不会在通道中永远锁定,Emma使用她的充值事务的输出创建了一个退款事务。她先给Fabian发送这笔事务,等Fabian签名并发回后,Emma才把充值事务广播到比特币网络中,开启他们的通道。
这笔退款事务也成了第一笔承诺事务,而且它的时间锁为通道设置了一个存在时间的上限。假设Emma把时间锁设置为30天。接下来所有的承诺事务,所设置的时间锁会一个比一个短,这样更新的事务就能更早广播到网络中。
现在Emma不用再担心了,她知道即使Fabian玩失踪,她也可以在30天之后取回自己的资金。
每一笔新的承诺事务的时间锁都比前一笔要短,因此,新一笔承诺事务总是能比旧的更早上链并使旧的事务作废,这样就能防止任何一方恶意使用旧的承诺事务。如果一切顺利,Emma和Fabian只需广播双方一致的普通结算事务,因此带时间锁的承诺事务只有一方下线时才会派上用场。
举个例子,如果第一笔承诺事务的时间锁是4320个区块,那么第二笔承诺事务可以设成4319个区块,以此类推。如此一来,第600笔承诺事务可以比第一笔承诺事务早600个区块上链。
你可能也注意到了,这种方法虽然有助于防止某一方把更早的承诺事务上链,但它有两个明显的缺点:
第一笔承诺事务的时间锁限制了这个通道的寿命。如果这个时间锁设置的时间太长,通道可以存在很久,但如果某一方玩失踪,另一方就不得不等待很长时间才能广播最后一笔承诺事务、取回自己的资金。第一笔承诺事务的时间锁也限制了可以在通道内发生的交易次数。在我们的例子中,这个数值是4320,这个通道内只能发生4320笔事务,因为每一笔新事务都会把时间锁的时间减去1个区块。而且,以区块为间隔,等于是强迫参与方要追踪比特币网络的区块,以免错过什么,以及在情形不对时尽早把最后一笔承诺事务上链。当然,这个间隔是可以延长的,但代价是通道内可以发送的交易数量会变得更少。因此,时间锁让我们可以作废旧的承诺事务并保证通道双方都可以安全地关闭通道:如果他们都同意通道的最新状态,他们可以发送一笔不带时间锁的结算事务,关闭通道;如果某一方不在线,另一方也可等待最后一笔承诺的时间锁解锁,然后把该笔承诺事务广播到比特币网络中。
不对称的可撤销承诺
另一种解决上述信任问题的办法是取消早前的承诺事务。实际上,“取消”这个词是不准确的,因为在比特币网络中,一笔上链的事务是永远不可取消的。不过,特殊的构造方式可以使得上链较早的承诺事务无利可图。只需给予各方一个“撤销密钥”即可。
假设Hitesh和Irene决定开启一个通道。双方都充值了5btc到这个通道中,确定了通道的初始余额。现在,双方不是签署同一笔标准的承诺事务,而是各自创建两笔不同的、不对称的承诺事务。
Hitesh拿到的由Irene签名的事务有两个输出,第一个输出不带时间锁,立即给Irene支付5btc,而第二个输出带有时间锁,支付5btc给Hitesh,但要等1000个区块之后,这个输出才能花用。详情如下:
与此同时,Irene也可拿到由Hitesh签名的一个承诺事务,有两个输出:一个立即给Hitesh支付5btc,另一个输出则给Irene支付5btc,但要等1000个区块之后才能花。
因此,双方都拿到了一笔由对方签名的承诺事务。Hitesh和Irene都可以随时把手上的承诺事务签名后广播出去,但是,一旦这么锁了,另一方都会立即拿到钱,而自己只能等到1000个区块之后才能拿到,这可是大大的不利。不过,这还不足以让双方都诚实守信。
这就要讲到我们的最后一个功能了,可撤销的密钥,使得任一方如果试图欺诈,对方都可以惩罚TA,使之血本无归。
如上所述,每一笔承诺事务都有一个“延后”的输出,我们把这个输出做得再复杂一点:这个输出既可以被等待了1000个区块的承诺事务发送者使用,也可以被通道的另一方使用,如果TA持有撤销密钥的话。当Hitesh创建承诺事务并交给Irene时,他的第二个输出既可以为自己所用也可以为Irene使用,如果后者掌握了撤销密钥的话。
Hitesh会秘密地保管这个密钥,仅当他决定使用新的一笔承诺事务来更新通道内状态时才会发给Irene。事务的详情如下:
附带一个例子可能会更容易理解。假设Irene希望给Hitesh发送2btc,这时候他们要更新通道的状态,也就是要创建一笔新的承诺事务。双方各自创建一个不对称的承诺事务,并且,在签名之前,先把上一笔承诺事务的撤销密钥交给对方,如此便“撤销”了上一笔承诺事务。如果Hitesh希望以通道最后的余额来结算,而Irene看着觉得更旧的状态对自己更有利,她可以尝试把自己手中的上一笔承诺事务签名后广播到网络中,但这笔承诺事务的撤销密钥已经暴露给了Hitesh;如果他发现这笔承诺事务上链了,他有足足1000个区块的时间可以把通道内的所有钱都拿走。
因此,这种使用不对称可撤销承诺的通道的效率要更高,因为它不限制通道的寿命,也不限制交易发送的次数。
结语
到这里,我们的第一篇文章就结束了,估计你也要一段时间来消化一下,你也可以在评论中提问。在下一篇文章,我们会解释HTLC的功能,最终解释闪电网络是如何工作的。
链接
“Masteringbitcoin”—AndreasM.AntonopoulosSegregatedwitnessfordummiesLightningnetworkwhitepaperLightningnetworkindepth,part2:HTLCandpaymentrouting
原文链接:
https://medium.com/softblocks/lightning-network-in-depth-part-1-payment-channels-b943607950dd
作者:MagomedAliev
翻译:?阿剑
巴比特讯,由二层扩容平台CelerNetwork推出的跨链支付网络cBridge计划推出cBridge2.0.
1900/1/1 0:00:00巴比特讯,9月23日,推特网友Mr.Whale表示,在黑客控制了中本聪的比特币基金会网站后,官方的比特币白皮书现已被删除.
1900/1/1 0:00:00欢迎大家收看9.13-9.17第210期比原链项目周报!从本期开始我们将对项目周报改革,其内容将更为详细的记录项目周动态,让用户直接了解Bytom的一周事件.
1900/1/1 0:00:009月14日,据彭博社报道,沃尔玛公司(WalmartInc.)已就昨日晚间市场流出「沃尔玛宣布支持使用莱特币支付」的虚假新闻进行调查。该新闻发布后莱特币短时拉升超30%.
1900/1/1 0:00:00“在元宇宙里面,你感觉与其他人在一起,就如现实中的跳舞、健身一样,不同的在于这种体验是不能在一个2D应用程序或网页上能做到的.
1900/1/1 0:00:00巴比特讯,据慢雾区情报,2021年9月12日,Avalanche上ZabuFinance项目遭受闪电贷攻击,慢雾安全团队进行分析后以简讯的形式分享给大家.
1900/1/1 0:00:00