风险提示:理性看待区块链,提高风险意识!
5分钟读懂区块链分叉
首页 > 币界资讯 > 区块链新闻 2019-02-23 09:00:01
币界网报道:

分叉史上的三次重大事件一文中,我们简要概述了三次分叉事件,本文会对分叉的类别和原理做出简要的介绍,务求让没有经验的小白也完全看得懂。

一、区块链分叉概念

区块链的分叉需要从“系统升级”谈起,大家都知道区块链构建的是去中心化的系统,而我们传统的系统大都是中心化的系统。

对于中心化的系统,其升级比较简单,可分为:服务器升级和终端(客户端)升级。对于服务器升级来说,只要在后台部署好,即可一键升级;对于终端升级来说,可以选择在软件库或应用商店直接升级,终端版本的不一致并不会影响客户使用其服务。

对于去中心化的系统,其升级比较复杂。由于其没有中心机构,没有服务器,所以不存在服务器升级;对于终端升级来说,可以在各自社区中下载、安装,然后完成升级。这里需要注意的是:终端版本的不一致,可能影响客户使用其服务,最终导致其分叉。

区块链分叉就是指区块链在进行“升级”时发生了意见分歧,从而导致区块链分叉,即终端版本不一致。由于没有中心化机构,数字货币每次“代码升级”都需要获得社区的一致认可,如果社区无法达成一致,区块链就会形成分叉。

“升级”可能导致“共识机制”不同,共识机制可分为以下几种:

l 共识算法:NBFT/CFT:Paxos、Raft;BFT:PBFT、 POW、POX

l 区块大小:1MB、2MB、8MB、32MB、64MB

l 账户模型:UTXO、账户余额

l 挖矿难度:时间间隔、Hash函数

l 货币总量

l ……

二、区块链分叉分类

在区块链升级时或终端版本升级时,如果新版本和旧版本中的区块能够相互兼容,称为“软分叉”,不能相互兼容就称为“硬分叉”。

软分叉和硬分叉都“向后兼容”,这样才能保证新节点可以从头验证区块链。而软分叉还可以“向前兼容”,向前兼容是指旧版本的终端可以接受由新版本的终端所产生的区块,如下图所示:

三、比特币的最长链原则

在比特币挖矿中,存在2个矿工几乎同时解出题目或计算出Hash值的情况,即同时挖矿成功。在这种情况下2个矿工会形成2个区块,其数据一定不一样。接下来对这2个区块进行分析:

首先,这2个区块中记录的第一笔交易为:CoinBase交易(挖矿交易)。这笔交易没有转出地址,即没有任何人付给矿工这笔钱,这笔钱来自系统;矿工可以理所应当的记录自己获得了12.5比特币;所有节点都认可矿工这样记录,因此矿工就得到了挖矿收入。由于每个矿工只会把挖矿收入转入自己的地址,而每个矿工的地址不同,故2个区块中的第一条记录肯定不一样;

其次,这2个区块中打包的交易数据也不同。由于交易手续费不同,矿工都会优先打包手续费高的交易,当存在相同手续费的交易情况时,每个矿工的选择也会不同。

由于这2个矿工的区块数据都不一样,所以他们解题得出的结果也是不一样的,即计算出的Hash值不同,但都是正确答案,只是区块不同。于是,此时区块链中出现了两个都满足要求的不同区块。

那么,全体矿工这时该怎么办呢?

由于在区块链中网络广播的距离远近不同,不同的矿工接收到这2个区块是有先后顺序的。通常情况下,矿工们会把自己先看到的区块复制过来,然后接着在这个区块开始新的挖矿工作。出现了这样的情景:

以POW共识机制为例,从分叉的区块起,由于不同的矿工跟从了不同的区块,在分叉出来的两条不同链上,算力是有差别的。

由于算力和矿工的数量成正比,因此两条链的增长速度也是不一样的,在一段时间之后,总有一条链的长度要超过另一条。

矿工永远认为最长链是正确的。当矿工发现全网有一条更长的链时,他就会抛弃他当前的链,把新的更长的链全部复制回来,在这条链的基础上继续挖矿;所有矿工都这样操作,这条链就成为了主链。

如下图所示,分叉出来的链会被抛弃掉,之后会消失。在这个分叉过程中:所有矿工都遵从同样的机制,即“追随最长链原则”。

四、围绕区块链分叉的分析

根据前面区块链分叉场景的描述,区块链分叉有以下四种情况:

l 第一种:区块链内部机制——区块链产生孤块(软分叉)

