7.BTC-挖矿难度-北大肖臻老师客堂笔记

第 7 讲(P7)的核心内容是围绕比特币的挖矿难度调整 以及以太坊中针对分叉问题的解决方案(GHOST 协议)

以下是该课程内容的结构化总结:

一、 为什么要调整挖矿难度?

为了维持系统的稳定性。比特币规定平均每 10 分钟产生一个区块。

  • 如果不调整: 随着计算机算力(哈希率)的提升,出块时间会越来越短。这会导致区块链频繁分叉,不仅降低系统安全性(容易受到攻击),还会造成大量的计算资源浪费。

二、 比特币的难度调整机制

  1. 调整周期: 每隔 2016 个区块(约 2 周时间)调整一次难度。
  2. 调整公式:
  • 目标值(Target)决定了难度,Target 越小,难度越大。
  • 公式:New Target = Old Target × (实际产生2016个区块的时间 / 预期时间2周)
  1. 限制保护: 为了防止波动过大,单次难度调整的最大幅度限制在 4 倍以内(即难度最多增加到原来的 4 倍,或减少到原来的 1/4)。

三、 相关核心概念(Orphan, Ghost, Uncle)

随着出块速度的加快(如以太坊约 15 秒一区块),分叉会变得非常频繁。为了处理这些分叉,引入了以下概念:

1. Orphan Block(孤块)
  • 定义: 在比特币中,如果两个矿工几乎同时挖出区块,只有一条链会成为"最长合法链",另一条链上的区块被称为"孤块"。
  • 结果: 在比特币中,孤块是完全无效的,矿工拿不到任何奖励。这对于算力较小的个体矿工不公平。
2. Uncle Block(叔父块)与 Uncle Reward(叔父奖)

这是以太坊为了解决孤块问题引入的机制:

  • Uncle Block: 虽然没能进入主链,但其"父母"是主链上的区块(即曾经发生过分叉但败北的区块)。
  • Uncle Reward(奖励): 为了鼓励矿工并提高系统安全性,以太坊会给这些叔父块的矿工一定的奖励(通常是区块奖励的 7/8 左右)。
  • 作用: 减少了大型矿池因为网络延迟优势对小矿工的剥削,使系统更加去中心化。
3. GHOST 协议
  • 全称: Greedy Heaviest Observed Subtree(观察到的最重子树协议)。
  • 核心思想: 在决定哪条是"主链"时,不简单地看哪条链最长,而是看哪条链包含的**工作量(包含的区块总数,包括叔父块)**最多。
  • 目的: 即使出块时间很短(分叉多),也能通过计入分叉块的工作量,快速使全网达成共识,防止 51% 攻击。

四、 总结:核心逻辑链

  1. 算力增长 出块变快 调整难度(维持 10 分钟/块)。
  2. 出块太快 (如以太坊) 产生大量 Orphan Block(浪费且不安全)。
  3. 引入 GHOST 协议 将孤块变为 Uncle Block 并给予 Uncle Reward
  4. 最终目的 既能保持快速确认(高 TPS),又能保证系统的公平性与安全性。
相关推荐
杭州杭州杭州1 小时前
李沐动手学深度学习笔记(4)---物体检测基础
人工智能·笔记·深度学习
Web极客码2 小时前
区块链第 1 层与第 2 层有什么区别?
服务器·区块链
CryptoRzz2 小时前
如何高效接入日本股市实时数据?StockTV API 对接实战指南
java·python·kafka·区块链·状态模式·百度小程序
日更嵌入式的打工仔2 小时前
嵌入式系统设计师软考个人笔记<3>
笔记
求真求知的糖葫芦3 小时前
微波工程4.2节阻抗与导纳矩阵学习(自用)
笔记·学习·线性代数·矩阵·射频工程
junnhwan4 小时前
【计算机网络-CS168-textbook阅读笔记】传输层原理与TCP设计
笔记·计算机网络·tcp·cs168
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [drivers][base]platform
linux·笔记·学习
China_Yanhy5 小时前
我的区块链运维日记 · 第 4 日:死掉的“活”节点 —— 攻克“同步滞后(Lag)”
运维·区块链
草原猫5 小时前
主流公链 DAPP 开发对比:EVM 兼容链与非 EVM 链开发差异
区块链·dapp开发