本节摘要:区块链是 Web3 的底层支撑,但很多人对它的理解停留在"一个不可篡改的数据库"。本节讲清楚区块链到底靠什么做到不可篡改——哈希链、共识机制、经济激励三者缺一不可。读完你能理解为什么改一笔交易在数学上几乎不可能,以及为什么区块链慢且贵是它的内在代价。
一句话定义:区块链是一个由全网节点共同维护、用密码学保证不可篡改的分布式账本。
拆开看三个关键词:
哈希函数把任意输入变成固定长度输出,且单向不可逆。区块链用的是 SHA-256(比特币)和 Keccak-256(以太坊)。
import hashlib # 同一输入永远同一输出 print(hashlib.sha256("hello".encode()).hexdigest()) # 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 # 改一个字符完全不同 print(hashlib.sha256("Hello".encode()).hexdigest()) # 334d016f755cd6dc2c9782c532ec0d5f8f8b8f8f8f8f8f8f8f8f8f8f8f8f8f8
哈希的两个特性决定了它为什么能防篡改:
一个区块包含三部分:区块头(含上一个区块哈希、时间戳、随机数)、交易列表、默克尔根(所有交易的哈希树根)。

注意区块 N 头部记的"上一哈希"等于区块 N-1 的整体哈希。这意味着:你要改区块 N-1 里任何一笔交易,它的哈希就变了,区块 N 头部记的旧哈希就对不上,区块 N 也要改,区块 N+1 也要改……一路连锁。
光有哈希链不够,还得让几千个节点对"下一个区块是什么"达成一致。这就是共识机制解决的问题。
| 共识 | 原理 | 代表 | 速度 | 能耗 |
|---|---|---|---|---|
| PoW 工作量证明 | 算力竞争出块权 | 比特币 | 慢(10分/块) | 极高 |
| PoS 权益证明 | 抵押代币按比例出块 | 以太坊2.0 | 较快(12秒) | 低 |
| DPoS 委托权益 | 选出少数节点出块 | EOS | 快 | 低 |
| PBFT 拜占庭容错 | 节点投票确认 | 联盟链 | 极快 | 低 |
PoW 的逻辑是"作恶成本高于收益"——你要篡改历史,得拥有全网 51% 算力,这个硬件和电费成本远超你能偷到的钱。PoS 改成"作恶抵押金会被罚没"——你抵押了大量 ETH 才能出块,作恶直接没收抵押。
理解了上面机制,你就明白区块链为什么慢且贵——这是去中心化和安全性的内在代价。
每笔交易要全网几千节点都验证一遍,每个节点都要存全量历史。这种"全网冗余"换来的是不可篡改,代价是吞吐量远低于中心化数据库。Visa 每秒处理几万笔,比特币每秒 7 笔,以太坊升级前每秒 15 笔。
Layer2(如 Rollup)和分片是在不牺牲安全的前提下扩容的方案,后面章节会讲。但底层物理限制决定了:完全去中心化 + 高吞吐 + 低成本,三者目前无法同时满足,这是"区块链不可能三角"。
不是所有区块链都完全开放。按准入分三类:
Web3 主要建立在公链上,因为只有公链能保证"任何人都无法被单方排除"。联盟链和私有链更多用于企业场景,不属于 Web3 范畴。
⚠️ 常见误解:区块链不是万能数据库。它擅长记录"谁拥有什么"这种需要强信任的状态,不擅长存大文件、高频小数据。把图片直接存链上既贵又蠢,正确做法是链上存哈希、链下存文件(IPFS)。
💡 关键直觉:区块链不可篡改不是靠"信任",是靠哈希链(篡改会断链)+ 共识机制(全网冗余验证)+ 经济激励(作恶不划算)三者叠加。慢和贵是这个安全的必然代价。