闪电/雷电网络
原文地址:https://www.cnblogs.com/zdz8207/p/qkl-rnd-pay.html
闪电网络的技术是革命性的,将实现即时0手续费的小金额支付。第一步是解决扩容问题,第二部就是解决共通性问题,利用原子交换协议和不同链条的状态通道结合,进行不同公有链原生币兑换,例如实时兑换莱特币到比特币,以太坊到莱特币等。智能合约升级到可以使用状态通道解决资源共享问题。
接触币圈或者链圈的朋友应该在不同的地方看到过别人提起闪电网络或者雷电网络作为链条的扩容方案,可以让比特币和以太坊真正的普及。闪电网络在比特币使用了隔离认证之后就会开始开放,我们今天来看看它到底是什么?
网上大部分介绍的都太复杂或者太技术。一般人都看不懂,今天我将会用比较通俗易懂的举例方式让大家最直观的了解这个东西的原理。
首先,大家听到的闪电和雷电网络,其实是同一种技术,之所以给他取两个名字是因为闪电网络是针对比特币的,而雷电网络是基于以太坊的。
这两个技术都是为了解决现有的链条扩容问题,闪电网络最牛的地方是推出后,比特币转账可以做到免费而且即时到账。是不是很牛逼?在介绍闪电网络前, 我们先来了解一下当前比特币和以太坊面临的最大问题,为什么现在无法做到这些?
比特币和以太坊面临的最大问题
现在面临的最大问题就是我们经常说的扩容问题,也就是他们都无法像支付宝一样做到即时到账,手续费0或者极低,然后也支持小额付款。
是什么原因导致它们无法像支付宝一样即时到账?这里我们先要了解比特币和以太坊是如何运作的。
举个例子:
小明要给小红转账 1 个比特币,在转比特币的时候他还要支付一个高额的手续费,比特币手续费现在通常在10-30美金之间。手续费问题一会儿我们再聊,这里大家就需要知道小明现在要给小红转账1个比特币。
下面这个就是分布式账本了。这里就能很直观的看出来,一个一个区块,被中间的链,连接起来,形成的区块链对吧?每个节点都拥有自己的一个账本,我这里有2个账本,如果看比特币的话就有很多个账本分布在全球各地,每个矿工都有自己的账本,所以我们叫它分布式账本,所有账本都记录着同样的东西。账本用来记录所有交易记录,而比特币的1个区块是1MB。
这里我们把其中一个区块拿出来,看看它大小只有1MB,也就是说只能装得下有限交易信息。矿工做的事情就是制作新的区块并把所有人的交易信息记录到区块里面。只有记录到区块里面的信息,才是被确认的合法交易信息。
咱们大家经常在交易所提币,充币的时候,是不是交易所都会提示一般需要6个确认后才能确认币到账了?这6个确认指的是在你的交易信息被写入到一个新的区块后,这个区块后面要再产生6个新的区块,那么你的这个交易就合法了。
为什么是6个呢?因为随着新的区块产生,之前的区块信息就越不好逆转,在得到了6个确认后,差不多需要整个网络10%的算力攻击才有可能逆转,所以不太可能。当然每个交易所要求不一样,有的对于小金额根本1个确认就可以了,这也经常见到。
总之一个区块大小只有 1MB,也就是说只能装下有限的交易数量。假设每个区块最多装500个交易信息,实际原理要复杂一些,我们这里就假设一下。如果咱们只看比特币的话,比特币尽管每时每刻都有矿工在记录交易信息和制造新的区块,但是由于每个区块只能装500个,后面永远都有差不多 1万笔 未确认的交易在排队。如果随着以后使用比特币的人越多,这个未确认的队伍还会越来越长。
这里大家看到区块后面这么多小黑点吧?每个黑点都代表着一个未确认或者还未处理的交易请求。 那么大家看看最下面,小明转账给小红这1个BTC的请求,在最下面。他要等到上面这些其他请求都处理完了才能排到他。所以这也是为什么有的时候我们要等很久币才能到账,因为你在排队。
当然,还有一种办法就是可以插队,当你选择支付手续费后,就相当于是插队了,因为对于矿工来说,永远都会选择手续费高的交易请求先处理。
这里相当于是,逢年过节去夜店,夜店门口,本来大家都在排队,你跑到最前面说,哥们,能不能让我先进去?我这边带了个妹子不能等啊。然后对方叼都不叼你的,让你回去排队。随后你偷偷摸摸地给他手里塞了100块软妹币,即刻看到他对你会心一笑,直接说,大哥里面请。
但是这个方法不是只有你知道,所有人都知道给手续费就可以插队,所以也是为什么比特币交易手续费只会越来越高,想要给小费插队的人越来越多,夜店只有500个位置,大家都在竞争。
这个问题其实以太坊更严重,特别是有火热的ICO进行的时候,整个区块链网络特别拥堵,想要参与ICO的人甚至要付出高于平常10倍到20倍的GAS才能完成支付请求。就相当于是夜店本来就要排队,今晚周杰伦还来表演,你想想,想挤进去的话,要额外给多少手续费,对吧?
所以大家现在明白了原理,可以想一下,现在的比特币根本无法进行任何小额付款。
例如出去买个菜,早上到路边买个煎饼果子,这种小额付款,连手续费都不够,同时还要等确认等。这也是为什么很多人批判比特币无法普及,因为的确,现有的区块链架构导致他根本就不可能做到像支付宝一样,即时付款,秒到,低手续费这些。
当然,随着区块链技术发展,我们也找到了相关的一些解决方案。其中包括侧链,分片和今天讲的闪电网络。闪电/雷电网络应该是大家公认的最靠谱和最有可能实现的比特币和以太坊扩容方案。
闪电网络如何解决问题:
闪电网络简单来说就是链下支付通道,利用状态通道的技术。那么是什么意思呢?我们再来看看小明和小红的例子。
假设小明经常给小红转账,小红可能是街边的卖煎饼果子的,每天早上小明都去买一个煎饼果子,假设一个煎饼果子0.0001个比特币。连续去了3天之后,小明很郁闷,每次给小红转账0.0001个比特币的手续费就够再买好几个了,所以小明跑去跟小红商量。
小明:
红姐,你这边这个煎饼果子我真是喜欢,能不能在你这边挂个帐,然后我月底跟您结算?我不是没钱,我有钱,就是这个手续费和等待时间太长,太麻烦了。
小红:
挂账不行,你一旦跑了怎么办,我这是小本买卖,给你开了个头,其他客人都要挂账了,那我怎么做生意?要不你预付吧,钱先给我。
小明:
也不行,我也担心你跑了呢?你这边是个路边摊啊。
后来他俩想了个办法,他们找了一个透明的箱子,然后上面有两把锁,小明把1个比特币放在里面,这样双方都能看到有一个固定金额的比特币已经锁定在这个箱子里了,然后这里有2把钥匙,需要他们双方才能打开,里面的比特币才能拿出来。
这样大家都放心,以后小明的所有消费也都记录在一个独立的账本上,每次消费双方签个字就可以完成交易,最后只有结算的时候,双方才打开这个箱子并算总账。只要箱子里的钱还够,小明可以这样消费很久,1个比特币的话,够他吃一年的煎饼果子。
根据这个例子,其实小明和小红之间创建了一个支付通道,创建的时候小明需要把一定金额的比特币锁定到一个多签名钱包,就相当于这个透明的箱子,这个钱包需要双方的秘钥才能打开。在通道建立好了之后,双方发生的所有交易,可以是单向的也可以是双向的,全部是链下进行。这些交易可以进行无数次,只要他俩的账上总额等于锁定的总额就行可以,小明和小红之间可以转来转去而不消耗任何链上资源,所有交易都是链下完成,免费,即时的。
到了最后通道关闭的时候,也就是任意一方说“我现在想要结算了”,那么系统会核实双方的最终余额情况。这里的例子是小明还有0.7BTC,小红有0.3BTC, 这一条信息会广播到比特币的公链上,然后锁定的1个比特币,0.3个发放给小红,0.7个发放给小明。
也就是说,在使用支付通道的情况下,只有2条信息是广播到公链上的。第一条创建通道和锁币的信息,以及最后一条关闭通道并确认最终余额。我刚刚的例子是单向的,如果交易关系是双向的话,也就是小明和小红需要经常双向来回转账,前期在锁定的时候,小明和小红可以各锁定1个比特币,然后按照同样的逻辑建立支付通道。
闪电网络基本概念就是这样利用链下的支付通道解决链上的交易问题。那么看到这里可能你会说,很多时候我转账可能给某个人也就是发生一次关系,这种时候如果每次都要建立一个通道的话,其实也没解决什么问题。的确,所以闪电网络最厉害的地方是在于,利用状态通道,可以让没有建立关系的两个人相互转账。
现在我们看到3个人,小明,小红和小黑。小明和小红有支付通道,小红和小黑有支付通道。这样小明就可以利用小红的通道给小黑支付了,就不需要单独跟小黑建立支付通道。但是中间又存在了一些信任的问题,如果小明把钱给了小红,他如何保证小红会把钱给小黑呢?有可能小红拿着钱就走了。
所以这里加入了一个暗号,这个暗号只有小明这个发款人知道。
例如:
小明现在要转0.1个比特币给小黑,暗号是天王盖地虎,然后小明把这个含有0.1比特币的箱子发给了小红,小红一看上面写着天王盖地虎暗号,知道这个钱她自己永远提不了,并且箱子里有0.1个比特币最终目的地(收款方)是小黑。
小红在自己和小黑的通道里面给小黑也发了一个0.1比特币的箱子,暗号天王盖地虎。小黑收到小红的箱子后,小明就收到了提示,因为他查看交易记录发现箱子的确已经到了小黑那边,就告诉小黑,口令是小鸡炖蘑菇。
小黑输入口令箱子打开,就从和小红的支付通道内拿走了0.1个比特币并把口令告诉了小红,小红得到暗号后,输入小鸡炖蘑菇,就可以打开小明当初的箱子同时拿回0.1个比特币。用同样的逻辑,我们可以跳转很多个不同的通道从而达到自己的目的地,当闪电网络建立起来之后,理论上来说我们可以通过不同的节点和任何人建立付款关系。
像这张图一样,闪电网络应用后,相信交易所将会变成最大的中转节点,因为很多人可能会愿意去锁定一定的BTC和交易所建立通道,这样通过交易所跳转,这个网络就会铺的很广,很大。
闪电网络面临的质疑:
大家现在应该基本了解了闪电网络的运作模式,如果该理论能够成为现实,那么就会实现比特币的最终价值,变成一种真正的流通货币,大家都可以即时,0手续费的小金额支付。闪电网络至今还没有启动,预期2018就可以开始运作了,当然由于这个技术至关重要,所以开发者也很小心,因为实在是容不得一点错误。
当然也有很多人质疑闪电网络。首先很多人认为闪电网络运作后会有很多中心化的大机构,例如交易所可以掌控这些支付通道;还有人质疑基于上面所说,由于中间节点是需要先预付出去的,如果每个人跳转次数超过6次以上的话,整个闪电网络需要锁定非常多的BTC来满足各种跳转支付;最后还有很多人质疑闪电网络没有给任何节点设计经济动力,感觉这个项目普及不起来。
像莱特币的创始人查理大帝前阵子就发布了一篇关于闪电网络的文章以及它未来对于区块链的整体意义。
他提到闪电网络第一步是解决扩容问题,第二部就是解决共通性问题,即利用原子交换协议和不同链条的状态通道结合,我们可以进行不同公有链原生币兑换。例如实时兑换莱特币到比特币,以太坊到莱特币,NEO到以太坊这些。
以后这些都有可能。同时雷电网络也做了2.0版本的规划,计划把智能合约升级到可以使用状态通道,这样就可以解决资源共享问题。