数字货币正常记账因网络延迟等技术原因,可能出现了两个不同内容区块,当其中一个后面跟的区块更多时,另一个区块及跟随的短链就会被抛弃变成“孤块”,这也就是所谓“追随最长链原则”

l 第二种:终端版本升级——软分叉

软分叉是指旧的节点并不会意识到区块链代码发生改变,并继续接受由新节点创造的区块。矿工们可能完全没意识到区块链已经分叉了。

l 第三种:终端版本升级——硬分叉

硬分叉升级时要求大家都更换到新版本,如果有人还用旧版本,就会产生两个相互不承认的分叉链,这时“最长链原则”无效了。但旧版本出的块往往没有交易所支持,区块奖励一文不值,所以用旧版本的人发现没人跟随他出块,就会找原因,发现新版本就会立刻更新版本,旧版本的链就消失了。

l 第四种:社区、链、币的分裂——永久分叉(硬分叉)

如果两个不兼容的版本不是因为意外而并存,而是因为各有一些人支持不同版本的特征,坚决反对另一个版本的特征。

两个版本就一直有人支持同时运行,互相不接受包含了对方版本特征的链。记出来的区块链就永久分成了两个链,链上记载的币就分成了两种,社区也分裂成两个社区。

五、总结

“区块链分叉”会消失的情况:

l 第一种:区块链内部机制——区块链产生孤块(软分叉)

l 第二种:终端版本升级——软分叉

l 第三种:终端版本升级——硬分叉

“区块链分叉”不会消失的情况

l 第四种:社区、链、币的分裂——永久分叉(硬分叉)

对于不会消失的“区块链分叉”,即永久分叉,并非技术问题,而是一个涉及人性和利益的问题,目前看来,似乎难以解决。

上一篇: 一些首席信息官表示,2019年区块链行业可能不会取得很大进展!
下一篇: 区块链下新生活的遐想
推荐专栏
Boss Wallet Web3 Econom Pass
专注币圈最新资讯
通俗浅显地聊透Web3大事小情
读懂区块链生态与未来,尽在币界网!
热门币种
更多
币种
美元价格
24H涨跌幅
BTC比特币
60,963.61 USDT
¥435,103.38
-2.72%
ETH以太坊
3,368.69 USDT
¥24,042.67
-0.3%
BNB币安币
570.68 USDT
¥4,073.00
-0.28%
USDT泰达币
1.02 USDT
¥7.25
-0.19%
SOL
135.96 USDT
¥970.36
+7.66%
USDC
1.00 USDT
¥7.15
-0.01%
TON
7.59 USDT
¥54.14
+4.55%
XRP瑞波币
0.47720 USDT
¥3.41
+0.48%
DOGE狗狗币
0.12210 USDT
¥0.87140
+2.43%
ADA艾达币
0.39050 USDT
¥2.79
+3.88%
热搜币种
更多
币种
美元价格
24H涨跌幅
比特币
61589.17 USDT
¥447,297.51
-0.34%
Solana
144.62 USDT
¥1,050.32
-2.87%
Curve
0.2919 USDT
¥2.12
-1.55%
Filecoin
4.5526 USDT
¥33.06
+2.12%
Beta Finance
0.078733 USDT
¥0.57
-17.63%
狗狗币
0.1271 USDT
¥0.92
+2.17%
柚子
0.5957 USDT
¥4.33
+1.72%
Conflux
0.1672 USDT
¥1.21
-1.59%
Shiba Inu
1.739E-5 USDT
¥0.00
-0.97%
Terra Classic
8.374E-5 USDT
¥0.00
+0.46%
Arweave
26.2937 USDT
¥190.96
-2.45%
波场
0.1225 USDT
¥0.89
-0.65%
最新快讯
更多
Fetch.ai:主网持有或质押的FET将自动转换为原生ASI代币
2024-06-28 21:44:01
币界网最新行情晚报:DOT波卡币价格达6.418美元/枚,日内涨幅2.04%
2024-06-28 21:40:15
标记为美国政府地址转出11.84枚BTC,疑似大额转出前的小额测试
2024-06-28 21:34:22
美国政府地址转移11.84枚BTC,约72.6万美元
2024-06-28 21:31:24
CurveFinance采用crvUSD进行费用分配
2024-06-28 21:29:26
尼日利亚证监会:本地加密货币产业估值约为4亿美元
2024-06-28 21:26:45
CurveFinance改变费用分配机制,从3crv过渡到crvUSD
2024-06-28 21:25:24
下载币界网APP