风险提示:理性看待区块链,提高风险意识!

比特币分叉是利好吗?

1个回答

彦祖・菲尔普3星评价

2020-10-29 11:10:41

比特币分叉是利好吗?

比特币采用的工作量证明机制,就是让矿工互相竞争求解一个数学题,谁先解出来了,他就大喊一声:“我的工作量证明成功了,你们快来看。”全体矿工就都过来把那一页目抄写一份,贴在自己账本的最后面,然后又开始新的记账过程。

在这个过程中,经常会出现这样一种情况:两个矿工同时解出了题目,这时要怎么办呢?

前面的文章也曾经讲过:“在任何区块里,第一条都是没有转出地址的,就是所谓的Coinbase(挖矿交易)。没有任何人付给矿工这笔钱,矿工只是理所应当的写上自己获得了12.5比特币。所有节点都认可矿工这样写,因此矿工就得到了挖矿收入。不同的矿工在填写区块的时候,数据一定是不一样的,因为每个矿工的第一条肯定不一样,矿工只会把挖矿收入转入自己的地址。”

由于每个矿工的区块数据都不一样,所以他们解题得出的结果也是不一样的,都是正确答案,只是区块不同。于是,区块链在这个时刻,出现了两个都满足要求的不同区块。那么,全体矿工这时该怎么办呢?

由于距离远近,不同的矿工看到这两个区块是有先后顺序的。通常情况下,矿工们会把自己先看到的区块复制过来,然后接着在这个区块开始新的挖矿工作。于是,出现了这样的情景:我们把这种现象叫做分叉。

在以工作量证明机制为共识算法的区块链系统中,这个问题是这样被解决的:从分叉的区块起,由于不同的矿工跟从了不同的区块,在分叉出来的两条不同链上,算力是有差别的。形象地说,就是跟从两个链矿工的数量是不同的。

由于解题能力和矿工的数量成正比,因此两条链的增长速度也是不一样的,在一段时间之后,总有一条链的长度要超过另一条。当矿工发现全网有一条更长的链时,他就会抛弃他当前的链,把新的更长的链全部复制回来,在这条链的基础上继续挖矿。所有矿工都这样操作,这条链就成为了主链,分叉出来被抛弃掉的链就消失了。

最终,只有一条链会被保留下来,成为真正有效的账本,其他都是无效的,所以整个区块链仍然是唯一的。注意,能够让区块链保证数据唯一性的前提是:所有矿工都遵从同样的机制。

还有一种情况,就是矿工不遵从同样的机制,那么也会出现分叉。这种分叉又有两种情况:一是由于整个区块链系统软件的升级,一部分矿工没有来得及升级,出现了遵从不同机制产生的分叉。

当这部分矿工升级系统后,这个分叉就会消失,我们称这种分叉为软分叉。二是由于矿工之间出现分歧,一部分矿工决定采用不同的机制,产生出来的分叉是不会消失的。我们一般把这种分叉称为硬分叉。