深入区块链技术(一)

深入区块链技术(一)

区块链技术定义

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

你可以理解为有100台电脑分布在世界各地。这100台电脑之间的网络是广域网,这100台电脑的主人是否相互信任。那么,我们可以采用什么样的算法(共识机制)来为它提供一个可信的环境,并使:

节点间的数据交换过程不可篡改,生成的历史不可篡改;各节点的数据将与最新数据同步,并验证最新数据的有效性;基于少数服从多数的原则,全节点维护的数据能够客观反映交换历史。

区块链的核心技术组成

P2P 网络协议

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

我们通常使用比特币P2P网络协议模块,遵循一定的交互原理

这个P2P交互协议也有自己的一套指令,这些指令体现在消息头的命令字段中。这些命令为上层提供了节点发现、节点获取、块头获取、块获取等功能

分布式一致性算法

经典分布式计算领域,我们有以Raft和Paxos算法族为代表的非拜占庭容错算法,以及具有拜占庭容错特性的PBFT共识算法。

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

一开始计算机应用多为单点应用,为了高可用性和方便性,采用了冷容灾。后来发展到异地多活动。这些在不同地方的多活动可能采用负载均衡和路由技术。随着分布式系统技术的发展,我们已经过渡到Paxos和基于Raft的分布式系统。

在区块链领域,主要使用PoW工作量证明算法、PoS权限证明算法和DPoS代理权限证明算法。以上三种是业界主流的共识算法。这些算法不同于经典的分布式一致性算法,因为它们包含了经济博弈的概念。这里我将分别简单介绍这三种共识算法。

PoW:通常指在给定的约束条件下,解决一个特定难度的数学问题。谁能快速解决,谁就能获得记账权(分块分配)。这个求解过程往往会变成一个计算问题,所以在比拼速度的情况下,就变成了谁的计算方法更好,谁的设备性能更好。PoS:这是一个股权认证机制。它的基本概念是,生成块的难度要和你在网络中的股权(所有权比例)成正比。其实现的核心思想是:使用您的锁定令牌硬币和一个小工作量证书来计算一个目标值。当达到目标值时,你可能会正确记账。DPoS:简单来说,就是将PoS共识算法中的记账人转化为由指定数量的节点组成的小圈子,而不是所有人都参与记账。这个圆可能是21个节点,也可能是101个节点。这个要看设计,只有这个圈子里的节点才能把记账做对。这将大大提高系统的吞吐量,因为节点越少意味着网络和节点是可控的。

加密签名算法

在区块链领域,哈希算法是应用最广泛的算法。哈希算法具有防碰撞、原始图像不可逆、问题友好等特点。

其中,问题友好性是许多PoW货币基础。在比特币中,使用SHA256算法作为工作量证明的计算方法,也就是我们所说的挖掘算法。

从技术上讲,我们从生成私钥开始,然后从私钥生成公钥,最后从公钥生成地址。以上每一步都是不可逆的过程,也就是说,不可能从地址推导出公钥,也不可能从公钥推导出私钥。

版权声明:区块链技术 发表于 2022-09-22 8:48:20。
转载请注明:深入区块链技术(一) | 零零洞洞

暂无评论

暂无评论...