Mining-Theory
在新交易上重新開始挖礦
我知道當有新交易進來時,礦工必須重新開始,或者至少改變他們的默克爾樹以包含新交易,基本上是從頭開始。
如果我查看https://blockchain.info/上的實時交易,礦工怎麼能在沒有中斷的情況下出塊呢?
除非您將中斷定義為幾微秒,並且由於每一秒您都可以計算出我相信數十億個可能的雜湊值,否則我仍然很難理解新塊是如何被“選擇”或以人類可以理解的術語進行驗證的。
探勘是基於計算的,但它不是恆定的,它是隨機的。本質上,計算的每個雜湊都會生成一個隨機數。如果隨機數低於目標,則創建塊有效。任何單個雜湊值足夠低的機率是微乎其微的(您有更好的機會連續多次中獎),但這就是您需要計算大量雜湊值的原因。只要樹本身是有效的,實際的 merkle 樹就沒有區別。礦工沒有義務將所有交易都包含在記憶體池中,因此他們通常會在找到有效雜湊時送出區塊。
所以說真的,對默克爾樹的更新實際上並不重要。事實上,它可能會有所幫助,因為有更多的 nonce 可以嘗試。
礦工選擇將哪些交易包含在他們的區塊中。所以他們不必不斷地將新到達的交易合併到他們正在嘗試的區塊中。如果他們願意,他們可以,例如利用與新交易相關的可能更高的交易費用。