🏠 总目录📚 本教程 20 · 区块链
📑 本页目录(点开跳转)

20 · 区块链:密码学的一次大型组装

22 分钟 | 🎁 不讲币价,只讲它用了哪些密码学


🎯 一句话

区块链没有发明任何新的密码学原语 —— 它是把哈希、Merkle 树、数字签名、工作量证明组装起来, 解决一个此前没解的问题:一群互不信任的人,怎么就"发生了什么"达成一致。

1234567诚实链(累计工作量最大)5′6′攻击者的分叉链(想撤销第 4 块里的交易)它必须比诚实链长 —— 而诚实链有全网大部分算力在加长节点永远只认「累计工作量最大」的那条链⭐ 所以「确认数」的本质是:等诚实链又长了几块,让追赶变得几乎不可能算力不到 50% 时,追赶概率随确认数【指数下降】—— 这才是 6 个确认的来历
节点永远只认累计工作量最大的那条链,攻击者的分叉必须追上它。⭐ 所以「确认数」的本质是:等诚实链又长了几块,让追赶几乎不可能。算力不到 50% 时追赶概率随确认数指数下降 —— 这才是 6 个确认的来历。

🧩 一、它到底解决了什么问题

   传统做法:找一个大家都信的中心(银行)来记账
   区块链:  没有中心,怎么办?

   ⭐ 核心难题 ——【双花】:
   我把同一枚币同时发给 A 和 B,两笔交易都有我的合法签名。
   密码学能证明【两笔都是我签的】,
   但它【无法判断哪一笔在先】 💀

🔑 这就是关键洞察双花不是密码学问题,是"顺序共识"问题。 签名解决"谁说的",但解决不了"谁先说的" —— 后者需要一个全网都认可的全局顺序


⛓️ 二、四块密码学积木

① 哈希链:让历史无法修改

区块 N-1prev: H₋₂
交易…
它的哈希 H₋₁ = Hash(区块 N-1)
区块 Nprev: H₋₁
交易…
它的哈希 H₀ = Hash(区块 N)
区块 N+1prev: H₀
交易…
它的哈希 H₁ = Hash(区块 N+1)

⭐ 改动任何一个历史区块 ⟹ 它的哈希变了 ⟹ 后面每一块的 prev 都对不上 ⟹ 必须重算【之后所有区块】。

🔗 这就是第 9 章抗第二原像性质的直接应用。

② Merkle 树:让轻节点也能验证

   区块头里只放一个【Merkle 根】,而不是全部交易

   ⭐ 好处:证明"某笔交易在这个区块里"
      只需要 log₂(n) 个哈希,而不是下载全部交易

   1000 笔交易 → 只要 10 个哈希 ≈ 320 字节

🔗 第 12 章讲的包含性证明,这里是它最有名的应用(SPV 轻钱包)。

③ 数字签名:证明"这笔钱是我花的"

   比特币:ECDSA(secp256k1)→ 2021 Taproot 后支持 Schnorr
   以太坊:ECDSA(secp256k1)

   地址 = 公钥的哈希(多一层哈希 → 抗量子缓冲 + 更短)

💀 回顾第 17 章的 k 值教训 —— Android 钱包因 SecureRandom 缺陷导致 k 重复,私钥被算出、币被盗。 这是 ECDSA 在区块链上最真实的杀伤。

④ 工作量证明:给"顺序"标价

   要求:找一个 nonce,使 Hash(区块头 ‖ nonce) < 目标值

   ⭐ 关键性质:
   · 找到很难(要枚举天量次)
   · 验证极快(算一次哈希)      ← 不对称性是全部价值所在
   · 难度可调(调目标值)

💡 PoW 真正的作用不是"防篡改",而是给"改写历史"标一个价

   想改写 k 个区块前的历史
   ⟹ 必须重做那 k 个区块的全部工作量
   ⟹ 而且要比诚实网络更快地追上
   ⟹ 需要控制 >50% 算力(51% 攻击)

🔑 所以区块链的安全性不是"数学上不可能",而是"经济上不划算" —— 这和前面所有章节都不同。它是一个经济安全模型,不是密码学安全模型。


🧱 三、一个区块长什么样

区块头(80 字节,比特币)

版本号
▼ Hash 两次(SHA-256d) 这个值必须 < 目标 ⟹ 挖矿成功

⚠️ 为什么比特币用 SHA-256 两次(SHA-256d): 中本聪的保守设计,用来防长度扩展攻击第 10 章)。 严格说这里并不需要,但多一层哈希几乎零成本,就留下了


💥 四、密码学之外的攻击面

