MIT Blockchain and Money 学习笔记(Lecture 4):区块链基础与共识机制
📌 本节课是比特币核心机制的进一步剖析,关注区块链的共识机制设计,主要包括 工作量证明(Proof of Work)、挖矿机制(Mining)、激励机制(Native Currency)、节点与网络结构(Network),并对其他共识机制进行初步引入
📖 Study Questions
拜占庭将军问题(Byzantine Generals Problem)
比特币中的工作量证明(Proof of Work)和挖矿(Mining)机制是如何解决拜占庭将军问题的?
更广义地讲,区块链技术是如何应对该问题的?
其他共识协议(Other Consensus Protocols)
除了工作量证明之外,其他共识算法(如权益证明 Proof of Stake 等)有哪些权衡与利弊?
经济激励机制
区块链系统中,经济激励机制是如何帮助维持去中心化账本的一致性,并避免“双重支付”(Double Spending)问题的?
共识协议与挖矿行为中的激励设计
各类共识机制下,参与者(如矿工、验证者)是如何通过激励制度被驱动来维持整个网络运行的?
🧠 知识回顾:比特币的区块链架构
区块链的存储结构:带时间戳的追加式日志(timestamped append-only log)
append-only 指仅支持追加写入,不可修改,从而保证数据的 immutability(不可篡改性)。
虽然是防篡改的结构,但仍可能遭受攻击。例如攻击者可以尝试构造一条更长的链(fork),借此替代现有链。
比特币中,通过工作量证明(PoW)的难度设计,确保构造更长链的成本极高,从而保障了安全性。
中本聪在原论文中对此做了概率上的数学论证。
即使链被分叉,用户若仍持有私钥,则其原有资产不会丢失。
比特币技术栈简述(从 Lecture 3 到 Lecture 5 的串联)
Lecture 3:加密学与区块链数据结构(hash、签名、时间戳日志)
Lecture 4:去中心化共识机制(本讲)
Lecture 5:交易模型与脚本系统(Transaction Script & UTXO)
三者共同构成了比特币的核心技术生态。
🔑 核心概念 1:Byzantine Generals Problem(拜占庭将军问题)
问题描述:多个将军分布于不同地点,必须就“是否进攻”达成一致,但其中可能有叛徒传递错误信息。该问题抽象为在不可信网络中达成共识的难题。
Blockchain 用去中心化协议实现“无中心信任”的状态机复制,本质上是这一问题的工程解法。
🔧 共识机制一:Proof of Work(PoW)
起源:Hashcash(Adam Back, 1997)
最初设计用于防止 Email 的 DoS 攻击。核心思想是:
为了完成某项操作,必须找到一个符合特定条件的哈希值(通常是前导 0 的数量)。
哈希值可快速验证,但求解过程计算量大,具备抗 spam 特性。
比特币的创新点:
Chained Proof of Work for Distributed Consensus and Timestamping.
比特币将工作量证明与区块链接(区块头中引用前一个区块的哈希)结合,用于构建最长链共识机制。
每个区块的哈希计算内容包括:
sha256(prev_block_hash + tx_merkle_root + timestamp + nonce)
网络中默认在“当前最长链”上继续挖矿。
链的“最长”代表最多算力的累积投入,从而形成一种去中心化的共识。
挖矿主链与分叉示意:
示例图(主链 vs 短分叉):
紫色分支:可能由广播延迟或多个矿工同时出块造成的临时分叉。
黑色主链:最终成为全网默认的主链。
没有被接续的分支最终被抛弃,称为“孤块”或“stale block”。
⏳ 被抛弃链上的交易不会永久丢失:因其仍存在于其他节点的 mempool 中,可能在之后重新打包进主链。
💡 我个人觉得这种机制和传统系统中的消息队列有些相似,比如未确认的消息会在未来被重新消费
Bitcoin Proof of Work Difficulty
比特币网络的出块难度与目标哈希值的前导零数量有关。目标值越小,意味着找到一个合格哈希的概率越低,从而增加了难度。
比特币网络每 2016 个区块(大约每两周) 会进行一次难度调整,以确保平均每 10 分钟 出一个块。
举例来说,最初的创世区块(Genesis Block)包含了 10 个 16 进制的前导零,实际上当时的要求只是 8 个前导零,也就是说创世区块的哈希实际上比规定的还要难找,这是一种更强的“成功条件”。
随着越来越多的计算设备参与挖矿,网络的总算力(Hashrate)不断提升,挖矿难度也随之不断增加。
Bitcoin Mining Evolution(比特币挖矿技术的演进)
我们通常用 Hashrate(哈希率)来衡量节点解题(即解决 PoW 难题)的能力,其历史演进如下:
CPU 挖矿(2009 – 2010):2 - 20 MH/s
GPU 挖矿(2010 – 2013):20 - 300 MH/s
ASIC 专用芯片(2013 – 2018):4 – 16 TH/s
现代化大型矿场(2018 至今):集群化挖矿,效率更高,耗电也更大
一个核心问题是:挖矿的收益以比特币结算,而成本以法币计价。因此:
比特币价格波动会直接影响挖矿利润;
挖矿难度会影响经济的盈亏平衡点;
若难度过高,利润下降,可能会导致一些矿工退出;
然而比特币网络会自动调整难度,形成一个经济与技术协同调节的动态平衡机制。
Mining Pools(矿池机制)
由于独立挖矿回报具有不确定性,矿工往往联合组成矿池(mining pools),一起挖矿、按算力分配奖励,从而获得更稳定的收益。
矿池中的收入分配仍然基于 PoW 原则:谁贡献的算力多,谁获得的奖励多。
💡 课堂讨论亮点: 有同学提问——“矿池是否可以联合限制挖矿数量,以降低整体难度?”
教授一语点破:比特币是一个开放的网络。
也就是:你不挖,总有人挖。
所以矿池之间达成限制协议没有意义,任何人都可以加入进来参与竞争。这也凸显了比特币网络的开放性与去许可性(permissionless),但也确实有点黑色幽默。😂
51% 攻击
现实中更值得担心的是所谓的 “51% 攻击”:
如果某个实体控制了超过 50% 的算力,就可能通过分叉等方式篡改交易记录;
虽然多个研究论文提出了攻击模型和防御策略,但截至目前,比特币尚未发生真正的 51% 攻击;
然而这也是人们对矿池集中化趋势的一个长期担忧。
Native Currency(原生代币)
区块链系统通常设计有自己的原生代币,作为其经济激励的基础。以比特币和以太坊为例:
比特币(BTC)
每个区块会生成一个Coinbase Transaction,创建新的 BTC;
货币发行政策写死在比特币协议中;
初始每个区块奖励 50 BTC,每 210,000 个区块减半;
当前每个区块奖励约为 12.5 BTC,通胀率约为 4.1%;
目前已有约 1730 万枚 BTC,最终总量 2100 万枚(预计 2140 年);
除出块奖励外,还有交易手续费(market-based fee)作为补充激励。
以太坊(ETH)
每个区块奖励约为 3 ETH,通胀率约 7.4%;
有提案计划将其降低到 2 ETH(2018年11月左右);
手续费系统为 Gas 机制,以用于支付计算资源消耗;
每笔交易的费用单位是 Gas × Gas Price,结算单位为 Wei(1 ETH = 10^18 Wei);
注:课程资料将 Gas 写为单位略有问题,实际 Gas 是“计量单位”,而非费用单位。
📌 我的思考: 货币机制会深刻影响区块链的共识与经济模型。区块链不仅是技术系统,更是经济系统。设计合理的发行机制和激励机制,是确保网络健康发展的关键。
Currency or Asset?(加密货币到底是不是货币?)
课堂中有一个引发热烈讨论的问题:
“比特币是真正的货币,还是只是具备货币特征的资产?”
有同学回答说,判断一个事物是否是货币,可以从以下三个角度来看:
Unit of Account(记账单位)
Store of Value(价值储藏)
Medium of Exchange(交换媒介)
从这个角度来看,比特币在自己的体系内的确具备上述三种功能,因此可以视为一种货币。
但是否是“真正的货币”,在现实世界中仍存在较大争议——尤其是在监管层面。
Bitcoin Network 架构
比特币网络中包含如下几种关键角色和组件:
Full Nodes:存储完整区块链,可验证所有交易;
Pruning Nodes:在验证后会丢弃旧交易以节省空间;
Lightweight Nodes (SPV):只存储区块头信息;
Miners:执行 PoW,打包区块,不需要是全节点;
Mining Pool Operators:组织矿池运营,带来效率但也引入了部分中心化;
Wallets:用于生成私钥、公钥,查看、发送和接收交易;
Mempool:保存所有待确认但已验证的交易。
💡 一点思考: 矿池作为中介组织,在分布式网络中扮演了“效率中枢”的角色,但也因此被视为可能的中心化隐患,有人称之为比特币系统的“阿喀琉斯之踵”。
Alternative Consensus Protocols(替代共识机制)
目前除了 PoW,还有一些共识机制正在被研究或应用,通常可以分为:
随机化选举机制:
Proof of Stake (PoS):按持币数量(stake)决定出块概率;
Proof of Activity:结合 PoW 和 PoS 的混合机制;
Proof of Burn:销毁代币以换取出块权;
Proof of Capacity:基于存储空间的共识机制;
委托型机制:
通常基于权限节点分层;
例如 DASH 采用的是 PoW + 主节点(Masternodes)混合机制;
NEO 则采用了“专业节点”的委托协议。
📌 总结:目前还没有一个被公认的完美替代 PoW 的机制,PoW 依然是主流大公链的首选。
Study Questions(课后问题与我的思考)
1. 比特币如何记录交易?什么是 UTXO?嵌入交易中的脚本代码是怎样的?它的编程能力如何?
比特币采用 UTXO 模型(未花费交易输出)来记录交易;
每个交易输入都引用之前某个交易输出;
比特币交易中嵌入的脚本称为 Bitcoin Script,用于锁定和解锁输出;
它是一种非图灵完备的语言,只能完成固定逻辑,不能做复杂编程;
这也体现出比特币“只为代币而设计”的局限性,而以太坊则追求更强的通用性。
2. 在许多技术如公钥加密、哈希函数、数字现金和 PoW 都早已存在的情况下,中本聪的真正创新是什么?
我认为,中本聪的真正创新是:
将这些技术整合为一个协调运行的系统;
创造性地引入了去中心化的经济激励机制;
构建了一个无需信任中介即可达成共识的系统架构。
这个设计虽然看似“拼接已有组件”,但其系统性的创新,是颠覆性的。
我也非常期待下一讲能深入学习 Bitcoin 的交易与账本机制(Transaction & Ledger),继续探索这个复杂而有趣的去中心化世界。