news 2026/5/13 7:25:19

10.BTC-分叉-北大肖臻老师客堂笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
10.BTC-分叉-北大肖臻老师客堂笔记

北京大学肖臻老师《区块链技术与应用》公开课第 10 讲的主题是**“比特币的分叉:硬分叉与软分叉”**。这节课非常重要,因为它解释了在去中心化系统中,当协议(规则)发生升级时,网络是如何达成共识(或分裂)的。

以下是本课程内容的结构化详细总结:

一、 分叉的背景 (Background)

在中心化系统中(如 Windows 更新),软件升级很简单:厂商发布补丁,用户强制或选择更新。但在去中心化的比特币网络中,没有中心权威,节点升级是自愿的。如果一部分节点升级了软件(接受新规则),而另一部分没有,就会产生协议不兼容,从而导致分叉

二、 硬分叉 (Hard Fork)

定义:当比特币协议发生改变,且**新节点产生的区块被旧节点视为“非法”**时,就会发生硬分叉。这通常是因为新协议收紧了规则,或者改变了区块结构,导致旧节点无法认可。但更常见的硬分叉定义场景是:扩大了区块限制(例如从 1MB 扩大到 4MB)。

  • 场景举例(区块扩容)

  • 旧规则:区块大小上限 1MB。

  • 新规则:区块大小上限 4MB。

  • 结果

  • 新节点:挖出了一个 2MB 的大区块。

  • 旧节点:看到这个 2MB 的区块,认为它违反了“1MB 上限”规则,直接拒绝,并在原来的链上继续挖矿。

  • 新节点:认可这个 2MB 区块,并在其后面继续挖矿。

  • 最终结局:由于旧节点永远不会接受新节点挖出的大区块,网络永久分裂成两条链(一条旧链,一条新链)。这两条链上的币在分叉后虽然各自独立,但共享分叉前的历史。

  • 社区分裂:硬分叉往往伴随着社区的分裂。例如,BCH (Bitcoin Cash)就是比特币的一次硬分叉,支持大区块的人去挖 BCH,坚持 1MB 的人留在 BTC。

三、 软分叉 (Soft Fork)

定义:当比特币协议发生改变,新节点产生的区块能够被旧节点认可(视为合法),但这通常意味着新协议收紧了规则(限制更多)。

  • 场景举例(区块大小限制缩小 - 假设)

  • 旧规则:区块大小上限 1MB。

  • 新规则:区块大小上限 0.5MB(新节点自愿只挖小区块)。

  • 结果

  • 新节点:挖出的 0.5MB 区块,完全符合旧节点的“1MB 以内”标准。

  • 旧节点:欣然接受新节点的区块,并在其后继续挖矿。

  • 问题点:如果旧节点挖出了一个 0.8MB 的区块(符合旧规则,但不符合新规则)?

  • 新节点:会拒绝这个 0.8MB 区块。

  • 关键:只要新节点的算力超过 50%,新链就会比旧链长。根据“最长合法链”原则,旧节点最终会放弃自己挖出的 0.8MB 分叉,转而认可新节点的最长链。

  • 最终结局:不会产生永久分叉。旧节点虽然不知道新规则,但只要跟着最长链走,依然能在同一个网络中工作(尽管它们挖出的不符合新规则的块会被孤立)。

四、 实际案例:P2SH (Pay to Script Hash)

这是一个典型的软分叉案例。

  • 背景:最初比特币只有 P2PK (Pay to PubKey) 等简单形式。为了支持多重签名等复杂功能,引入了 P2SH。
  • 旧节点眼中的 P2SH:看起来像是一笔简单的转账,只要哈希对得上就放行(旧节点验证规则很简单)。
  • 新节点眼中的 P2SH:不仅哈希要对得上,还需要执行后面复杂的赎回脚本(Redeem Script),验证通过才放行。
  • 结论:新节点加了更严的检查,但旧节点觉得也没毛病(只是检查得松),所以兼容性得以保持。

五、 软分叉中的“假阳性”风险

对于旧节点来说,软分叉其实是一种“欺骗”。

  • Coinbase 域的利用:在某些软分叉中(如隔离见证 SegWit),新规则的数据被藏在旧节点不检查的区域(如 Coinbase 交易的输入域)。
  • 安全性:旧节点没有验证这部分新规则的安全性,所以理论上它的安全性降低了(变成了“半个轻节点”)。但只要大多数算力掌握在升级后的新节点手中,系统整体依然是安全的。

六、 总结对比

特性硬分叉 (Hard Fork)软分叉 (Soft Fork)
规则变化方向通常是放宽规则(如 1MB -> 4MB)通常是收紧规则(限制更多)
旧节点反应拒绝新节点的区块(认为非法)接受新节点的区块(认为合法)
兼容性向下不兼容(必须全网升级)向下兼容(旧节点可暂不升级)
结果如果有人坚持旧规则,会产生两条永久存在的链只要新算力 > 50%,只会有一条链
典型案例ETH / ETC 分叉,BTC / BCH 分叉P2SH, SegWit (隔离见证)

💡 核心逻辑链

  1. 去中心化升级难部分升级,部分不升级。
  2. 新旧规则冲突
  • 如果是旧节点不认新块硬分叉(路断了,各走各的)。
  • 如果是旧节点认新块(但可能反过来新不认旧)软分叉(只要新算力够强,旧节点被迫跟随)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/13 1:18:24

智能包装行业发展趋势下,如何提高竞争力?

在当前快速发展的智能包装行业中,中科天工包装技术正在利用其技术优势积极布局市场。通过研发更高效的智能包装设备,中科天工致力于满足不断变化的市场需求。公司在技术创新上持续投入,推出具备自动化和智能管理功能的设备。这些设备不仅提升…

作者头像 李华
网站建设 2026/5/9 3:11:05

Dify 官方上架 Nacos A2A 插件,补全双向多智能体协作能力

作者:濯光 一、背景与挑战:多智能体协作中的典型问题 随着 AI Agent 技术的快速发展,单一智能体已经难以满足复杂业务场景的需求。多智能体协作(Multi-Agent Collaboration)正在成为 AI 应用的新趋势——让多个具备不…

作者头像 李华
网站建设 2026/5/12 10:10:17

Katalon Studio 界面导览:工具栏与视图全解析

对于刚接触Katalon Studio的测试工程师而言,面对其功能丰富的界面可能会感到有些无从下手。本文将系统性地介绍Katalon Studio的主要工具栏和视图,帮助使用者快速熟悉这个强大的自动化测试工具的工作环境。 主工具栏:核心功能触手可及 主工具栏集中了最常用的操作,例如创…

作者头像 李华
网站建设 2026/5/12 0:33:49

计算机毕业设计springboot高校大学生实习服务管理系统 基于SpringBoot的高校学生顶岗实践与就业跟踪服务平台 SpringBoot架构下的高校校企协同实习智能化管理平台

计算机毕业设计springboot高校大学生实习服务管理系统(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着高等教育普及化程度不断加深,就业市场竞争日趋激烈&#xf…

作者头像 李华
网站建设 2026/5/11 15:06:05

AI驱动多物理场仿真

🎓作者简介:科技自媒体优质创作者 🌐个人主页:莱歌数字-CSDN博客 💌公众号:莱歌数字(B站同名) 📱个人微信:yanshanYH 211、985硕士,从业16年 从…

作者头像 李华