区块链数据管理

2025年3月17日 | 阅读 3 分钟

我们知道,区块链是遵循点对点网络的分布式结构,并继承了点对点网络的优势,如速度快、避免单点故障等。

下图概述了点对点网络。

Blockchain Data Management

每个节点都相互连接并共享资源,这意味着不像传统的客户端-服务器设计那样依赖于中央机器。

链上数据管理

在本教程中,我们将尝试理解数据如何在区块链上存储以及区块链上每个区块的内容。每个交易被分组为单元,每个单元称为一个区块。我们可以参考下图:

Blockchain Data Management

在上图中,一些区块上包含实际的交易信息。除了交易数据,每个区块还有其他共同的特征,如下所示:

  1. 索引: “索引”只不过是一个连续的区块编号。
  2. 时间戳: 数据被添加到区块的日期。
  3. 哈希: 这是一个唯一的哈希值,用于标识信息。它通过数学公式创建。每个区块包含不同的哈希值,这些哈希值直接通过数据更改进行通信(即,如果数据更改,它也会反映在哈希值中)。
  4. 前一个哈希: 它包含前一个区块的哈希值,以便获得向后引用。

区块链上的不变性

我们都知道数据库。传统数据库是为CRUD(创建、读取、更新和删除)操作设计的。然而,区块链只能附加和检索,这意味着一旦添加的数据不能被删除或更改。

在区块链中,任何有权访问账本的节点都可以验证和检查账本是否已被更改,或者任何区块中的任何交易是否已更改。这通常通过计算区块数据的哈希值,然后将其与下一个区块中前一个区块的哈希值进行比较来完成。

示例

这是区块链,显示最新的区块,区块 #555。

Blockchain Data Management

这里的对等体或节点可以确定区块 #554 的哈希值,并确定区块 #555 的哈希值是否与区块 #554 的值相同。如果不是,则声明该区块已受损。下图说明了验证过程。

Blockchain Data Management

如果数据被更改并且无效验证失败,所有节点都将拒绝该区块。

区块链使用共识(普遍协议)方法来验证交易

区块链共识

这是一种对等体就账本当前状态达成一致的方法。它确保所有对等体共享同一份账本副本。欺诈性交易被排除在账本之外。它还确保按时间顺序记录交易。

以下是对所有常见的共识协议的简要描述。

常见共识协议

1. 工作量证明

工作量证明(PoW),顾名思义,是对已完成工作的确认以及其准确性的证明。这是确保链真实性有效的共识方法。

PoW 的主要缺点是它需要更多的电力和高端计算硬件,这可能很昂贵。

2. 权益证明

权益证明(PoS)是确认和验证区块或交易的另一种方法。PoS 根据验证者持有的权益及其权益的年龄来选择验证者。在 PoS 中,验证者赚取全部或部分交易费用。

PoS 消除了 PoW 的最大问题,并被认为具有优势,因为它不需要昂贵的硬件。它还节能,因为它不像 PoW 那样消耗大量电力。

3. Tendermint

Tendermint 是一个开源项目,旨在解决比特币工作量证明共识算法的扩展性、速度以及环境问题。它使用 BFT(拜占庭容错共识)算法。

比特币和以太坊区块链网络都使用工作量证明。