Blockchain
區塊傳播延遲如何不會導致意外分叉?
看起來,在某些情況下,塊傳播延遲約為 122 秒。如果在第一個塊完成之前形成另一個塊,這不會意外創建一個分叉嗎?這個分叉將如何解決?某人的交易必然會失去。
範例: 讓我們從塊 A 開始。假設塊 B 剛剛完成,現在正在傳播。如果在那段延遲期間,有人進行了交易,並且在塊 B 到達他們之前創建了一個新的塊 C,那麼他們的區塊鏈會不會分叉,A->C 和 A->B?比特幣如何防止這樣的意外分叉?
比特幣如何防止這樣的意外分叉?
它沒有。比特幣在技術層面幾乎沒有努力防止分叉,而是依靠這樣一個事實,即當分叉確實發生時,可以通過等待額外的塊並選擇工作量最大的鏈來解決它。
正如 Pieter 所提到的,挖礦機製本身可以防止長期分叉。挖礦行為將一條鏈延伸到另一條鏈之外,將較短的鏈減少為臨時的並且現在被丟棄的叉子。
特別是對於礦工來說,他們付出了很多努力來避免這種情況——即使是在較小的分叉上進行挖礦也具有內在的風險,因為如果分叉的另一方獲勝,他們可能會失去區塊,從而失去區塊獎勵。
為了降低這種風險,所有認真的礦工都以比特幣光纖的形式加入高速鏈路。這些專門設計用於最大限度地減少傳播延遲。
沒有嚴肅的採礦作業會考慮 122 秒的傳播延遲——這些只會發生在由具有絕對糟糕的對等和網際網路訪問的人執行的節點上。對於絕大多數節點來說,塊在幾秒鐘內就會收到,而對於礦工來說,通常在 <1s 內。