比特幣是一個去中心化的系統,每個全節點中都保存著一份區塊鏈賬本數據,并且從理論上來說,礦工可以從任意區塊高度開始繼續向下挖掘新的區
比特幣是一個去中心化的系統,每個全節點中都保存著一份區塊鏈賬本數據,并且從理論上來說,礦工可以從任意區塊高度開始繼續向下挖掘新的區塊。在這種情況下,該如何確定什么樣的區塊鏈是有效的?
中本聰在論文《比特幣:一種點對點網絡中的電子現金》中曾介紹,比特幣工作量證明機制的本質是一CPU一票,而最長鏈包含了最大的工作量,所以“大多數人”的決定就可以表達為最長鏈。通俗來講就是,比特幣區塊是依靠礦工們不斷進行數學運算而產生的,每一個區塊都必須引用其上一個區塊,因此最長的鏈也是最難以推翻和篡改的,所以節點永遠認為最長鏈才是有效的區塊鏈,只有在最長鏈上挖礦的礦工才能夠獲得獎勵,這就是我們常說的比特幣最長鏈原則。
礦工在挖礦時,由于哈希值的產生是隨機的,再加上網絡的延遲,就存在兩個礦工同時挖出區塊的可能,當發生這種情況時,如果他們一起記賬就會造成區塊鏈的分叉。此時,系統就會根據最長鏈原則進行取舍,即哪個新產生的區塊能使其所在的區塊鏈變得更長,則哪個區塊得以被記錄。所有礦工在最長鏈上挖礦有利于維護區塊鏈賬本的唯一性。
這條最長的區塊鏈通常被稱為“主鏈”。在比特幣主鏈上其實也存在著分支,這些分支被當做備用鏈,如果新添加的區塊使備用鏈累積了更多的工作量,那么這條備用鏈將被作為新的主鏈。
關鍵詞: 區塊鏈