新闻动态

什么是区块链?这是我看过的最好的回答

2018-08-09 00:43:14 36

 

从2008年中本聪发表论文《比特币:一种点对点的电子现金系统》,首次提出了区块链概念;再到2018年区块链概念再次大热,成为今年的第一个“风口”。

 

这10年间,关于区块链的书和文章层出不穷,却极少看到能把它讲对和讲明白的,要么将区块链简单地等同为比特币大谈账本和挖矿,要么用高冷生僻的技术概念把用户说的云里雾里,这对想入门以及刚入门区块链的新生们都是一种极为不友好的体验。

 

而自己当年入门区块链世界也体验过这种经历,所以在自己对区块链世界有了足够的理解和认知后,我们希望通过开设【区块链讲座】来和大家系统地分享区块链知识,也希望能和大家实现在这个行业的共同成长,共享行业发展红利

 

那现在我们进入【区块链讲座】第一讲,主要讲区块链的基本组成以及它的三层神秘面纱。

区块链的基本组成

 

我们在网上看到关于区块链的解释大多是这样的:“区块链本质上是一个去中心化的分布式账本数据库”。但实际上,这一术语仅适用在与比特币相关的区块链应用中,因为区块链技术可能并不包含“账本”。

 

那我们应该怎样去理解和定义区块链?我们分两部分循序渐进地说明:

 

首先我们来看区块链的组成:它是一串按照发生顺序串联而成的数据块,每一个数据块中包含了多次交易确认的信息。




这句话包含了区块链的三个关键概念:交易(Transaction)、数据块/区块(Block)、链(Chain)。

 

交易(Transaction):我们的每一次操作,会导致交易信息和状态结果的一次改变,如添加一条记录;


区块(Block):负责记录一段时间内发生的交易和状态结果,也就是每个区块中都包含若干条交易信息(它是对当前状态的一次共识,关于共识会在下文详细讲到);


链(Chain):由一个个区块按照发生顺序串联而成,是整个状态变化的日志记录。

 

了解完区块链的简单组成后,我们就可以进一步掀开区块链的神秘面纱了。

第一层神秘面纱:

区块链是一个去中心化的数据库(系统)

 

在理解去中心化之前,我们先来看看一个中心化处理、也是我们日常生活几乎都接触过的例子。假设我们要在淘宝上买一台笔记本,交易流程是这样的:我们将钱打给支付宝-支付宝收款后通知卖家发货-卖家发货-我们确认收货-支付宝把钱打给卖家。

 

在这个过程中,我们和卖家的交易都是围绕支付宝展开,支付宝在其中充当着一个权威的中心化代理的角色。但如果考虑极端情况,即支付宝跑路了或者是拿了钱却不承认你的交易(前几年就发生了大量P2P网贷平台卷款跑路的案件),那我们就悲剧了。

 

而去中心化的处理方式就要显得简单很多,我们只需要和卖家一手交钱一手交货,然后双方都声称完成这笔交易,然后这笔交易就会被打包记录在系统中,简单快捷,并且排除了被中心化代理控制的风险。

 

但上述的例子有一个很大的潜在问题:没有了权威的中心化代理,怎样保证每笔交易的准确性和有效性呢?这就引出了区块链的另外两层神秘面纱——共识机制和不被篡改。

第二层神秘面纱:

区块链采用共识机制来对新增数据达成共识

 

交易数据记录(即区块添加)的过程是这样的:有权打包交易的人(节点),将打包的交易(区块)放在既有的数据库(区块链)上,并向全网广播,其他节点收到信息,验证区块无误,就会同步这个新打包的交易。每个打包的交易叫作一个区块,区块不断叠加延长,形成区块链。

 

但由于每个人(节点)都在自发地记录或同步交易,在点对点相互通信下的情况下存在较高的网络延迟,因此各个节点收到数据的先后顺序是不一致的。你记你的,我记我的,如何保证每个节点数据的一致性?

 

由于区块链没有一个中心化代理来指挥、协调,又要保证每个节点数据的一致性,所以区块链需要一个机制,这个机制需要解决两个基本问题:

 

1.这么多人(节点)中谁有权记录数据——一次只有一个人可以记录;


2.其他人(节点)如何同步数据——因为要保持数据的一致性。

 

于是,共识机制应运而生。但由于应用场景的不同,所设计的目标各异,不同的区块链系统采用了不同的共识机制,目前主要有3类,分别是PoW、PoS、DpoS,它们实现了数据在全网中形成正确、一致的共识(关于这3类共识机制是如何解决上述提到的两个基本问题,我们会在下一期详细阐述)。

第三层神秘面纱:

区块链采用密码学的方法来保证已有数据不可能被篡改

 

我们前面提到,每个人(节点)打包的的交易叫做一个区块,他们会在该区块盖上上一个区块的时间戳,每个新产生的区块严格按照时间线形顺序推进,形成不可逆的链条,其中每个区块都包含上一个区块的时间戳,以确保区块按照时间顺序链接的同时没有被篡改。



如果我们想要篡改区块4的交易数据制作虚假交易,那么我们就必须篡改区块3的数据,因为新区块4的时间戳和区块3是不吻合的,以此类推,我们也必须篡改区块2和区块1的数据。

 

当链条越长,你要篡改的区块数据也就越多,难度也就越大,所以我们一般说区块链能够保证已有数据不被篡改(除非你说服了全网里超过51%的矿工都更改某一笔账目,否则你的篡改都是无效的)。

 

其实我们可以这么理解区块的时间戳:它就好比我们的DNA,我们作为子代的DNA是由父代DNA遗传而来,而父代DNA又是由爷代DNA遗传......所以如果我们要改变自己的子代DNA,那么势必要改变父代DNA,进而改变爷代DNA......其中的困难可想而知。

 

最后我们来总结下今天的内容:


1. 区块链的基本组成中包含交易、区块和链三部分,若干交易信息被打包形成区块,区块间按发生顺序串联、延长成区块链;

2. 区块链是一个去中心化的数据库(系统);

3. 区块链采用共识机制来对新增数据达成共识;

4. 区块链采用密码学的方法来保证已有数据不可能被篡改。


END