【知识科普】解读闪电/雷电网络,零基础秒懂!

知识科普,解读闪电/雷电网络,零基础秒懂!

闪电网络的技术是革命性的,将实现即时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版本的规划,计划把智能合约升级到可以使用状态通道,这样就可以解决资源共享问题。总之,闪电网络的技术我个人认为是革命性的,我非常期待闪电网络的应用。

PS:闪电网络对应的代币是 rnd 这个看好的可以买点囤币。

 

===================

本人微信公众帐号: 心禅道(xinchandao)

本人微信公众帐号:双色球预测合买(ssqyuce)

         囤币一族(tunbitt)公众号二维码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/390915.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring框架里面applicationContext.xml 和spring-servlet.xml 的区别

问题:spring框架里面applicationContext.xml 和spring-servlet.xml 的区别 在Spring框架中applicationContext.xml和Spring -servlet.xml有任何关系吗? DispatcherServlet可以使用到在applicationContext.xml中声明的属性文件吗? 另外,为什么我需要*…

Alpha 冲刺 (5/10)

【Alpha go】Day 5! Part 0 简要目录 Part 1 项目燃尽图Part 2 项目进展Part 3 站立式会议照片Part 4 Scrum 摘要Part 5 今日贡献Part 1 项目燃尽图 Part 2 项目进展 已分配任务进度博客检索功能:根据标签检索流程图 -> 实现 -> 测试近期比…

多维空间可视化_使用GeoPandas进行空间可视化

多维空间可视化Recently, I was working on a project where I was trying to build a model that could predict housing prices in King County, Washington — the area that surrounds Seattle. After looking at the features, I wanted a way to determine the houses’ …

蛮力写算法_蛮力算法解释

蛮力写算法Brute Force Algorithms are exactly what they sound like – straightforward methods of solving a problem that rely on sheer computing power and trying every possibility rather than advanced techniques to improve efficiency.蛮力算法听起来确实像是–…

NoClassDefFoundError和ClassNotFoundException之间有什么区别?是由什么导致的?

问题: NoClassDefFoundError和ClassNotFoundException之间有什么区别?是由什么导致的? NoClassDefFoundError和ClassNotFoundException之前的区别是什么? 是什么导致它们被抛出?这些问题我们要怎么样解决? 当我在为了引入新的jar包而修改现有代码…

关于Tensorflow安装opencv和pygame

1.安装opencv https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv C:\ProgramData\Anaconda3\Lib\site-packages>pip install opencv_python-3.3.1-cp36-cp36m-win_amd64.whlProcessing c:\programdata\anaconda3\lib\site-packages\opencv_python-3.3.1-cp36-cp36m-win_a…

内置的常用协议实现模版

SuperSocket内置的常用协议实现模版 中文(中国)Toggle Dropdownv1.6Toggle Dropdown关键字: TerminatorReceiveFilter, CountSpliterReceiveFilter, FixedSizeReceiveFilter, BeginEndMarkReceiveFilter, FixedHeaderReceiveFilter 阅读了前面一篇文档之…

机器学习 来源框架_机器学习的秘密来源:策展

机器学习 来源框架成功的机器学习/人工智能方法 (Methods for successful Machine learning / Artificial Intelligence) It’s widely stated that data is the new oil, and like oil, data needs the right refinement to evolve to be utilised perfectly. The power of ma…

linux gcc 示例_最好的Linux示例

linux gcc 示例Linux is a powerful operating system that powers most servers and most mobile devices. In this guide, we will show you examples of how to use some of its most powerful features. This involves using the Bash command line.Linux是功能强大的操作系…

帆软报表和jeecg的进一步整合--ajax给后台传递map类型的参数

下面是页面代码&#xff1a; <% page language"java" contentType"text/html; charsetUTF-8" pageEncoding"UTF-8"%> <%include file"/context/mytags.jsp"%> <% String deptIds (String)request.getAttribute("…

@Nullable 注解的用法

问题&#xff1a;Nullable 注解的用法 我看到java中的一些方法声明为: void foo(Nullable Object obj){…}在这里Nullable是什么意思?这是不是意味着输入可以为空? 没有这个注解&#xff0c;输入仍然可以是null&#xff0c;所以我猜这不是它的用法? 回答一 它清楚地说明…

WebLogic调用WebService提示Failed to localize、Failed to create WsdlDefinitionFeature

在本地Tomcat环境下调用WebService正常&#xff0c;但是部署到WebLogic环境中&#xff0c;则提示警告&#xff1a;[Failed to localize] MEX0008.PARSING_MDATA_FAILURE<SOAP_1_2 ......警告&#xff1a;[Failed to localize] MEX0008.PARSING_MDATA_FAILURE<SOAP_1_1 ..…

呼吁开放外网_服装数据集:呼吁采取行动

呼吁开放外网Getting a dataset with images is not easy if you want to use it for a course or a book. Yes, there are many datasets with images, but few of them are suitable for commercial or educational use.如果您想将其用于课程或书籍&#xff0c;则获取带有图像…

git push命令_Git Push命令解释

git push命令The git push command allows you to send (or push) the commits from your local branch in your local Git repository to the remote repository.git push命令允许您将提交(或推送 )从本地Git存储库中的本地分支发送到远程存储库。 To be able to push to you…

在Java里面使用Pairs或者二元组

问题&#xff1a;在Java里面使用Pairs或者二元组 在Java里面&#xff0c;我的Hashtable要用到一个元组结构。在Java里面&#xff0c;我可以使用的什么数据结构呢&#xff1f; Hashtable<Long, Tuple<Set<Long>,Set<Long>>> table ...回答一 我不认…

github 搜索技巧

1、关键词 指定开发语言 bitcoin language:javascript 2、关键词 stars 数量 forks 数量 bitcoin stars:>100 forks:>50

React JS 组件间沟通的一些方法

刚入门React可能会因为React的单向数据流的特性而遇到组件间沟通的麻烦&#xff0c;这篇文章主要就说一说如何解决组件间沟通的问题。 1.组件间的关系 1.1 父子组件 ReactJS中数据的流动是单向的&#xff0c;父组件的数据可以通过设置子组件的props传递数据给子组件。如果想让子…

数据可视化分析票房数据报告_票房收入分析和可视化

数据可视化分析票房数据报告Welcome back to my 100 Days of Data Science Challenge Journey. On day 4 and 5, I work on TMDB Box Office Prediction Dataset available on Kaggle.欢迎回到我的100天数据科学挑战之旅。 在第4天和第5天&#xff0c;我将研究Kaggle上提供的TM…

sql limit子句_SQL子句解释的位置:之间,之间,类似和其他示例

sql limit子句什么是SQL Where子句&#xff1f; (What is a SQL Where Clause?) WHERE子句(和/或IN &#xff0c; BETWEEN和LIKE ) (The WHERE Clause (and/or, IN , BETWEEN , and LIKE )) The WHERE clause is used to limit the number of rows returned.WHERE子句用…

在Java里面使用instanceof的性能影响

问题&#xff1a;在Java里面使用instanceof的性能影响 我正在写一个应用程序&#xff0c;其中一种设计方案包含了instanceof操作的大量使用。虽然我知道面向对象设计通常试图避免使用instanceof&#xff0c;但那是另一回事了&#xff0c;这个问题纯粹只是讨论与性能有关。我想…