本文由币车HIT(biche.yaofache.com)大V养成计划支持
我读书,讲(写)给你听,跟键盘姐从零开始共同学习,每次学透一点点,形成清晰的知识脉络了。让我们一起深耕币圈,玩转区块链!
壹
今天,《从零开始学习区块链》的内容是闪电网络,闪电网络在比特币分叉中提及的,我们这里进一步讲解。
贰
闪电网络的诞生背景
话说,中本聪在创造比特币之初,没有限制区块大小,最大可达到32MB,由于当时使用的人比较少,为了避免区块过大造成的算力浪费,中本聪将区块大小定为1MB。但是随着比特币的发展,交易量越来越大,1MB的内存就不够用了,这样就造成了交易拥堵,大家排队等候记账,而且矿工费也增高了。
类比一下,假我们平时吃早点使用某宝付款,买早点6块钱,吃早点十分钟,这时候我们选择某宝支付,手续费需要10块钱,支付成功需要半小时,那么我们还会使用这个又慢又贵的某宝吗?
要解决这个问题需要给比特币系统升级,但是如何升级,大家争论不休。其中,两种方案发出的声音最强,一个是比特大陆的硬分叉,另一个是Core团队的软分叉。其中Core团队提出的软分叉,就是在比特币系统之外架一个闪电网络。我们今天的主人公,闪电网络,上场啦!
闪电网络
上图是巴比特网站对闪电网络的介绍。
闪电网络首次出现于发表于2015年的论文《The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments》中,其主要思路就是引导大量交易在比特币区块链外进行,比如为两个人之间的交易建一个交易链,记录他们之间的交易记录,这些交易记录并不需要全部记在区块链的账本上,只需要把交易的最后一笔记入就可以了。尤其是小额高频的交易,这样不仅疏通了道路而且降低了交易费用。
闪电网络是基于微支付通道,创造性的设计出两种智能合约:RSMC(序列到期可撤销合约)和HTLC(哈西时间锁定合约)。其中,RSMC解决了双向支付、链下交易确认问题,HTLC解决了跨点交易、支付通道的问题。
RSMC——链下交易确认
Recoverable Sequence Maturity Contract,“可撤销的顺序成熟度合同”。类似于准备金机制,它利用的具体原理比较复杂,我们这里采用举例子的方法了解一下它的简化模式。
李雷和韩梅梅是长期有比特币往来的合作伙伴,当他们采用闪电网络交易的时候,大致步骤是这样的。首先,他们之间要建立一个“资金池”,两个人分别在“资金池”预存一部分比资金,然后两个人还需要有个账本,他们之间每发生一笔交易,资金池金额都都会重新配置,同时在账本上记录一页,并且需要双方签字才算生效,这时候他们会把上一页账单作废,在生效账单上继续生成新账单。这样的过程,只需要两个人确认就可以,快速而且没有交易费用,当他们想要提现的时候,只需要将最后一页账单提交到区块链网络中就可以了。
在这个过程中,惩罚机制可以保证交易的安全。两个人中肯定是有一个人拿着账单去提现的,比如李雷先去提现,这时候系统会将资金先打给韩梅梅(即打给另一方),而李雷需要等1000次确认之后才可以提现,在这段时间内,如果韩梅梅提出李雷提现的账单不是最新的,李雷的资金就被没收了。这样可以确保没人拿旧账单提现。
HTLC——跨点支付
Hashed Timelock Contract ,“哈希的带时钟的合约”,我们同样通过一个例子来理解。
上面说到,李雷和韩梅梅之间建立了“资金池”即微支付通道,这时候,李雷和小红想要交易,但是两个人之间没有微支付通道,不过他们两个都和韩梅梅有支付通道,就可以通过韩梅梅实现跨点交易。比如,李雷需要向小红支付0.5BTC,这时候李雷的账户就会冻结0.5BTC,然后产生一个暗号(哈希值),这个暗号只有李雷和小红知道。这时候,李雷找到韩梅梅,告诉她,你告诉我那个哈希值,我就将0.5BTC转给你,但是韩梅梅不知道这个哈希值,所以她找到小红,转述同样的话。于是小红把哈希值给了韩梅梅,韩梅梅去李雷那里拿到了0.5BTC,然后小红再用这个哈希值从韩梅梅手里拿到这0.5BTC,这样李雷和小红之间的转账就实现了。
RSMC 解决了在链下两个人之间的直接交易的问题,HTLC 实现了任意两个人都可以通过一条“支付”通道进行。这两个智能合约结合形成的闪电网络可以实现任意两个人的线下交易。