區塊鏈重組是如何運作的?
區塊沖突是如今最為常見的區塊鏈問題之一,如果兩個區塊幾乎同時發布,那么區塊鏈可能會發生分叉。
當前的沖突解決方法基于最長鏈規則(LCR),即如果存在多個塊,則將最長的鏈視為有效。這意味著每個節點都遵循僅嘗試擴展他們知道的最擴展分支的協議要求。因為分叉錯邊的交易會被重組成新的區塊,這個規則會導致一些分叉錯邊的交易被延遲,從而導致區塊鏈重組。
區塊鏈重組可能發生在比特幣和以太坊等更繁忙的區塊鏈上,其中節點可能會同時在同一個地方生成一個新區塊。兩個節點更新他們的賬本副本;如果發生這種情況,產生較短后續鏈的節點會重組該鏈。鏈重排,本質上是確保所有節點運營商擁有相同的分布式賬本副本。
區塊鏈重組攻擊是指鏈分裂,其中節點從新鏈接收塊,而舊鏈繼續存在。在5 月 25 日,以太坊 Beacon 鏈經歷了7個區塊的重組,并暴露于稱為鏈組織的高級安全風險。在客戶端更新提升特定客戶端后,Eth2上的驗證器(現在是共識層升級)信標鏈變得不同步。然而,在此過程中,區塊鏈網絡上的驗證者感到困惑,并沒有更新他們的客戶端。
七塊重組意味著在網絡發現它不是規范鏈之前,將七個交易塊添加到最終丟棄的分叉中。因此,如果某些節點運營商比其他節點運營商更快,就會發生區塊鏈重組。在這種情況下,更快的節點將無法就應該首先處理哪個區塊達成一致,他們將繼續向其區塊鏈添加區塊,并在創建下一個區塊時留下較短的鏈。
例如,礦工 X 和 Y 可能同時找到一個有效區塊,但由于區塊在點對點網絡中的傳播方式,網絡的一部分將首先看到 X 的區塊,然后是 Y 的區塊。更多區塊鏈消息,請關注下載WikiBit APP,全球區塊鏈監管查詢APP。如果兩個塊的難度相同,則會出現平局,客戶將可以選擇隨機選擇或選擇先前看到的塊。當第三個礦工 Z 在 X 或 Y 的區塊之上創建一個區塊時,通常會打破平局,而另一個區塊會被遺忘,從而導致區塊鏈重組。
在以太坊的信標鏈重組案例中,最新節點比未在 3,887,074 塊更新客戶端的驗證者快約 12 秒。當更新的客戶端在其余驗證者之前提交下一個區塊時,就會發生以太坊鏈重組。這讓驗證者對誰應該提交初始區塊感到困惑。
以太坊核心開發人員 Preston Van Loon 表示,以太坊區塊鏈的重組是由于部署了 Proposer Boost 分叉決策,該決策尚未完全推廣到網絡。此外,這種重組是更新和過時的客戶端軟件的重要細分,而不是錯誤選擇的標志。
當鏈的第一個塊形成時,隨機數會生成加密哈希。除非被挖掘,否則塊中的數據被視為已簽名且不可撤銷地鏈接到 nonce 和 hash。每個塊中都包含一個標頭和幾個事務。然后,從塊中的交易生成固定長度的哈希輸出,并將其添加到塊頭中。
在第一個有效塊生成之后,每個后續有效塊都必須包含前一個或舊塊頭的哈希輸出。每個有效塊都通過包含在每個塊中的前一個塊頭的散列鏈接到它之前的塊。結果,通過將每個塊與其前身連接起來,形成了一個塊鏈(數據鏈),稱為區塊鏈。