CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
区块链入门/课时/结构与共识
RawBlame
课时目录12 节

区块链入门

  1. 01区块链是什么
  2. 02结构与共识
  3. 03链类型与扩容
  4. 04EVM 生态
  5. 05智能合约与 Solidity
  6. 06开发工具链
  7. 07DApp 与 Web3 前端
  8. 08DeFi 与应用场景
  9. 09预言机
  10. 10安全与测试
  11. 11部署与节点运维
  12. 12综合练习

结构与共识

block、PoW/PoS/BFT、分叉、密码学哈希。

35 分钟

结构与共识

区块如何链接、网络如何就「哪条链才是真的」达成一致,是区块链技术的地基。本课覆盖区块结构、哈希、PoW/PoS/BFT 与分叉处理。路线图见 /roadmaps/blockchain。

学习目标

  • 读懂区块头字段:前一区块哈希、Merkle 根、时间戳、Nonce
  • 比较 PoW、PoS、BFT 三类共识的取舍
  • 理解软分叉与硬分叉的区别

区块结构

区块 N
├── 区块头
│   ├── prev_hash    → 区块 N-1 的哈希
│   ├── merkle_root  → 本块所有交易的 Merkle 根
│   ├── timestamp
│   └── nonce        → PoW 挖矿调整量
└── 交易列表 [tx1, tx2, ...]

哈希(如 SHA-256)把任意长度输入映射为固定长度摘要;改一个比特,输出完全不同。这是「改历史会被发现」的数学基础。

共识机制对比

机制代表优点缺点
PoW 工作量证明比特币安全经历长期验证能耗高、出块慢
PoS 权益证明以太坊 2.0节能、可扩展性更好需设计惩罚与去中心化平衡
BFT 拜占庭容错Tendermint终局性快、适合联盟链节点数扩展受限

PoW 矿工不断调整 Nonce 寻找满足难度目标的哈希;PoS 验证者质押代币参与出块,作恶会被罚没(Slashing)。

分叉

  • 临时分叉:两节点几乎同时出块,随后更长链胜出,短链交易被回滚。
  • 软分叉:向后兼容的规则收紧,未升级节点仍可跟随(若多数算力/权益支持)。
  • 硬分叉:规则不兼容,产生两条独立链(如 ETH / ETC)。

用代码理解哈希

import hashlib

def block_hash(prev: str, txs: str, nonce: int) -> str:
    payload = f"{prev}{txs}{nonce}".encode()
    return hashlib.sha256(payload).hexdigest()

# 改 nonce 会彻底改变哈希
print(block_hash("abc", "tx1,tx2", 0))
print(block_hash("abc", "tx1,tx2", 1))

练习

  • 解释:为什么修改第 100 号区块的数据会影响第 101 号及之后所有区块?
  • 对比 PoW 与 PoS 在能耗和参与门槛上的差异
  • 查阅一次著名硬分叉事件,总结社区如何做出选择

小结

共识让互不信任的节点维护同一份账本。 下一课比较 UTXO 与账户模型,并介绍 Layer 2 扩容思路。

加载本节练习…
← 上一课
区块链是什么
下一课 →链类型与扩容