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)
什么是双花问题?(你拿一笔钱花两次,有点像后端开发里“消息重复消费”问题)
区块链是如何解决这个问题的?
上节课回顾
两大核心概念复习:
Money 是一种社会共识(social consensus) 它不具备内在价值,仅仅依赖我们共同相信“别人也会接受它”。而法币依赖国家信用,容易受到政治、经济不确定性的影响。
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(交易账本)
相信这将是更深入理解区块链经济系统运行逻辑的重要一课,我也很期待下一讲!