资讯专栏INFORMATION COLUMN

区块链浅析

vspiders / 2632人阅读

摘要:直到比特币大火时,才对区块链技术感到一丝兴趣。看过比特币的白皮书,发现区块链技术是比特币的一个基础。这笔交易记录在正常的区块链中。总结相对于中心化的高成本的方式,区块链技术可能是一种解放生产力的技术。作为一名开发者,我相信区块链的未来。

前言

博客停更已经一阵子了,原因林林总总,从毕业到搬家,人生踏入了另一段旅程。今天我们的话题聊一聊区块链。这是我与我毕设相关的主题。大家对于区块链的争议,似乎一直存在。币圈那些陈谷子的事情,影响着区块链的发展。目前,众多区块链团队中,真正在研究区块链应用场景的,少之又少,同样能让区块链应用落地,也需要时间。但是,区块链技术的出现,可以说是一个金融领域和互联网领域的一个里程碑。下面我们来聊聊区块链技术吧。如果你喜欢我的文章,欢迎评论,欢迎Star~github博客

正文

其实,早在比特币大火之前,我就听说过区块链(看过一篇公众号讲述区块链与人才链之间的相关性)。当初,对于区块链的理解,并没有特别深刻,同时也毫不在意。在经济社会中,资本已经能够推动技术的发展了。直到比特币大火时,才对区块链技术感到一丝兴趣。

看过比特币的白皮书,发现区块链技术是比特币的一个基础。同时,毕业设计选择的主题也是与区块链相关的方向,所以,在此聊聊区块链。

简单来说,区块链就是一个分布式的账本,或者说分布式的数据库。这个数据库可以同步到节点网络中的每个节点。用阮一峰老师博客中的一张图来形容,如图:

这种图中,我们可以看到,之所以说是去中心化,是因为在整个节点网络中,每个节点都是参与者,每个节点都能够进行数据处理的操作,并没有一个统一的中心化服务器来进行业务处理。然后,每个节点处理的结果会被传播到整个网络中去,来同步全部的网络。

区块链的英文比较有意思,叫做blockchain。我们可以将blockchain拆分开来看就是block+chain(块+链)。所以,我们可以先来了解一下区块的内容。

区块

区块是什么?区块就是一个类似于数据库的东西,用来记录数据的地方。所以,每次系统写入数据时,都会创建区块。

下面,我们来看一下一副区块的实例图,如下:

这里开头有个Previous Hash就是用来记录上一个区块的Hash值的。这样就可以上一个区块和下一个区块连接起来。

同时,它也记录了区块的时间和区块内部的Data。Hash值,就是一种加密后得出来的字符串。Hash是一种单向加密,现实中很少出现Hash碰撞的事件。一般而言,Hash值的破解只能使用只能使用彩虹表等手段才能达到。其本身的安全性就是相对一般的加密方法要高的。我们会接触到的Hash加密有MD5加密、SHA128和SHA256。目前而言,SHA256是很难破解的。

说了这么多Hash相关的内容,回过头来说一下Block。我们可以来看一下,实际的一些Block表内容,如图:

这是一个测试网络的区块列表,我们可以看到它的block ID就是一个hash值。同时,它具备高度等特殊字段,来记录整个区块的内容大小。

了解了区块之后,我们来看一下区块链的形成。

链的形成

拿比特币举例,交易比特币的过程就是,区块形成的过程。区块的建立,就像账本的数据一样,有了数据就有了区块。同样的,生成区块的过程会产生一定的奖励。下面生成的区块会连接上一个区块的hash,这样可以保证整个区块链的不可更改性。如图所示:

如果黑客修改了第51块的内容,那么他就必须修改52块中51的Hash值。同时,修改了52的内容,导致了52本身的Hash值发生了变化。所以,这就导致了一系列的连锁反应。同时,区块链会往整个网络广播整个过程。这样,网络节点中的每个节点都会收到改变,改变自身的区块内容。

这样的设计,可以保证整个网络中的内容没有办法被外力而改变。这也说明整个网络是安全的。那么什么是51%的攻击呢?

我们来举个例子:

假设我具备了全网51%的算力,那么,我可以偷偷的计算出一个这样的区块链,包含我所有的比特币交易到我的私人账户的信息。这个区块链的长度为10,但是我不向全网进行广播。同时,我将所有的比特币放入到交易市场进行售卖。这笔交易记录在正常的区块链中。

当我交易所得美元进行提取时,正常的区块链长度应该是9。而我的隐藏的区块链长度是10,同时,将这个区块链广播到网络中去,然后通过观察网络会认为我后发的区块是正确的,从而到达修改了那笔交易记录的目的。

