08-BTC-分叉

目录

前言

比特币分叉

state fork(临时性的分叉)

protocol fork(协议分叉)

硬分叉

软分叉


前言

学习肖臻老师的《区块链技术与应用》公开课笔记,供学习参考。


比特币分叉

区块链由一条链变为两条链就叫分叉。

state fork(临时性的分叉)

假如两个节点同一时间段挖到了矿,就会出现一个临时性的分叉,但是随着时间的推移,分叉会随着最长合法链的出现消失。分叉攻击(forking attack)也属于state fork,也是对比特币这个区块链当前的状态产生的意见分歧,但是这个分叉是故意造成的,所以也叫deliberate fork。

protocol fork(协议分叉)

协议分叉是由于比特币的协议发改变,但是有一部分的节点没有升级软件引起的分叉,根据对协议修改的内容的不同,将其进一步分成硬分叉和软分叉。

硬分叉

如果对比特币协议增加一些新的特性,扩展一些新的功能,但是这时没有升级的较小部分的旧节点不会认可这些新特性,所以旧的节点认为包含新特性的新发布的区块是不合法的区块。这时旧的节点会选择沿着之前的区块继续往下挖,而新的节点虽然认可旧的节点发布的区块,但是新的节点的算力较大会导致存在包含新特性区块的那条链会成为新节点中的最长合法链,就导致了区块链的分叉。如果旧的节点一直不更新软件,这种分叉就会一直存在,这种永久性的分叉就是硬分叉。

软分叉

如果对比特币协议加一些限制,加入限制之后原来合法的交易或区块在新的协议当中有可能变的不是合法了,没有升级的较小部分的旧节点旧的节点也会认可增加限制后发布的区块,但是由于新区块的占比较多,增加限制后发布的区块会构成当前的最长合法链,旧节点会沿着新的区块往下挖,但是新的节点不会认可旧的节点发布的区块,所以这种分叉在一段时间后会自己消失,这种由协议改变引起的临时性的分叉就是软分叉。

猜你喜欢

转载自blog.csdn.net/m0_65453249/article/details/125807843