浅谈区块链技术

Blockchain—blockchain is going to upend entire societies.It’s going to enable new kinds of governance systems that were before only thedaydreams of utopians and philosophers.

——HaseebQureshi

区块链,一个你一定耳熟能详的名词,每天在公车、地铁、餐厅等各种地方,总是会被无数人不断地提起,似乎所有人都在兴致勃勃的谈论这个我们熟悉而又陌生的东西。


然而从言谈中你就能发现,更多的人都只是知道有这个东西或者只知道一点皮毛,真的理解它的原理和含义的人其实并没有那么多。而它虽然在业内早已存在并很火热,但通过数据研究我们可以发现,真的在全民之间爆发大规模讨论也是在2018年的年初,也就是说,其实更多人也是在今年才真正意识到它的存在。


其实,区块链的存在意义和地位是毋庸置疑的,且不说在民间它不断被重视,各大学开设区块链相关专业,各大金融IT公司内部不断加大区块链研究,就连国家同样对它也不敢“怠慢”,国家战略《“十三五”国家信息化规划》将区块链放在了很重要的战略地位。区块链现在已经正式进入了膨胀期,甚至可以说它的热度较现如今的人工智能也相差无两。而现在,跟着这篇文章,你将深入了解到底什么是这些年持续火热的区块链技术。


在了解区块链技术的实现原理之前,我们还是得提到比特币,说起比特币,更多的人想到的是“炒币”“韭菜”“传销”诸如此类,但是需要知道的是,比特币采用区块链技术,但是区块链并不等同于比特币,它只是作为比特币底层的技术存在,这一点我们需要分清。

弄清比特币和区块链的关系之后,我们接着来解释一下到底什么叫做区块链。对于区块链,维基百科上给出的定义是:用分布式数据库识别、传播和记载信息的智能化对等网络。具体来讲,它就是一个分布在全球各地、能够协同运转的分布式数据库存储系统


首先,作为分布式数据库,它的作用就是存储信息,任何需要保存的信息,都可以写入区块链,也可以从里面取出。“分布式”,从字面上理解,就是指分布在不同地方、各节点分开干活;

其次,任何人都可以架设服务器,加入区块链作为一个彼此平等的节点,都保存着整个数据库。你可以向任何一个节点写入、读取数据,因为所有节点最后都会同步,保持区块链一致。

保持一致的意思就是,每笔交易都会在全网广播,每次有消息更新,区块链所做的动作,就像跑男里祖蓝君出局时的大喇叭,对所有参赛者喊“王祖蓝,out!”一样,所有人都知道这家伙又被淘汰了。节点们同样可以依靠某种机制,收到其它节点每次改变的消息,完成同步,从而实现区块链网络中所有节点的数据完全一致。

知道这两点,我们就大概明白区块链到底是什么东西了,它就是一个很特殊的分布式数据库,其他的原理和特点后面我们再接着讲。

好的,现在我们大概知道区块链到底是啥东西了,那你或许会问为什么要有它的存在呢,它存在的意义何在?我们知道,一直以来,互联网上传统意义的交易更多的是依赖着一个中心的存在,这个中心是什么?相信大家都用过淘宝吧,它的存在就是“中心”的一种。我们来回忆一下我们网购的过程:

第一步,下单并把钱打给支付宝

第二步,支付宝收款后通知卖家,卖家发货;

第三步,你收货之后在支付宝上确认收货;

第四步,支付宝收到通知,将款项打给卖家,流程结束。


在网购的过程中,虽然是在跟卖家做交易,但是所有关键流程都是在跟支付宝打交道。我们的交易需要依靠“淘宝”们的中转,也就是说交易建立在它们服务的基础上。无论是卖家还是买家,都只能选择无条件信任支付宝。这便是“中心化”的运作方式。

有一个声誉稳定,靠谱的“中间人”自然也是有它的好处。然而,这种方式同样存在它的弊端,如果“中心”因为主观或客观原因,出现错误或者难以应对的状况,我们的损失便完全掌握在它们手上。假想一下,假如外星人袭击地球,支付宝的服务器它们被一炮打坏了,那么你买东西刚支付的10块钱是不是就没了,找马云爸爸他要是不承认你找谁说理去?是不是就只能干瞪着自己的10块钱就这么没了。而且,随着大家对自我信息保护意识的不断提升,对中间机构的信任问题也越来越摆在台面上。过分依赖中心和权威,便是中心化最大的弊端,意味着自己权利的丧失,或者说不完全被自己掌控。

在这种背景下,区块链便应运而生了。作为一个去中心化、去信任中介的分布式账本,它本质上就是解决信任问题、降低信任成本的技术方案。