之后,就是双花问题的解决了。

双花问题

何为双花问题?从表意上来说,就是一个人在同一时间进行了两笔交易。这个问题,一直是支付系统的难点。无论是中心化的支付系统,还是去中心化的交易系统,都得面对这个问题。举个例子:

某某人,手里有20块钱。他同时与两个人进行了一笔20块钱的交易。现实生活中,你可以明确地发现问题。但是,相对于支付系统而言,并发的情况经常发生。一旦一个不完善的支付系统,双花问题是很容易发生的。当然,后端处理过程中,可以通过队列的形式来解决问题。但是,对于去中心化的交易系统而言,这个问题也需要解决。

每一笔交易的产生,都会产生一个区块,那么,往往会发现这么一种情况,如图:

我们可以看到,Block A和Block B就会同时去连接上一个区块。那么,相对于这个问题,比特币系统采用的规则就是选最长的那条链。通常,比特币采用的是6次确认规则。在1小时内,根据10分钟产生一个区块的原则,往往会生成一条6个长的区块。那么,只要确认下这条区块,就可以避免去连接其他区块了。

理论上是,区块链越长,准确性越高。

总结

相对于中心化的高成本的方式,区块链技术可能是一种解放生产力的技术。当然了,区块链的实际落地场景并不多,比特币是为数不多的,真正落地的应用。作为一名开发者,我相信区块链的未来。这篇内容中,我们讲述了:

区块的产生

链的形成

双花的问题

最后,希望大家能够对区块链感兴趣。

如果你对我写的有疑问,可以评论,如我写的有错误,欢迎指正。你喜欢我的博客,请给我关注Star~呦github博客

欢迎订阅微信公众号

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/24168.html

相关文章

  • 区块浅析

    摘要:直到比特币大火时,才对区块链技术感到一丝兴趣。看过比特币的白皮书,发现区块链技术是比特币的一个基础。这笔交易记录在正常的区块链中。总结相对于中心化的高成本的方式,区块链技术可能是一种解放生产力的技术。作为一名开发者,我相信区块链的未来。 前言 博客停更已经一阵子了,原因林林总总,从毕业到搬家,人生踏入了另一段旅程。今天我们的话题聊一聊区块链。这是我与我毕设相关的主题。大家对于区块链的争...

    Travis 评论0 收藏0
  • 对话 | 浅析NEO的dBFT共识算法

    摘要:转账手续费为的情况下,矿工怎么获得收益呢矿工这一概念,存在于共识算法中,共识算法中是没有矿工的存在的。也减少了作恶节点对整个区块链造成影响的可能性。随后由被选出的记账人团体通过算法,来达成共识并生成新的区块。 近期,我们收到很多来自NEO社区爱好者对于如何获得GAS的疑问,为此我们采访了NEO的高级研发经理Malcolm。showImg(https://segmentfault.com...

    hersion 评论0 收藏0
  • 何宝宏:浅析云计算产业现状及技术展望

    摘要:会上,中国信息通信研究院通信标准所副所长数据中心联盟常务副理事长何宝宏以云计算产业现状及技术展望为主题,做了精彩的演讲。  云服务市场风起云涌,越来越多的云服务和产品问世。面对多样化的云服务市场,行业用户该如何选择适合自身业务的基础设施?7月18日,本着加强技术交流,推动云端用户生态持续健康发展,由云计算发展与政策论坛用户委员会主办,中国IDC圈、云计算热点承办的云用户生态发展论坛暨第三届中...

    PiscesYE 评论0 收藏0
  • js 原型,原型,原型继承浅析

    摘要:对于网上的关于原型,原型链和原型链继承的晦涩语言说明就不累赘了,复制粘贴过来再解释一遍怕自己也整蒙了,本人最怕空气突然安静,四目对视,大眼对小眼,一脸懵逼。对于网上的关于原型,原型链和原型链继承的晦涩语言说明就不累赘了,复制粘贴过来再解释一遍怕自己也整蒙了,本人最怕空气突然安静,四目对视,大眼对小眼,一脸懵逼。 我们先看下面

    baiy 评论0 收藏0
  • 【数据结构】顺序表和表的优缺点 | 浅析CPU高速缓存 | 理解 “命中率“ 的概念

    摘要:严格来说,他们两是相辅相成的两个结构。高速缓存命中率更低相比顺序表而言下面会讲解二浅析高速缓存刚才说优缺点的时候,我们提到了高速缓存命中率问题。参考陈皓存储器的层次结构从单个计算机上来说,分为带电存储和不带电存储。    前言: 顺序表和链表,这两个结构各有优势,很难说谁更优。严格来说,他们...

    techstay 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<