原创 2018-01-01 小馒头 eMoneyHome数字货币
圣诞节,闪电网络团队宣布测试版本RC1发布,主网版本已经研发完成,即将部署。
什么是闪电网络?
闪电网络是BTC社区提出的一个高频小额交易低延时低手续费交易方案。解决了比特币交易费用高,交易速度慢,区块总大小不断膨胀的问题。还记得上周讨论过的IOTA么(详见公众号emoneyhome,IOTA:一个月涨10倍的神币)。IOTA就是以低延时,无手续费作为最大亮点,对其他虚拟货币实现了降维打击,创造了月涨10倍的神话。而闪电网络的出现使得BTC也具有了类似的能力。注意:是"类似"的能力,闪电网络会极大的提高交易速度,极大降低交易费,但是无法实现零交易费。
off-chain链外交易
受限于区块大小和出块速度,BTC平均每十分钟能处理的交易量几乎是固定的。随着BTC的受众增多,BTC上的交易量增大,而每秒处理总量不变,交易速度直线下降。为了让交易更快被处理,交易者不得不提高矿工费。于是恶性循环形成:交易量越大,交易速度越慢,交易费越高。为了解决问题,社区提出了区块扩容和加快出块速度等方案。这些方法都是对已有方案的改进,就算最极端的扩容8M的方案,对于目前拥堵的BTC网络来说也只是隔靴搔痒,无法从根本上解决问题,而且还会迅速增加BTC网络的数据量。既然使用区块链进行交易确认如此缓慢,那对于频繁的小额交易,不使用区块链进行确认,直接将交易放到链外执行,不就行了么!这就是闪电网络的核心思想:大部分交易在链外执行,只有当最终交易全部完成,或者发生争议的时候才提交到区块链进行处理。
保证金机制
RSMC(Recoverable Sequence Maturity Contract可撤销的线性成熟合约)本质上就是一个保证金制度,支付双方将保证金打入一个以多重签名地址形式存在的支付通道中。我们假定A和B会进行频繁的小额交易,那么A和B都需要预先向支付通道提交足额的保证金。支付的本质就是双方重新确认支付通道中资金的分配方案。一旦方案确定,任何一方违约,另一方都会获得全部保证金。真正的最终决算仍然需要在区块链上进行。
比如:A和B分别往支付通道中打入了0.001BTC。达成初始协议一:A拥有0.001BTC,B拥有0.001BTC。此时A向B购买了一杯咖啡支付了0.0003BTC。则AB会重新达成协议二,确认资金分配方案:A拥有0.0007BTC,B拥有0.0013BTC。紧接着,B向A买了一顶帽子支付0.0005BTC,则AB会再次达成协议三,确认资金分配方案:A拥有0.0012BTC,B拥有0.0008BTC。如果B想从支付通道中取回0.0008BTC,则需要将B在支付通道中拥有0.0008BTC的协议提交到区块链,在得到区块链确认,且A没有提出异议的情况下。A将从支付通道中取回0.0012BTC,B将会从支付通道中取回0.0008BTC。
防止双花
双花问题是区块链的经典问题。本质就是如何避免B利用区块链的确认延迟,用同一份钱,同时向多个卖家进行支付。在闪电网络中,因为在支付之前保证金已经被打入了支付通道,所以并不存在双花的问题。但是会存在另一个问题:B作弊,向区块链提交非最新的协议版本,以期自己获得更多BTC。
比如:如果B作弊,将协议二提交给区块链,就能获得0.0013BTC,而不是他应得的0.0008BTC。闪电网络是如何避免这种情况发生的呢?在B将协议提交给区块链之后,B不会立马获得比特币,而是会在一段时间内等待A的确认。A在确认时会发现B作弊,A会向区块链证明自已拥有比协议二更新的协议三,以此证明B作弊。在发现作弊后,区块链会罚没B的所有保证金,全部归A所有。
支付链
如果所有买卖双方都需要建立自己的支付通道,这样的开销对于区块链来说也是极大的,而且是不必要的。一个更好的方式是复用已有的支付通道。比如A和B有支付通道,B和C有支付通道。如果A要向C进行支付,AC并不需要建立支付通道,A只需要向B支付,B再向C支付就行了。这是通过HTLC(Hashed Timelock Contract哈希时间锁合约)实现的。
比如:A要向C支付0.005BTC。C会生成生成一个密钥R和锁Hash(R),并且将锁Hash(R)发送给A。A会向AB的支付通道中打入0.0051BTC,并且告知B,如果你能在两天内打开锁Hash(R),支付通道中的钱就是你的了。B会向BC的支付通道中打入0.005BTC,并且告知C,如果你能在一天内打开锁Hash(R),支付通道中的钱就是你的了。C拥有密钥R,当然能打开锁Hash(R),取走BC支付通道中的0.005BTC.在C取走钱后,B也拥有了该密钥,B也能打开锁Hash(R),取走AB支付通道中的0.0051BTC。其中的差价0.0001BTC就是A为这次交易额外支付给B的费用。所以通过支付链进行交易是需要收取一定的交易费的,但是其交易速度和交易费是明显低于链上交易的。
雷电网络
以太坊几乎照抄了闪电网络方案,实现了自己的雷电网络。基于以太坊的智能合约特性,对闪电网络进行了一定的改进。在雷电网络中支付通道不再是一个多重签名的地址,而是一个智能合约。HTLC机制升级为了更为通用的smart condition智能条件,智能条件不仅仅限于hash值,而可以是任何可以被智能合约执行的函数。锁机制也由hash锁+时间锁升级为了重试hash锁+收据hash锁+时间锁。雷电网络的目标是希望将以太坊作为一个侧链导入其他加密货币,依托以太坊智能合约为各类加密货币开发微支付通道。
尚需改进的部分
新的技术不可能完美无缺,闪电网络也不例外。闪电网络的通道建立需要额外的开销,并且对支付链的支持不够理想。比如A/B/C/D/E/F组成了一条支付链,如果其中一个节点断线了该如何应对?如何鼓励节点长期在线?如何查找A到F的最短路劲?支付链会否导致支付路径的中心化:存在几个超级中介节点,连通了几乎所有路径?
毫无疑问,闪电网络的部署会是比特币历史的一个重要里程碑。交易速度快,交易费用低,比特币的前景不可限量。当然,支持雷电网络的以太坊同样前程远大。请坐稳扶好,要发车了!
参考文章:
https://www.weusecoins.com/assets/pdf/library/Lightning Network Whitepaper.pdf
https://twitter.com/theonevortex
http://www.etcfans.com/Technology/189.jhtml
http://xinsheng.huawei.com/cn/index.php?app=forum&mod=Detail&act=index&id=3700315
https://www.jianshu.com/p/4037b031b924
https://www.7234.cn/news/30943