十一张图解析区块链原理

您所在的位置:网站首页 区块链基本结构图 十一张图解析区块链原理

十一张图解析区块链原理

2024-05-06 00:37| 来源: 网络整理| 查看: 265

区块链概念很火,尤其是2018年伊始在各互联网指数上热度都极大上扬。区块链到底是怎么回事?区块链原理到底是什么?本文就是为揭开区块链原理而来,让我们仔细研究下区块链,探究区块链的奥秘。

如果说互联网使得信息可以自由传播,那么,区块链则可以做到价值在互联网上传播,说区块链是革命可能有点夸大,但至少是在信息技术基础上,区块链使得价值在可信赖的去中心化价值体系中传播。

先尝试用一句话来描述什么是区块链:区块链建立了一个各节点地位对等的网络,在节点之间无需事先信任的情况下,通过加密算法和共识机制,以及块链结构的数据存储,实现数字资产在节点之间的转移(节点是指加入该网络的计算设备)。本质上可以说是一个基于分布式的价值传输体系。

图1 中心化网络图1 中心化网络

什么是节点地位对等的网络?区块链的众多文章中都提到了,就是点对点的去中心化。反之,就是中心化网络,图1就是中心化的网络,内容或交易数据都需要通过中心化处理,用户都在中心系统拥有账户,数据是在中心系统的两个账户间转移。常规的网络系统大多都是中心化的,账户和数据存储在中心服务器上,然后通过客户端App查看数据。

去中心化的利弊不多做分析,因为放到实际的行业应用中即可以发现其用途,比如某个行业内我们不希望某个公司控制所有数据和资产,一家独大而增大行业风险;比如我们总担心花钱购买的一些商家的折扣卡,在商家倒闭或跑路之后,导致钱财损失。有了区块链技术,上述问题可以解决,前者问题可以通过类似比特币的区块链解决,后者问题可以通过类似以太坊的智能合约区块链解决。​因此我们时常希望构建一个节点地位对等的去中心化网络。

图2 节点对等的P2P网络图2 节点对等的P2P网络

区块链的去中心化特征明白了,但是对等的用户节点之间如何通信呢?P2P(peer to peer) 技术可以解决这个问题,P2P技术在早年的下载软件中被广泛应用,例如BT下载,节点既下载也上传数据,达到网络中所有节点间数据的逐渐同步。通过P2P,用户之间就可以直接交换信息了,在比特币的网络中,就可以同步交易数据。图2是点对点的去中心化系统,节点间直接交换数据。

节点地位对等的P2P网络建立了,但仔细想想,这样的网络用于价值传输,似乎还存在较多问题。

图3 全量账本图3 全量账本

如图3,每个节点都全量记录交易数据,通过P2P网络来同步,全量记录是需要的,否则只能依赖别人的记录。但是,部分节点可能会某些时间不在线,或者某些交易数据记录有误,长期积累后,就很难同步,问题也随之而来,以哪个节点为准?这就类似拜占庭将军问题。我们希望该P2P网络具备容错能力,确保信息传递的一致性,零信任基础的节点达成共识。区块链的块链存储结构解决了上述问题。

图4 短时账本图4 短时账本

首先,按固定时间段划分,所有节点记录这段时间内的账本。以比特币网络为例,交易信息会通过P2P网络广播到所有在线节点,在线节点会记录十分钟左右的交易记录,如图4。当然即使是十分钟的账本,也可能出现图3中的节点不在线的问题,不急,我们接着看。

图5 竞争记账图5 竞争记账

在线节点每十分钟打包交易信息,并需要争取记账权,争取到记账权的节点就是这次的leader,其他所有节点要以它的账为准。如何争取记账权?在比特币里就是工作量证明(PoW算法)。工作量证明如何实施?如图5所示,节点都对自己的账本做哈希(Hash)计算,当然如果账本内容不变,每次计算出来的哈希值(一个16进制字符串)是不会变的,所以需要在账本里面插入一个随机数,每次修改随机数再计算哈希值,直到计算出的哈希值小于预设的阈值。图5中的f(x)假设为哈希计算,参数是账本和随机变量,要反复尝试出f(x)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3