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 小时前
软考网络工程师|第 9 章 网络诊断命令 + 故障工具 + 故障排查完整笔记
网络·笔记
网渡科技2 小时前
智能合约审计流程详解:如何在部署前发现高危漏洞
区块链·智能合约
九硕智慧建筑一体化厂家2 小时前
打破系统孤岛!IBMS 一体化平台,构建智慧楼宇全域管控体系
运维·网络·人工智能·笔记·智慧城市
黑泽明*3 小时前
LVS-Keepalived-全解析
服务器·开发语言·笔记·学习·php
熊猫钓鱼>_>3 小时前
Seedance 2.0 技术深度解析:重构AI视频生成的世界模型新范式
人工智能·笔记·ai·重构·音视频·变革·sedence2.0
天天爱吃肉82184 小时前
【工程师硬件学习笔记:串口‑总线体系与三电试验室异构系统集成深度实战】
大数据·笔记·python·嵌入式硬件·学习·汽车
PC2005-cloud4 小时前
Git学习笔记:GitHub Git Data API 完全指南,用 Go 操控 Git 底层对象
笔记·git·学习
一米阳光86614 小时前
软考(中级)软件设计师核心笔记(8)数据结构——图
数据结构·笔记·职场发展·软考·软件设计师·中级职称
XGeFei13 小时前
【AI应用/Agent智能体搭建平台2】Dify——自部署
人工智能·笔记·学习
祈禾13 小时前
Redis三大缓存问题与分布式锁
运维·数据库·redis·笔记·分布式·缓存