Blockchain-Fork
根據難度選擇主鏈
如果一個節點觀察到比特幣鏈中的一個分叉,那麼該節點將選擇難度最高的鏈(
difficulty
鏈中每個區塊的總和)。但是
difficulty
每 2016 個區塊只更改一次。那麼,如果在兩者之間發生分叉,那麼difficulty
兩個側鏈的分叉是相同的,對吧?那麼節點如何選擇主鏈呢?只是隨機的?
- 它只考慮有效的鏈。如果任一鏈中包含無效塊,則將其排除在考慮之外。
- 如果鏈工作(鏈中塊的目標的倒數之和,與難度的總和大致成比例)不同,則將小於最大鍊工作的鏈排除在考慮之外。
- 如果仍有多個候選者,則認為最先收到提示的完整塊數據的候選者是活動的。