闪电网络

比特币出现后,区块链技术被广泛关注,但是不论比特币系统中还是后来根据区块链技术发展的区块链系统中,并发量和系统处理能力一直是困扰区块链发展的一个问题。

比特币作为最成功的区块链应用,处理能力全网每秒只有7笔,每年的吞吐量约2.2亿笔,而平均十分钟生成一个区块,基本6个区块生成后这个区块才确认有效(当然大额交易可能时间更长),导致平均要1个小时左右才能确定交易的最终完成。而对于分布式账本数据的容量来说,这个是一个只增不减的持续过程,目前完整账本已达到150G以上。比特币社区中一直试图想办法解决交易处理能力不足的问题。由于共识机制的问题(共识机制POW是比特币网络中核心模块,控制区块产生条件),交易处理能力和容量问题一直无法很好的处理。

2015年底,Joseph Poon 和 Thaddeus Dryja提出一个闪电网络(lightning network)“闪电网络”的论文(The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments)中文版:https://wenku.baidu.com/view/f3bd55ea763231126fdb1150.html

闪电网络-可能是影响最大的技术之一

闪电网络的出现被认为是继中本聪大神的创世论文(比特币:一种点对点的电子现金系统)后对区块链影响最大的一个技术。之前比特币优试图通过区块扩容(1m-2m-4m-8m),隔离见证等方式增加交易的处理能力,但是都不是一个完美的方案,既然链中处理艰难,那么在链下处理,闪电网络为这个设想提供了一个可扩展的微支付通道网络。

闪电网络通过点对点直接支付或者网络路由的方式间接支付,实现一种离线支付功能。闪电网络关键技术:RSMC(Recoverable Sequence Maturity Contract)、HTLC(Hashed Timelock Contract)。

RSMC:RSMC为网络中交易的双方之间的微支付通道定义了最基本的工作方式,

下图简要说明:

闪电网络-可能是影响最大的技术之一

首先通道中有一部分的资金,在通道中记录双方的资金明细,通道建立后:A0.6、B0.4,这个时候A支付B 0.1,状态变成A0.5、B0.5,双方签名同意上一版本明细作废,一段时候后A再次支付B0.1,状态变成A0.4、B0.6,双方签名同意上一版本明细作废,这都是在通道中执行的操作,在通道关闭前,A向区块链出示双方签名同意的账户资金明细分配,B在一段时间没有异议,那么通道关闭双方的明细最终变成:A0.4、B0.6。

当然这种方式里还有一个奖罚机制,通道的中主动要求终止通道的资金到账币对方晚,通道中最初的双方资金的明细可以认为是结算准备金,这种方式有效控制风险,每一笔交易不能超出结算准备金的限制。

HTLC:RSMC可以认为只支持简单的小额支付,但HTLC支持了有条件的资金支付,这使得余额的分配方式会变得更加复杂,通过下图解释:

闪电网络-可能是影响最大的技术之一

通过HTLC可以认为A、B直接通过事先约定的协议来支付,A0.6、B0.4,这时候约定到某区块高度,并且B出示一个X值,这个值经过HASH运算,与事先约定的值相同,那么久转账0.1,A0.5、B0.5,再过一段时间到某区块高度,并且B出示一个Y值,这个值经过HASH运算,与事先约定的值相同,那么久转账0.1,A0.4、B0.6,事先对双方BTC值做了冻结,这些操作都会在区块链下进行,双方签字认定后,作废之前的认定,最终需要A、B任何一方公开最终的余额的方式才能终止通道。如对闪电网络中的网络架构需要深入了解可参考:http://www.8btc.com/ln-rn-corda

闪电网络-可能是影响最大的技术之一

闪电网络则通过HTLC来实现,首先假设现在有多个用户A,B,C,D,详见下图:

闪电网络-可能是影响最大的技术之一

A要支付给D一笔费用,那么A无法直接到达D,之间必须经过B和C,这样就构成了A\B B\C C\D三条微通道,双方之间都和HTLC合约,那么B先向A出示一个正确的值X,X经过HASH运算,于约定一致即可交易,同理C和B、D和C也一样,如果X值计算不通过,那么则这笔交易就会退回,约定之前的时间,在规定时间内,如果整个验证都正常,那么A就正常支付给D一笔费用,当然后节点间交易也可能产生一定的交易费用给B和C,整个过程技术架构并不复杂,和传统的中心化交易系统相比,不需要中介转移费用,整个交易也是透明,可追溯,不可更改。

相关文章