理解闪电网络主要分为两步,一是理解双向支付通道,二是诸多通道扩展成闪电网络。
闪电网络想要解决的是比特币扩容、交易即时确认和手续费高的问题。举个例子来说明闪电网络整体思路,设想我们的老朋友Alice要给Bob转1个比特币,她该怎么做呢?
传统做法是Alice可以挑选出其未花费的输出用对应私钥签名,并向比特币网络广播,矿工验证打包,一般来说6个区块之后即可确认交易。这个过程很慢,需要等待一个小时左右,并且还要支付给矿工的手续费。于是呢,天才的程序员们碰撞出了闪电网络的解决方案。
操作过程是这样的,Alice和Bob先各自把5个BTC转给一个由两人共同控制的多重签名地址。这笔交易和比特币网络上其他普通交易没什么太大区别,只是转出的地址是一个多签地址。这个过程称为开启通道。
多重签名技术(multisig)是多个用户同时对一个数字资产进行签名。可以简单地理解为,一个账户多个人拥有签名权和支付权。如果一个地址只能由一个私钥签名和支付,表现形式就是1/1;而多重签名的表现形式是m/n,也就是说一共n个私钥可以给一个账户签名,而当m个地址签名时,就可以支付一笔交易。例如,多重签名2/3,表示3个人拥有签名权,而两个人签名就可以支付这个账户里的比特币;多重签名1/2,表示2个人拥有签名权,谁都可以单独来支配这笔资金。
开启通道后,这个多签地址里面就拥有10个比特币,这是被区块链记录了的,全网承认。接下来就是Alice和Bob私底下的交易了,不广播,不记在链上,正因如此,交易确认速度快,几乎零手续费(其实可能还有较低的路由费,后文会讲),这个过程称为链外交易,在交易通道(channel)中进行。
(注意:有很多人问为什么闪电网络很快,我想说,没有第三方记账当然快啊。)
1.构建双向支付通道
什么是通道?怎么在通道进行交易呢?它安全吗?
简单来说,Alice和Bob都会在各自的小本本上记账,他们都知道对方怎么记的,且有密码学设计保证谁也不能多记耍赖。这当然也是由闪电协议精巧的设计保证的,后文再讲技术细节。
那么我们就可以想象出这样一个通道:在这个通道中,一开始Alice和Bob各有有5个,如果第一笔记“Alice有4个,Bob有6个”,这就相当于Alice给Bob转了1个比特币。如果,过了几天,Alice又要向Bob支付2个比特币,那么他俩会再记一次账,这次记“Alice有2个,Bob有8个”,同时上次记的“Alice有4个,Bob有6个”在两人共同确认后作废,也就是说,本次记账后,Alice只有2个比特币,她不能再拿出旧账单说“Alice有4个,Bob有6个”。
注意,在通道关闭之前,这10个比特币只能在Alice和Bob之间使用。也就是说,在不关闭通道的情况下,主网只知道多签地址有10个比特币,并不知道Bob已经拥有了其中的8个比特币,这就是所谓“双向支付通道”。
关于这个记账过程,EthFans翻译的《用算盘了解闪电网络》可以说很形象了。
之后Alice和Bob就可以在通道里过上你来我往的相互转账的愉快生活,远离主链的拥堵与高费用。这就好比俩人结婚了,夫妻们想要私下结算,只要俩人同意,想怎么算就怎么算。
天有不测风云,突然有一天,Alice不想和Bob这么转来转去了,想取出自己在通道里的钱去外面的花花世界潇洒快活。那么就需要关闭通道了,常有两种方式,一是协议离婚,如下图,这种方式很和平,双方共同从最开始的多签地址签名发起一笔交易分别转到两人各自控制的地址对应数额的比特币,同时将之前记在小本本上的所有旧账一笔勾销。
二是起诉离婚,Alice想离而Bob不想离,这时Alice可以单方面强制关闭通道,将小本本最后一笔交易广播出去,只要矿工验证并打包进区块,这婚也算离了,代价是Alice并不能立马得到比特币,需要等待一定时间。
此文由 中国比特币官网 编辑,未经允许不得转载!:首页 > 比特币行情 » 闪电网络很难懂?你需要看看这篇文章 | 硬核科普