1、本质

区块链技术的本质就是一种分布式账本技术。

2、原理

数据被按时间顺序划分成区块,每一个区块存放一段时间内的所有价值交换信息,然后以时间的顺序连接在一起。

区块链部署网络架构图_哈希算法


3、区块链的最大特点

区块链没有管理员,它是彻底的无中心的。

4、区块

区块链由一个个区块组成,每一个区块都包含区块头与区块体两个部分。

区块头中包含版本、上一个区块头的哈希值、时间戳以及Merkle根等

区块链部署网络架构图_区块链部署网络架构图_02


4、Hash算法

Hash算法,输入任意长度的字符串,会得到固定长度输出的字符串,并且这个过程是不可逆的,通过输出的字符串无法得到输入,并且只要输入有更改,输出的字符串也会随之改变。

区块与哈希是一一对应的,每个区块的哈希都是针对"区块头"(Head)计算的,并且区块头中包含着当前区块体的Merkle根,只要区块有更改,便会引起区块哈希值的改变,这确保区块链的不可更改。
5、共识算法
由于区块链技术是基于分布式技术产生的,他是完全无中心的,共识算法保章区块中记录数据的一致性。

现在主要的共识算法有以下几种:
1、工作量证明算法(PoW)
2、股权权益证明算法(PoS)
3、委托权益证明算法(DPoS)
4、实用拜占庭容错算法(PBFT)
5、…

这些算法虽然解决了在没有管理员的情况下,保持区块链数据一致的问题,但是由于没有管理员,原本可以轻易达成共识的,在区块链中需要花费更大的代价。

如何花费更少的代价达成共识成为了区块链中值得研究的一个问题。
6、挖矿
提到区块链,人们很容易就会想到“挖”这个词。

由于节点同步数据需要时间,区块链的发明者中本聪(这是假名,真实身份至今未知)故意让添加新区块,变得很困难。他的设计是,平均每10分钟,全网才能生成一个新区块,一小时也就六个。

这种产出速度不是通过命令达成的,而是故意设置了海量的计算。也就是说,只有通过极其大量的计算,才能得到当前区块的有效哈希,从而把新区块添加到区块链,这个过程就叫做挖。
7、区块链的局限性
1、区块链是去中心化的,任何想加入区块链的通过验证后都可以加入区块链,但是随着区块链的发展,区块链中的数据越来越大,并且区块链产生的难度系数不断增加,这对于节点的计算能力、存储能力等要求不断提高,导致了区块链节点数量不断减少,这在一定程度上造成了集中。

2、由于区块链产生前要进行挖矿,这在很大程度上造成了资源的浪费。

3、区块链具有不可篡改性,并且用加密算法保证个人信息安全,但是由于其设计算法的缺陷,在一定程度上难以保证个人信息的完全安全。