区块链

区块链(Blockchain)不是单一的技术,而是一种数据结构——将区块通过哈希指针串联起来的链式账本。

链是如何形成的

每个区块都保存着上一个区块的哈希值(前驱哈希)。这个指针将区块一个接一个地连接起来:

创世块              区块 #2              区块 #3
┌───────────┐      ┌───────────┐      ┌───────────┐
│ 高度: 1   │      │ 高度: 2   │      │ 高度: 3   │
│ 数据: ... │ ←── │ 前指针    │ ←── │ 前指针    │
│ Nonce: 72 │      │ 数据: ... │      │ 数据: ... │
│ Hash: 000.│      │ Hash: 000.│      │ Hash: 000.│
└───────────┘      └───────────┘      └───────────┘

为什么难以篡改

假设攻击者想修改区块 #2 的数据:

  1. 修改数据 → 区块 #2 的哈希改变
  2. 区块 #3 记录的前驱哈希对不上 → 区块 #3 失效
  3. 攻击者必须重新挖矿区块 #3,使其哈希再次满足难度要求
  4. 同时区块 #4、#5……也都需要重挖
  5. 而诚实的矿工们仍在继续延长原始链

攻击者需要算力超过全网 51% 且持续追赶,才能成功篡改历史。链越长,这个成本越高。

创世块

链的第一个区块叫创世块(Genesis Block),它没有前驱区块,前驱哈希通常填 0000...。比特币的创世块由中本聪在 2009 年 1 月 3 日创建,至今无法修改。

最长链规则

当网络中出现分叉(两台矿机几乎同时找到有效区块)时,节点遵循最长链规则:选择累计工作量最大(通常是最长)的链作为主链。较短的分支最终被丢弃。

在演示中体验

在区块链演示页面,你可以:

  • 向链上添加新区块,观察哈希链接的形成
  • 修改某个区块的数据,看链如何从该点开始"断裂"
  • 重新对被修改的区块挖矿,看链如何重新变得有效