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 小时前
[软考网规考点笔记]-软件开发、项目管理与知识产权核心知识与真题解析
网络·笔记·压力测试
tq10862 小时前
先探索,后设计
笔记
hnult2 小时前
2026 在线培训考试系统选型指南:核心功能拆解与选型逻辑
人工智能·笔记·课程设计
AI视觉网奇2 小时前
ue 角色驱动衣服 绑定衣服
笔记·学习·ue5
暴躁小师兄数据学院2 小时前
【WEB3.0零基础转行笔记】Rust编程篇-第一讲:课程简介
rust·web3·区块链·智能合约
devmoon2 小时前
在 Paseo 测试网上获取 Coretime:On-demand 与 Bulk 的完整实操指南
开发语言·web3·区块链·测试用例·智能合约·solidity
三水不滴3 小时前
计网ping原理
经验分享·笔记·计算机网络
prog_61033 小时前
【笔记】思路分享:各种大模型免费当agent后台
笔记·大语言模型·agent·cursor
凯尔萨厮3 小时前
Maven(Windows下载安装)
笔记·maven
wdfk_prog3 小时前
[Linux]学习笔记系列 -- [drivers][input]serio
linux·笔记·学习