IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 08-BTC-比特币中的分叉 -> 正文阅读

[区块链]08-BTC-比特币中的分叉

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

二、硬分叉?

三、软分叉?

总结


前言

? ? 今天看了北大肖臻老师《区块链技术与应用》公开课,有很大收获,在此写博客以做笔记,加深印象,若有不当之处,欢迎斧正。


一、什么是分叉(fork)?分叉有哪几种?

分叉就是原来是一条链,在变成了两条链

  • 分叉可能是多种原因造成的,比如说两个节点同时发布一个区块,这个时候区块链就会出现临时性的分叉,我们把这种情形叫做state fork,分叉攻击也属于state fork,不过这种攻击是故意的、人为的,所以又称作deliberate fork;
  • 除了state fork以外还有一种产生分叉情况的是比特币的协议发生了改变,要修改比特币的协议,需要软件升级,在一个去中心化系统中,升级软件的时候,没有办法保证所有节点都升级了软件,当大部分节点升级了软件,剩下小部分可能由于各种原因或者不同意对协议的修改没有升级软件时,这个时候也会产生分叉,这种分叉叫做protocol fork

根据对协议修改的内容的不同我们又可以分为硬分叉和软分叉?

二、硬分叉?

如果修改比特币的协议,增加一些新的特性,拓展一些新的功能,那么那些没有升级软件的节点,它是不认可这些新特性的,认为这些特性是非法的,就会导致硬分叉

  • ?例如对比特币这区块大小限制将它从1M增加到4M,大多数节点更新了软件(新节点),少数节点没有更新(旧节点),如果新节点发布一个区块,这个区块会在新节点之中进行传播,而旧节点会认为这个区块是非法的,旧节点产生的区块仍会接着上一个区块,而不是跟在新节点发布的这个区块后面,而旧节点发布的区块新节点会认为是合法的,因为区块大小限制只是要求你的区块不要超过这个大小就行,那么这里会产生一个硬分叉,由于新节点的算力占了大多数,新节点的链为最长链,他们会沿着新节点的链不断挖,而旧节点认为新节点的链是非法的,就算新节点挖的链再长对旧节点也没用,旧节点只会沿着原来旧节点的链挖矿

这种分叉是永久性的,只要那一部分旧节点不更新软件,这个分叉就不会消失?

三、软分叉?

如果我们对比特币协议加一些限制,使得原来合法的区块变得不合法,那么就会产生临时性的分叉,这就是软分叉?

示例:如果我们把区块大小由1M缩小到0.5M,同样是大部分节点更新,小部分旧节点不更新。当新节点挖出一个0.5M的区块,新、旧节点都认可,而旧节点挖出的区块为1M,新节点不认可,旧节点认可,这时产生了分叉,由于大部分算力在新节点,最长链就是新节点挖出的链,旧节点就会放弃当前所在分叉的链,跟在最新的新节点挖出的区块后挖矿,但由于旧节点挖出的区块是非法的,旧节点就得不到出块奖励

总结

分叉是比特币系统不可避免的,区块链会因为各种原因产生分叉

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-07-21 21:36:25  更:2022-07-21 21:36:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:30:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码