区块链
区块链(Blockchain)不是单一的技术,而是一种数据结构——将区块通过哈希指针串联起来的链式账本。
链是如何形成的
每个区块都保存着上一个区块的哈希值(前驱哈希)。这个指针将区块一个接一个地连接起来:
创世块 区块 #2 区块 #3
┌───────────┐ ┌───────────┐ ┌───────────┐
│ 高度: 1 │ │ 高度: 2 │ │ 高度: 3 │
│ 数据: ... │ ←── │ 前指针 │ ←── │ 前指针 │
│ Nonce: 72 │ │ 数据: ... │ │ 数据: ... │
│ Hash: 000.│ │ Hash: 000.│ │ Hash: 000.│
└───────────┘ └───────────┘ └───────────┘
为什么难以篡改
假设攻击者想修改区块 #2 的数据:
- 修改数据 → 区块 #2 的哈希改变
- 区块 #3 记录的前驱哈希对不上 → 区块 #3 失效
- 攻击者必须重新挖矿区块 #3,使其哈希再次满足难度要求
- 同时区块 #4、#5……也都需要重挖
- 而诚实的矿工们仍在继续延长原始链
攻击者需要算力超过全网 51% 且持续追赶,才能成功篡改历史。链越长,这个成本越高。
创世块
链的第一个区块叫创世块(Genesis Block),它没有前驱区块,前驱哈希通常填 0000...。比特币的创世块由中本聪在 2009 年 1 月 3 日创建,至今无法修改。
最长链规则
当网络中出现分叉(两台矿机几乎同时找到有效区块)时,节点遵循最长链规则:选择累计工作量最大(通常是最长)的链作为主链。较短的分支最终被丢弃。
在演示中体验
在区块链演示页面,你可以:
- 向链上添加新区块,观察哈希链接的形成
- 修改某个区块的数据,看链如何从该点开始"断裂"
- 重新对被修改的区块挖矿,看链如何重新变得有效