我们可以以比特币交易为例来看看区块链具体是如何操作的:

  • 每笔交易在全网广播到每个节点,让全网承认有效。就好比交易时,发起交易方要向所有人喊“我们在交易,快来看快来看啊”,于是大家就都来围观他们进行交易♂。
  • 矿工节点接收到交易信息后,都要拿出账簿本记载该次交易。也就是说,大家不仅要围观,围观的时候还要拿出小本本把他们交易的每一个动作,每一个细节都记录下来,方便之后再拿出来观摩学习(这么一说也是很恶趣味了),而且一旦记录下来就不能随意撤销。
  • 矿工们都是通过电脑运行的比特币软件对交易进行确认的,为了鼓励矿工的服务,对于其所记录和确认的交易,系统会为矿工提供25个比特币作为奖励,每四年减半。就是说,大家坐着围观久了也很累,这时候系统又需要鼓励大家去围观,怎么办呢?就给大家鼓励,发放一些啤酒饮量矿泉水,花生瓜子八宝粥之类的,大家围观的热情就高涨了,看戏也格外有劲了。
  • 根据哈希散列算法,一种密码学例的经典技术,比特币挖矿本质上是计算一个hash值,最后得到的结果小于一个公认的数,便获得奖励。也就是说花生瓜子八宝粥是有限的,只有脑子转的快的围观者才能吃到。

或许你会问,以上这种运作方式哪里就用到了区块链技术了呢?其实,每一个矿工的记录就是一个区块(block),因为每个记录都要加上时间,每个新产生的区块严格按照时间线形顺序推进,形成不可逆的链条(chain),所以叫做区块链(blockchain)。

(图)

通过上述步骤,我们知道,每次交易,区块链上无数的节点都在账本上记下了交易,这就是分布式账本,也就是说,这种交易模式没有中心,依靠矿工记录交易保证交易安全,相互之间直接点对点交易并将交易记录加入到区块链中,到达了“去中心化”的运作方式。

那么,既然是去中心化的,大家直接进行交易,没有了“德高望重”的中间人的保证,突然觉得心里很慌啊,我们要怎么保证交易的安全性呢?

了解安全性之前,我们需要知道区块链的具体结构,区块链就好比数据结构中的链表,可以理解为单向链表吧,因为每一个节点可以向前一个节点传递(相当于指针由后指向前),大致结构如下:

Blockchain

而对于每一个区块,分别为区块体和区块头。区块体用于保存数据,而区块头则是我们要讨论安全区块链交易问题的主体。对于每一个区块头,都会包含生成的时间戳,当前区块的哈希值以及上一个区块的哈希值。

img

哈希是区块链安全保证的关键,因为本文只是对区块链进行浅析,其中的关键原理我们就不再赘述了(其实是密码学学的我已经忘了,现在也懒得去看,捂脸)。每个字符串对应一个单一的哈希,同理,每个区块也对应不同的哈希,通过每个不同的哈希值来标识不同的区块,区块与哈希一一对应。因为是一个单链表结构,所以一旦任何一个区块被篡改,当前的区块哈希就会被改变,进而导致被指向的下一个区块发生改变,连锁效应如同多米诺骨牌一般整个区块链被改变。除非攻击者修改后面所有区块,不然被修改的区块就会脱离区块链。而且,短时间修改剩下所有区块链几乎不可能,除非掌握了全网51%的计算力。

说到51%,这是区块链中一个很常见的数字。一般来讲,区块链网络交易账目是不可更改的,但当全网51%的矿工都要更改一笔交易账目时,账目更改便是有效的,便可能制作虚假交易。但是因为网络上参与人数的基数极大,所以同时出现51%的矿工比例造假发生的概率还是极小的。使用51%的还有“双花问题”,即假如两个矿工同时提交答案或者有攻击者同时将一笔钱用于不同交易。在数据结构上理解就是,同时在一个区块上连接两个区块,形成了分叉。对于这种问题,采取的措施是查看区块链的长度,更长的区块链生效(首先到达六次确认),相对短的便失效。以达到同一笔钱无法使用两次的效果。双花成功需要攻击者拥有51%的算力,相对而言就是安全的。

所以,通过以上机制,数据一旦被写入区块链,便很难再次修改,从而保证了交易的安全性。

