Transactions

比特幣客戶端在停機後如何更新?

  • July 15, 2017

如果比特幣客戶端離線或錯過了一個新區塊,找到目前主區塊鏈的過程是什麼?以及比特幣如何確保區塊鏈的更新將傳播到連接到網路的每個設備(即確保連接的節點永遠不會在分類帳中失去塊?)它是否以某種方式從下一個廣播塊的引用遞歸回溯到上一個區塊?那麼它如何確保目前廣播的鍊是主鏈的補充,而不是一些分叉?例如,如果客戶端連接到網路並收到一個給定高度的塊,它如何知道它擁有任何鏈中最多的工作,以及本地副本包含鏈中的所有塊?

節點的對等節點將告訴節點他們最長的區塊鏈的高度,如果這大於節點目前儲存的高度,它將從該節點請求失去的塊(以驗證和儲存它們)。此外,如果一個節點在網路上並接收到一個新塊,它將查看其父節點的雜湊並決定它是否已經擁有父節點。如果它沒有父節點,它會向它的同級請求它。這樣它最終會下載它失去的所有塊並再次更新

該節點將跟踪區塊鏈的每個分叉有多長,並將使用它認為有效的最長分叉。如果出現一個節點認為無效的長分叉,它將顯示一個警告,即節點已過期或對等節點已過期。

引用自:https://bitcoin.stackexchange.com/questions/56650