教程区块链区块链技术ch1616.8 完整代码、选做扩展与总结

本页目录

这 200 行代码蕴含量子概念。以下是完整项目结构和选做挑战。


16.8.1 完整项目结构

text
chapter16/
├── mini_blockchain.py      # 核心模块
├── mini_node.py           # Flask HTTP 节点
├── mini_browser.html      # 单文件内嵌浏览器
├── test_e2e.py           # 端到端测试
├── ecdsa_ext.py          # 可选:真实签名扩展
└── README.md

完整代码见配套 GitHub 仓库。


16.8.2 选做扩展

难度扩展
真实 ECDSA 签名(用 ecdsa 库替换模拟签名)
⭐⭐UTXO 模型(替代余额模型)
⭐⭐Merkle 树根上链(交易承诺)
⭐⭐⭐PoS 共识替代(见第3章原理)
⭐⭐⭐GRPC 替代 HTTP 通信

16.8.3 关键公式速查

公式用途
H=SHA-256(header)H = \text{SHA-256}(\text{header})区块哈希
H<000...0H < 000...0(D个前导零)PoW 目标验证
Dnew=Dold×t实际t目标D_{new} = D_{old} \times \frac{t_{实际}}{t_{目标}}动态难度
k=2256/targetk = 2^{256} / \text{target}困难度值(比特币方式)

16.8.4 测试成功标准

  • [ ] 单节点:创世块挖掘成功
  • [ ] 转账正确扣余额
  • [ ] 篡改检测:修改返回后链验证失败
  • [ ] 多节点:3 节点余额同步
  • [ ] 共识:最长链替换回滚
  • [ ] 浏览器可见链状态

, 前往第17章 → |*

评论

0

评论加载中…

发表评论

0/2000