综上所述,区块链的核心内容主要有以下三点:

  1. 去中心化:直接进行点对点交互的交易模式,无需中心化处理,每个使用者直接通过各自电脑或手机上安装的客户端进行连接交易,而不需要通过中间代理的连接。作为区块链的颠覆性特征,这个特点保证了交易的快速便捷,去除了传统交易模式的存在的被中间代理控制的不稳定因素。
  2. 开放性:区块链是完全开放的,所有人都可以进入区块链并进行交易,账簿对所有人公开,任何人都可自由查看,只有各方的私有信息是加密的,但任何人都可以查账。
  3. 安全性:区块链这个”数据库”通过使用密码学的哈希散列方法进行加密,进而产生一串相关联的数据结构中的数据块链表,各个数据块包含各自的交易信息,即每个区块的哈希都是不同的,每个哈希标志一个区块保证其特殊性,当区块内容被修改时其哈希一定伴随改变。区块链通过时间上的不可逆性、不可撤销性等特性,保证了内部数据不会被轻易篡改,即使被修改也可以被回溯追查到,进而保证交易的安全性。

另外,在区块链的文章中,我们不得不提到“挖矿”这个词。何为挖矿?区块链的发明者中本聪规定,每十分钟,全网才能生成一个新区块,通过放慢新区块的生成速度,使得矿工不至于因为区块生成的速度过快,而不断中断对当前区块的操作转到新的区块上进行计算,保证节点之间的同步。为了得到当前区块的有效哈希进而产生新的区块,需要极其大量的计算,而这个大量计算的过程,就是我们俗称的“挖矿”,所有的哈希相当于一片巨大的土地,正确的哈希就是大地之中的一小块矿,而所有矿工寻找这个正确哈希的过程便相当于在这片大地之中寻找一块矿石,着实不易。但是获得的收益

那么,我们总是说挖矿的计算力很大很难,这是为什么呢?区块链协议规定,区块头中会包含一个难度系数,使用一个常量除以这个难度系数,便得到目标值,只有小于目标值的哈希才是有效的。因为难度系数较大,所以计算起来并不容易。且会根据每两周的平均区块生成速度进行调整大小,如果之前两周的生成速度较快,则会将难度系数相应调大,再加上nonce的存在导致计算存在随机性,最终结果就是计算过程需要花费的时间会很长,但总体也是相对平衡的。

但是区块链并不是在所有场景下都适合使用,其实它的适用场景还是很有限的。因为数据写入区块链至少等待十分钟的原因,导致区块链的效率并不高;而且在挖矿的过程中,需要进程无数无意义的计算,导致大量的资源被浪费。因此,当写入数据并没有实时使用的要求,且”中心”并不能让交易双方真的信任,而且挖矿的效益能够让矿工弥补花费,当交易满足这些条件时,那么运行在区块链上的交易便是适合交易双方的模式。


最后,我们来说一下区块链的现状,在炒币大火的今天,连李笑来都亲口承认:" 币圈里都是一帮傻逼项目和傻逼的人,自己又是如何牛逼的噶傻逼们的韭菜 。"、很多人刚刚知道区块链是什么东西,连哈希散列算法是什么都搞不清楚,跟风就入了币圈,心中并不觉得自己是韭菜,实际上已经被收割了……总之,币圈有风险,投资需谨慎啊各位!


建议大家可以仔细阅读一下下面两篇文章,或许会有点什么启发呢?

我骗你钱咋了,我还敢骂你SB。。。

315谈区块链:众人皆韭菜。


现在,你明白区块链了吗?如果还没明白的话,可以参考这一段话,我相信你就可以大概懂得它的原理了。

“假如你是一位女性,你男朋友每次跟你说一句肉麻的话或者承诺给你买东西,你都立刻录下来并且发给你的和他的所有闺蜜、同学、同事,还有各种群和朋友圈,让他再也无法抵赖,这就是区块链”


图片引用来源:

“三折人生”公众号

“区块链前沿趋势与应用”——郑子彬

http://www.ruanyifeng.com/blog/2017/12/blockchain-tutorial.html

https://juejin.im/post/5a5075b3f265da3e591e19c3

https://zhuanlan.zhihu.com/p/34966034

https://mp.weixin.qq.com/s/MIwB-lsm5HIFhm0o40kpHQ

https://mp.weixin.qq.com/s/tvWL2CFPBKs_KsY6rd__qg

参考链接及地址:

点击打开链接 https://yq.aliyun.com/articles/60131?utm_content=m_41917

点击打开链接  http://www.ruanyifeng.com/blog/2017/12/blockchain-tutorial.html

点击打开链接 https://juejin.im/post/5a5075b3f265da3e591e19c3

点击打开链接 https://www.zhihu.com/question/37290469

猜你喜欢

转载自blog.csdn.net/N1neDing/article/details/80934402