主页 > imtoken官网注册 > 区块链背后的 4 大核心技术

区块链背后的 4 大核心技术

imtoken官网注册 2023-01-17 01:20:17

作者|陈昊

来源|极客时代《简单来说区块链》专栏

区块链技术定义

比特币 区块链技术

简单来说,区块链是一个分布式数据库,提供拜占庭容错,确保最终一致性;从数据结构上看,是基于时间序列的链式数据块结构;在节点拓扑上,其所有节点互为冗余备份;在操作上,它提供了一个基于密码学的公私钥管理系统来管理账户。

也许上面的概念太抽象了。让我举个例子让你理解。

你可以想象一下,全世界分布着100台电脑,这100台机器之间的网络是一个广域网,这100台机器的拥有者之间互不信任。

那么,我们可以用什么样的算法(共识机制)来为它提供一个可信的环境并做出:

比特币 区块链技术

节点之间的数据交换过程不可篡改,生成的历史记录不可篡改;各节点的数据会同步到最新数据,验证最新数据的有效性;基于少数服从多数的原则,整体节点维护的数据能够客观地反映交易历史。

区块链是解决上述问题的技术方案。

结合我们过去讲过的和即将讲到的,我们将首先提炼区块链的7个技术特征。先记住,后面再讲:

区块链的存储基于分布式数据库;数据库是区块链的数据载体,区块链是交易的业务逻辑载体;区块链按时间序列化区块数据,全网有一个Finalize状态;区块链只对添加有效比特币 区块链技术,对其他操作无效;交易基于非对称加密的公钥和私钥进行验证;区块链网络要求拜占庭将军具有容错性;共识算法可以“解决”双花问题。

比特币 区块链技术

区块链的核心技术构成

无论是公链还是联盟链,至少需要四个模块:P2P网络协议、分布式共识算法(共识机制)、密码签名算法、账户和存储模型。

1.P2P 网络协议

P2P网络协议是所有区块链的底层模块,负责交易数据的网络传输和广播、节点发现和维护。

比特币 区块链技术

通常我们使用的是比特币P2P网络协议模块,它遵循一定的交互原则。例如,如果您是第一次连接其他节点,您将需要根据握手协议确认状态。握手后开始请求Peer节点的地址数据和区块数据。

这个P2P交互协议也有自己的一套指令,体现在Message Header的命令字段中。这些命令为上层提供了节点发现、节点获取、区域块头获取、块获取等功能,都是非常底层、非常基础的功能。如果你想深入挖掘,可以参考比特币开发者指南中的 Peer Discovery 章节。

2.分布式一致性算法

在经典分布式计算领域比特币 区块链技术,我们有以Raft和Paxos算法家族为代表的非拜占​​庭容错算法,以及拜占庭容错算法PBFT共识算法。

比特币 区块链技术

从技术演进的角度,我们可以画出区块链技术在经济上扩展原有分布式算法的图。

(图片来自网络)

从图中我们可以看出,一开始大部分计算机应用都是单点应用,为了高可用和方便,采用冷灾备,后来发展到远程多活。这些远程多活可能会使用负载平衡和路由技术。随着分布式系统技术的发展,我们已经过渡到基于 Paxos 和 Raft 的分布。系统。

在区块链领域,使用最多的是PoW工作量证明算法、PoS权益证明算法、DPoS代理权益证明算法。以上三种是业界主流的共识算法。共识算法之间的区别在于它们包含了经济博弈的概念。下面我将简要介绍这三种共识算法。