跟大家一起學習區塊鏈技術系列之一 比特幣之區塊高度和分叉

區塊高度就是區塊號,0號就是大家熟悉的創世塊,2016號就是比特幣挖礦難度第一次調整的區塊。

當有多個礦工幾乎同時產生區塊時,這些區塊高度是相等的,這就是分叉,如下圖所示,

跟大家一起學習區塊鏈技術系列之一 比特幣之區塊高度和分叉

每個節點會獨立的接受區塊,通常會接受最先收到的區塊。隨後礦工會產生另一個區塊連接在競爭區塊中的一個,這樣會使得這個分叉比另外的分叉要重,通常節點會丟掉較短鏈的區塊,而去同步最長的鏈的區塊,最長的鏈通常是算力最大的鏈。被丟掉的區塊被稱為孤塊。而孤塊通常是指沒有父母的區塊。

勤奮的礦工們孜孜不倦的工作,不斷延長區塊鏈的長度,而此時有人要發起51%攻擊去修改歷史交易,這個時候長時間的分叉是可能的。

在分叉的時候多個塊可能會有相同的高度,所以我們通常用區塊頭的哈希作為區塊的唯一標識,而不是區塊高度。

驗證區塊的信息代碼,bitcoin/src/validation.cpp,後面有時間專門解析一下這個文件。


分享到:


相關文章: