Mining-Theory

創建空塊與創建完整塊

  • July 20, 2016

我已經閱讀了有關該主題的許多不同答案。

礦工自己決定是否在他的區塊中包含任何交易以及有多少交易(只要區塊大小小於 1MB?)是否正確?

什麼對礦工更有利?為什麼:創建一個空塊,或創建一個包含池中所有交易的塊/或小於 1MB?或者有沒有最優的?

礦工不包含任何交易以獲得獎勵不是更快嗎?更何況,如果是大礦池那樣做,豈不是有接管網路的危險?

是的,您是正確的,礦工可以決定是否在他們正在探勘的區塊中包含交易。協議本身並不強制它們包含任何事務。相反,他們有經濟動機將交易包括在內,因為他們可以收取交易費用並獲得更多利潤。

這對他們來說是一個有趣的權衡,因為他們的利潤必須超過驗證這些交易的成本。但是,我懷疑交易驗證不會花費礦工任何費用,因為他們可以在使用不同硬體i+1探勘塊時驗證和散列交易塊i:驗證是在 CPU 上完成的,探勘是在 ASIC 上完成的。

但也有一些有趣的情況:例如,i+1如果另一個礦工 B 找到了區塊i,並且其中包含來自礦工 A 的下一個區塊的交易,礦工 A 必須重新計算他們的下一個i+1區塊。在這種情況下,礦工 A 必須從他的區塊中刪除一些 TXi+1並重新計算 Merkle 樹。或者礦工 A 可以創建一個空塊i+1並在其上進行探勘。

有時,在區塊上挖礦時i+1,礦工甚至跳過驗證其他礦工的區塊i,以期早點開始[1]來贏得比賽。

希望這有助於澄清一些事情。

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