美文网首页
区块链入门

区块链入门

作者: ericsonyc | 来源:发表于2018-03-10 13:28 被阅读0次

一、概念

区块链本质上是一个特殊的分布式数据库,主要用来存储数据。区块链里面没有中心节点,每个节点都是平等的地位,都保存这整个数据库。因此任何人都可以搭建服务器,加入区块链,成为其中一个节点。
区块链的最大特点就是它没中心,没有管理员。

二、区块

区块链由一个个区块组成,每次新建数据时就创建一个区块,区块一个个前后连接,这样就组成了区块链。
区块主要包含两个部分:

  • 区块头:记录当前区块的特征值
  • 区块体:包含实际的数据


    区块

    区块链的hash值是256位的,主要由区块头来生成,区块头里包含了上一个区块的hash值,也包含了区块体的hash值,这些特征结合起来计算出一个256位的hash值就代表这个区块。

三、Hash 的不可修改性

由区块的特性和生成的规则来看,有下面两个推论:

  • 每个区块的hash值都不一样,可以用hash值来代表这个区块。
  • 如果区块的内容变了,区块的hash值肯定会变,因为区块头中有一个区块体的hash值。

看到这边可能会有一个疑问,区块链技术没有管理员,所有人都可以使用,都可以保存自己的数据,那么怎么保证数据的安全性,自己的数据不被更改????

上面提到,区块头中保存着上一个区块的hash值,因此当这个区块的数据被修改时,不仅要让其他节点同步这个数据,也要一次修改关联的下游区块,hash的计算非常耗时,短时间内修改多个区块几乎不可能发生,除非有人掌握了全网51%以上的计算能力。

正是通过这种联动机制,区块链保证了自身的可靠性,数据一旦写入,就无法被篡改。这就像历史一样,发生了就是发生了,从此再无法改变。

四、Hash计算的复杂性

通过上面我们知道了一个结论,区块链的数据很安全,几乎不会被篡改,理由是hash的计算相当复杂,现在的计算机计算能力很恐怖,为什么hash的计算会这么复杂????

主要原因是找到区块合适的hash值很难,大部分计算的hash值都不符合区块的要求。为啥呢???
(未完待续)

参考:

[1] http://www.ruanyifeng.com/blog/2017/12/blockchain-tutorial.html?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
[2]https://charlesliuyx.github.io/2017/09/24/%E4%B8%80%E6%96%87%E5%BC%84%E6%87%82%E5%8C%BA%E5%9D%97%E9%93%BE-%E4%BB%A5%E6%AF%94%E7%89%B9%E5%B8%81%E4%B8%BA%E4%BE%8B/
[3] http://www.ruanyifeng.com/blog/2018/01/bitcoin-tutorial.html
[4] https://mp.weixin.qq.com/s/hoRLBOGfDOe57dEzdNzMoQ

相关文章

网友评论

      本文标题:区块链入门

      本文链接:https://www.haomeiwen.com/subject/vhnvfftx.html