攻击 原理 属于什么问题
51% 攻击 控制多数算力 → 重组链、双花 经济
自私挖矿 藏块延迟发布获取超额收益 博弈
日蚀攻击 隔离一个节点的所有网络连接,喂它假链 网络
重入攻击(DAO 事件) 智能合约在状态更新前回调外部合约 程序 bug
交易延展性 改签名不改语义 → 交易 ID 变 密码学第 17 章 SUF-CMA)
私钥丢失/被盗 没有找回机制 密钥管理(第 19 章

🔑 一个诚实的观察区块链上最大的损失,几乎都不是密码学被破解造成的。 是智能合约 bug、私钥管理失误、交易所被黑、社工诈骗。 —— 这和整本教程反复出现的规律一致:密码学很少是最弱的一环。


🌱 五、PoS 与其他共识(简述)

共识 安全来源 特点
PoW 算力(外部成本) 能耗高,最久经考验
PoS 质押的币(内部成本) ⭐ 以太坊 2022 年切换,能耗降 99.9%
BFT 类 已知验证者集合 + 投票 快、终局性强,但要求成员已知

💡 PoS 的一个独有难题 —— "无利害关系"(Nothing at Stake): PoW 里在两条分叉上同时挖要分摊算力(有代价); PoS 里同时在两条链上投票几乎不花钱 —— 所以必须引入罚没(slashing):双签会被没收质押金。 用经济惩罚补上物理成本的缺失。


🔗 和站内其他章的关系

相关的地方 和这一章的关系
第 9 章抗第二原像 哈希链不可篡改的根据
第 10 章长度扩展 SHA-256d 的由来
第 12 章 Merkle 树 轻节点验证 / SPV
第 16 章 secp256k1 比特币和以太坊的曲线
第 17 章 SUF-CMA、Schnorr 交易延展性、Taproot 多签聚合
第 19 章 助记词、冷钱包、门限签名
AI 基础设施 · 可观测性与成本 PoW 的"安全预算"说到底是一张电费账单——用那边的成本模型算一遍,「51% 攻击有多贵」才有量级感 ⭐
模型上线之后 · 合规审计与模型卡 ⚠️ 先去那边看清你真正的需求:多数人想要的只是「不可篡改的审计记录」,签名 + append-only + 定期公证就够了,不需要共识层

✅ 检查点

  1. 区块链发明了新的密码学原语吗?它组装了哪四块?
  2. 双花为什么不是密码学问题?
  3. 哈希链靠哈希的什么性质防篡改?
  4. Merkle 树在区块链里解决了什么实际问题?省了多少?
  5. PoW 的关键不对称性是什么?它真正的作用是什么?
  6. 为什么说区块链是"经济安全模型"而不是密码学安全模型?
  7. 比特币为什么用 SHA-256 两次?
  8. 区块链上的实际损失主要来自哪里?
  9. PoS 的"无利害关系"问题是什么?怎么解决?
👀 答案
  1. 没有发明任何新原语。组装了:哈希链、Merkle 树、数字签名、工作量证明
  2. 因为两笔交易都有合法签名,密码学能证明"都是我签的",但无法判断哪一笔在先。这是顺序共识问题,不是密码学问题。
  3. 抗第二原像。改动历史块会让它的哈希变化,导致后面每一块的 prev 对不上,必须重算之后所有区块。
  4. 轻节点验证(SPV):证明某笔交易在区块里只需 log₂(n) 个哈希。1000 笔交易只要 10 个哈希 ≈ 320 字节,不用下载全部交易。
  5. 找到很难、验证极快。真正作用不是"防篡改",而是给改写历史标价——重写 k 个区块要重做全部工作量并追上诚实网络,即需要 >50% 算力。
  6. 因为它的安全性是"经济上不划算"而非"数学上不可能"。前面所有章节的安全性都来自计算困难问题,这一章来自成本核算。
  7. 中本聪的保守设计,防长度扩展攻击。严格说这里不需要,但多一层哈希几乎零成本。
  8. 几乎都不是密码学被破解:智能合约 bug(如 DAO 重入)、私钥管理失误、交易所被黑、社工诈骗。印证"密码学很少是最弱的一环"。
  9. PoW 里在两条分叉同时挖要分摊算力(有代价),PoS 里同时在两条链投票几乎不花钱。解决办法是罚没(slashing):双签没收质押金,用经济惩罚补上物理成本的缺失。

🛑 可以停在这里

走神救援

区块链没发明任何新密码学原语,只是组装了四块:哈希链 + Merkle 树 + 数字签名 + PoW。⭐核心难题是双花,而它不是密码学问题——两笔交易都有合法签名,密码学能证明"都是我签的"却无法判断谁在先,这是顺序共识问题。①哈希链第 9 章抗第二原像:改一个历史块 → 后面每块 prev 都对不上 → 必须重算之后所有块。②Merkle 树第 12 章)让轻节点只用 log₂(n) 个哈希验证包含性(1000 笔交易只要 10 个哈希 ≈320 字节)。③签名:secp256k1 上的 ECDSA,💀 Android 钱包 k 重复导致私钥被算出。④PoW 的关键是找到难、验证快的不对称性;⭐它真正的作用不是防篡改,而是给"改写历史"标价(重写 k 块要重做全部工作量并追上诚实网络 → 需 >50% 算力)。🔑 所以区块链是经济安全模型,不是密码学安全模型——"经济上不划算"而非"数学上不可能",这和前面所有章节都不同。比特币用 SHA-256 两次是防长度扩展的保守设计(第 10 章)。⚠️攻击面大多在密码学之外:51%/自私挖矿(经济博弈)、日蚀(网络)、DAO 重入(合约 bug)、交易延展性(第 17 章 SUF-CMA)。🔑 区块链上的实际损失几乎都不是密码学被破解——是合约 bug、私钥管理、交易所被黑、诈骗,再次印证密码学很少是最弱的一环PoS 能耗降 99.9%,但有 ⭐"无利害关系"问题(同时在两条链投票几乎不花钱),靠罚没 slashing 用经济惩罚补上物理成本。

下一节 👉 21-零知识证明.md

打卡记录保存在你的浏览器里,首页能看到总进度