Bitcoin-Cash

為什麼大區塊會增加鏈重組的機率?

  • April 21, 2019

在最近在比特幣現金 SV 中發生的兩次鏈重組之後,我發現許多開發人員表示大區塊是重組的原因:

“幾乎每次有人試圖在 $BSV 鏈上生成一個非常大的區塊時,都會發生重組。” Nikita Zhavoronkov,Blockchair 的首席開發人員

“這基本上正是 BU gigabock 測試網發現的問題。在大小 > 100mb 時,記憶體池是如此不同步,以至於塊基本上作為完整塊傳輸。

“BSV 有一個 128mb 塊,它導致了 6 個塊的重組。在 BU 測試網上,持續的 128mb 塊導致了鏈的完全崩潰,其中有如此多的重組,以至於每個節點對區塊鏈的狀態都有不同的看法。並且會你相信幾乎沒有一天,BSV 的支持者不會嘲笑我指出這一點,就好像我錯得多麼明顯一樣。” OpenBazaar首席執行官Chris Pacia

大區塊的本質是什麼使得區塊鏈更有可能自我重組?

如果網路無法及時處理它們的傳播,這表明增加塊大小的想法存在固有缺陷。

如果塊大小很大並且連接節點的記憶體池不同步,則完整節點基本上必須在添加到其鏈之前下載幾乎整個塊,然後將該塊傳輸到與其連接的節點。這會消耗大量時間。如果礦工開采了一個區塊h,他們通常會嘗試h+1在他們找到的區塊之上建構區塊。只有在他們收到塊之後h+1(在他們開採它之前),它才會知道他們輸掉了“比賽” h+1。然後,礦工將其鏈重組到h+1他們剛剛收到的最佳高度,並在此之上進行開採。

當塊大小很大時,上例中的礦工可能h+1只有在探勘後才能收到塊h+1。因此,礦工將開始在他開采的區塊之上建造,被欺騙,他是第一個找到該區塊的解決方案的人h+1。如果塊大小很大,這可以擴展到多個高度,直到礦工h+6在該高度開採該塊之前收到一個高度塊。因此,礦工現在將根據他過去收到的區塊重新組織他的鏈。與礦工緊密相連的完整節點也必須重組他們的鏈才能實現這一點。

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