文章

MIT Blockchain and Money 学习笔记(Lecture 3):区块链基础与密码学原理

继第一节课对整门课进行了概览,第二节聚焦于“money”与“ledger”这两个核心概念,本节课我们终于正式进入区块链技术本体的学习。课程重点聚焦在比特币(Bitcoin)这个第一个区块链应用,从它的技术实现中引出区块链的底层逻辑。

课程导入与定位

本节目标是:

Learn some of the technical underpinnings of blockchain technology through the lens of Bitcoin.

教授强调了一点我特别赞同的:

"The only way that any of us can get to ground truths is to know a little bit about how the inner workings of this technology are."

虽然不要求掌握底层代码,但必须对技术逻辑有基本的认知,这点对我们开发者来说尤为重要。

同时教授提醒,比特币只是区块链技术的一个用例(use case),不要以偏概全。

Study Questions

课程提出几个思考维度:

  • 区块链的设计特征包括哪些?

    • 加密算法(cryptography)

    • 追加式、时间戳标记的区块(append-only timestamped blocks)

    • 分布式共识算法(distributed consensus)

    • 网络结构(peer-to-peer networking)

  • 关键密码学概念

    • 哈希函数(Hash Functions)

    • 非对称加密与数字签名(Asymmetric Cryptography & Digital Signatures)

    • 零知识证明(Zero-Knowledge Proof,课程仅浅尝)

  • 双花问题(Double Spending Problem)

    • 什么是双花问题?(你拿一笔钱花两次,有点像后端开发里“消息重复消费”问题)

    • 区块链是如何解决这个问题的?

上节课回顾

两大核心概念复习:

  1. Money 是一种社会共识(social consensus) 它不具备内在价值,仅仅依赖我们共同相信“别人也会接受它”。而法币依赖国家信用,容易受到政治、经济不确定性的影响。

  2. Ledger(账本)是记录价值交换的机制

    • Bitcoin 是交易式账本(transaction ledger)

    • 有的区块链采用余额式账本(balance ledger)

现实世界账本是多层结构,比如中央银行 → 商业银行 → 支付平台,而这类分层结构也启发了现在 L2 区块链架构的发展。

区块链技术核心逻辑

基本架构

区块链的底层结构就是:

Timestamped Append-only Log(带时间戳的追加式日志)

通过“块”构建可审计的数据库(Auditable DB),由三类技术支撑其安全性:

  • 哈希函数 → 确保不可篡改(Tamper resistance)

  • 数字签名 → 用户确认交易(Consent & Authentication)

  • 共识机制 → 决定谁能添加什么数据(Distributed agreement)

Bitcoin 技术特性

Bitcoin 作为第一个区块链系统,几乎涵盖了区块链设计所需的全部关键技术。

核心特性一览

  • 哈希函数(Hash functions)

  • 区块结构(Timestamped append-only blocks)

  • 区块头与默克尔树(Block header & Merkle Tree)

  • 公钥私钥系统(Asymmetric cryptography)

  • 数字签名(Digital signatures)

  • 比特币地址生成(Bitcoin address generation)

  • 工作量证明共识(Proof of Work, PoW)

  • 点对点网络(Peer-to-peer network)

  • 内生激励货币(Native currency)

  • UTXO 交易模型(Unspent Transaction Output model)

区块结构和 Header

每 10 分钟生成一个区块。区块由区块头(Block Header)和交易组成

Block Header(仅80字节) 是轻节点仅需存储的部分,便于验证。

字段包括:

  • Version

  • Previous Block Hash

  • Merkle Root Hash

  • Timestamp

  • Difficulty Target

  • Nonce(用于 PoW 的一次性随机数)

Merkle Tree

Merkle 树是一种二叉哈希树结构,将所有交易信息压缩为一个根哈希值(Merkle Root)用于验证某笔交易是否存在。

优势:

  • 高效存储与验证

  • 抗篡改(篡改任一交易将导致 Merkle Root 改变)

它的设计思想和我们平时做“数据摘要”挺像的,只不过它更系统化,也更安全。

密码学基础

Asymmetric Cryptography(非对称加密)

通过公钥加密,私钥解密。

优点:解决对称加密中密钥传输的问题。对公钥开放,私钥自己保存。

Digital Signatures(数字签名)

  • 私钥签名,公钥验证

  • 验证消息来源的可靠性

比特币采用 椭圆曲线算法(ECDSA)生成公钥

特性:

  • 无法从公钥推出私钥(不可逆)

  • 签名可验证但难伪造

Bitcoin Address(比特币地址)

生成逻辑:

私钥 → 公钥(ECDSA) → SHA-256 → RIPEMD160 → Base58 编码

安全性源于哈希链 & 椭圆曲线的数学特性。

Transaction Format

比特币交易包括:

  • Inputs:引用上一笔交易和签名

  • Outputs:value(以 satoshis 为单位,1比特币等于10 的 8 次方 satoshis )和目标地址

  • Lock Time:锁定时间

比特币用的是 UTXO 模型:每笔交易必须完全引用前一个未花费的交易输出

哈希函数 Hash Functions

课程中教授用了个比喻我觉得挺形象的:

Digital Fingerprints For Data

特性总结:

  • 固定输出长度

  • 输入微变,输出剧变(雪崩效应)

  • 单向性(难以从输出推回输入)

  • 抗碰撞(极难找到 x ≠ y 且 Hash(x) = Hash(y))

在比特币中的应用:

  • 区块 Header / Merkle Tree → SHA-256

  • 地址生成 → SHA-256 + RIPEMD-160

小结与感想

本节课是我觉得是目前为止最“技术”的一节,涉及了很多密码学的原理。

本节课主要是学习了比特币的基本特性,包含以下内容:

  • Timestamped Append-only Logs(带时间戳的追加式日志):通过区块结构将交易信息线性记录在链上,确保数据的时间顺序和不可篡改性

  • Security via Cryptographic Hash Functions & Digital Signatures:利用密码学哈希函数实现数据完整性与篡改防护,通过数字签名机制确保交易的真实性和用户授权

虽然这些概念一开始看上去像纯理论(尤其是哈希函数和签名),但它们其实都直接落地在区块链系统的各个核心设计里。

我特别感兴趣的一点是,最后有人在课堂提到一个现实问题:

如果未来找到比 SHA-256 更好的哈希函数,要怎么更新进比特币?

我最近也看过一些对这方面的技术讨论:去中心化系统中的治理与升级。像以太坊智能合约通常会保留 upgrade 合约升级函数,但比特币这种更“保守”的系统该如何处理更新?共识机制一方面带来了抗篡改的稳定性,但也对未来变化提出了治理挑战。另外,去中心化中共识即价值,如何在升级之后仍然保持价值或者让人对升级这件事本身达成共识,感觉是一个很值得探讨的问题

下节预告

  • Consensus Protocol(共识协议)

  • Transaction Ledgers(交易账本)

相信这将是更深入理解区块链经济系统运行逻辑的重要一课,我也很期待下一讲!

License:  CC BY 4.0