有过比特币提币、转账等交易的人相信都感受到过,整个比特币网络拥堵不堪,交易费节节攀升,对比传统金融结算系统已经没有速度上的优势。究其原因,无非是比特币的设计原因:
平均每10分钟出一个区块,每个区块大小为1M
。所以,每10分钟能打包确认的交易是有限的,同时由于矿工是趋利的,会有限打包手续费高的交易,导致交易费的攀升。
这个是闪电网络试运行一段时间后的交易费
于是,比特币社区开启了旷日长久的扩容大战,也就有了之前的文章《
分叉闹剧与最强算力比特大陆帝国背后的故事
》。
大区块派主张链上扩容,而小区块派则坚持链下扩容。链下扩容的方案就是我们今天的主角闪电网络。
闪电网络以比特币区块链为后盾,在链下实现真正的点对点微支付交易,区块链处理能力的瓶颈被彻底打破,时延、最终性、容量甚至隐私问题也迎刃而解。
社区不少人甚至认为:“闪电网络”的论文(The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments)对比特币的重要性仅在中本聪的创世论文之下,排名第二。
核心的概念主要有两个:RSMC(Recoverable Sequence Maturity Contract)和 HTLC(Hashed Timelock Contract)。前者解决了链下交易的确认问题,后者解决了支付通道的问题。
是不是看起来很复杂很难理解,没关系,我们可以用通俗的方法来理解。
1.RSMC
闪电网络的基础是交易双方之间的双向微支付通道,RSMC定义了该双向微支付通道的最基本工作方式。
假设A(Alice)和B(Bob)之间要打开一个支付通道,A和B则需分别往一个2-2签名的多重签名地址转入一定额度的比特币。
假设为{Alice: 0.4, Bob: 0.6},意味着打入通道的资金共有1个 BTC,其中A拥有0.4 BTC,B拥有0.6 BTC。通道的设立会记录在比特币区块链上。通道的设立会记录在比特币区块链上。
假设B决定向A支付0.1 BTC,双方在链下对最新的分配方案{Alice:0.5, Bob:0.5} 签名认可,并签名同意作废上面的分配方案。
如果A打算终止通道并动用她的那份资金,她可以向区块链出示双方签字的余额分配方案。如果一段时间之内B不提出异议,区块链会终止通道并将资金按协议转入各自预先设立的提现地址。
如果B能在这段时间内提交证据证明A企图使用的是一个双方已同意作废的分配方案,则A的资金将被罚没并给到B。
为了鼓励双方尽可能久地利用通道进行交易,RSMC对主动终止通道方给予了一定的惩罚:主动提出方其资金到账将比对方晚,因此谁发起谁吃亏。
2.HTLC
HTLC可以简单理解为,通过智能合约,双方约定转账方先冻结一笔钱,并提供一个哈希值,如果在一定时间内有人能提出一个字符串,使得它哈希后的值跟已知值匹配(实际上意味着转账方授权了接收方来提现),则这笔钱转给接收方。
这么做使得分配方案更复杂了,有何意义呢?
假设A想给C发送0.05 BTC,但A和C之间并没有微支付通道。但这没关系,A找到了一条经过B到达Ce的支付路径,该路径由A/B和B/C这样2个微支付通道串接而成。
A签名了一个转账密文H给C
,由于A与C没有直接的支付通道,C收不到这笔转账。
现在,
A和 B商定一个HTLC
合约:只要B能在2天内向A出示正确的密文,A则支付B 0.051 BTC,否则钱会自动退还给A。
B和 C商定一个HTLC
合约:只要C能在1天内向B出示正确的密文,B则支付C 0.05BTC,否则钱会自动退还给B。
现在,由于A已经把密文告诉了C,C只要向B出示正确的密文,就能收到0.05BTC。而多的0.001 BTC成了B的佣金,也可以理解为旷工费。
3.闪电网络
这个交易机制可以扩展到非常多的人,也就形成了闪电网络。在整个交易中,智能合约起到了中介的重要角色,而区块链则确保最终的交易结果被确认。