区块链的概念及基本应用

在学习区块链之前我们先学习下分布式系统

1、分布式系统

分布式系统是多个处理机通过通信线路互联而构成的松散耦合的系统。从系统中某台处理机来看,其余的处理机和相应的资源都是远程的,只有它自己的资源才是本地的。至今,对分布式系统的定义尚未形成统一的见解。一般认为,分布式系统应具有以下四个特征:

  1. 分布性。分布式系统由多台计算机组成,它们在地域上是分散的,可以散布在一个单位、一个城市、一个国家,甚至全球范围内。整个系统的功能是分散在各个节点上实现的,因而分布式系统具有数据处理的分布性.

  2. 自治性。分布式系统中的各个节点都包含自己的处理机和内存,各自具有独立的处理数据的功能。通常,彼此在地位上是平等的,无主次之分,既能自治地进行工作,又能利用共享的通信线路来传送信息,协调任务处理。

  3. 并行性。一个大的任务可以划分为若干个子任务,分别在不同的主机上执行。 [3]

  4. 全局性。分布式系统中必须存在一个单一的、全局的进程通信机制,使得任何一个进程都能与其他进程通信,并且不区分本地通信与远程通信。同时,还应当有全局的保护机制。系统中所有机器上有统一的系统调用集合,它们必须适应分布式的环境。在所有CPU上运行同样的内核,使协调工作更加容易。)

总之,分布式系统的主要目的是将计算力进行分布处理,能够通过协作提高算力。通过共识机制提高系统可靠性。。。。。(有兴趣可以自己百度,)

2、区块链

区块链的核心机制就是分布式系统,区块链采用了分布式数据库的特征,但是为了达成强数据一致性和不可篡改,牺牲了很多分布式数据库的优点,当然也带来了一些分布式数据库没有的特性。(去中心化?)区块链的概念及基本应用

为什么称为区块链呢,我个人认为,区块(block)的意思就是相当于每一个具有独立计算的系统,按照物联网的想法来解释,就是下位机,并且下位机具有独立的计算模块,可以自己进行数据处理、分析、并且有自己的加密算法。
链:可以理解为链表,学过数据结构的人都知道链表的概念,我就不在这里献丑了,链表的核心就是指针,如果将指针换为哈希指针又是什么样的效果呢,每一个节点的头都带有哈希指针,并且只有前边的节点知道,哈希指针也可以换成各种加密算法。如果有人想篡改数据,必须将后续节点都改变,这是非常难以办到的,
区块链的概念及基本应用
来源于知乎:

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

区块链的特性:
在区块链数据库中:
1、数据仅可通过共识算法以块的形式增加,不可修改或删除,以防止篡改(共识算法:proof of work、proof of stack);
2、每个区块至少会包含一个块生成时间和出块签名;
3、所有的交易数据都会被双方签名,以防止抵赖;
4、传统区块链中,新增区块中储存上一个区块的hash,并通过此hash与上一个区块相连

在区块链多节点网络中,

  1. 所有节点都有浏览区块的权限,但是并不能完全控制区块(属于分布式系统中的任何设备、节点都能完成访问工作 不区分本地和)
  2. 所有节点都有验证区块,参与共识,并通过共识增加数据的权利

通过区块链可以实现

  1. 不依赖授信第三方的数据记录和链上数据溯源
  2. 通过peer-to-peer网络的数据通信和可信价值交换
  3. 对所有面向系统中心控制者的攻击都有非常强的抵抗能力

潜在应用:

  1. 物联网
  2. 互联网医疗
  3. 云储存
  4. 安全领域,如授权,可信服务提供
  5. 互联网金融等