区块链与分布式网络

(友情提示,今天的课需要好好看图,可以点开放大看。)


分布式网络是由分布在不同地点的计算机系统互连而成,网中无中心节点。网中任一点均至少与两条线路相连,当任意一条线路发生故障时,通信可转经其他链路完成,具有较高的可靠性。同时,分布式网络还具有易于扩展的特点。

点对点网络(peer-to-peer, 简称P2P),又称对等式网络,是分布式网络的一种具体应用,是无中心服务器、依靠用户群交换信息的互联网体系,它的作用在于,减低以往网路传输中的节点,以降低数据遗失的风险。与有中心服务器的中央网络系统不同,对等网络的每个用户端既是一个节点,也有服务器的功能,任何一个节点无法直接找到其他节点,必须依靠其户群进行信息交流。

比特币的区块链网络便是点对点网络,也即分布式网络。以下我通过一个示例来说明新区块在区块链网络中的传播和更新机制。

【前方图片预警,请大家做好心理准备~~】

如图1,区块链网络正好处于一个时间节点,其所有节点的区块链拥有完全相同的数据,即区块链的末尾为白色五星区块。

图1

随着时间推移,位于左侧的节点X和位于右侧的节点Y在同一时间成功的产生了新的区块,但左侧节点X产生了白色三角形的新区块,而右侧节点Y则产生了橙色倒三角形,并同时开始向与其连接的其他节点广播其新区块。如图2左。

图2

网络传播需要时间,但是一段时间过后,会出现如图2右所示,所有节点上的纯区块链数据又是相同的了——通过一个分叉将两个节点产生的区块均临时的包含在区块链上,所有节点均会以最先收到的那个分叉区块作为当前节点的区块链尾部区块,并以此尾部区块,去试图通过工作量证明的方式延伸这一条分支。

继续……

随着时间推移,其中某一个节点在优先收到的尾部节点的基础上进行计算,并成功的计算出了一个新的区块,随即它便向它周围的节点进行广播它的成果,凡是接收到它的新区块的节点,都会因为它广播的这个区块使得这个分支比其他分支更长,而将尾部区块更新到这个分支上来。如图3左。

图3

如图3右,随着区块信息在区块链网络中的传播,很快便使得整个区块链网络回到了所有节点均为同样数据的状态。

以上过程演示了区块生成并在分布式网络中传播,并通过简单的机制选择区块分支的全过程,在比特币网络中,这样的事情可以说随时都在发生。


区块链系统概述章节目录:

1、用密码学保护区块(包括:哈希计算、数字签名、对交易签名。)

2、把区块连成链状(用哈希标记区块、单向链表的区块链)

3、用分布式网络把区块共享出去  

4、保存少量数据的轻量客户端【请见下期~】 

5、用智能合约对数据上锁

6、重要基础概念(软分叉、硬分叉、拜占庭将军问题、授权区块链)