Block

每個全節點都有不同的記憶體池?

  • January 11, 2019

我不明白每個完整節點內部是否有不同的記憶體池。

使用 RPC 命令getblocktemplate我可以獲取有關候選塊的資訊。我可以找到所有已驗證但未確認的交易並且我可以找到甚至bits,target探勘的價值。

我的記憶體池與另一個節點不同?我必須在建構候選塊之前更新我的記憶體池嗎?

專為礦工設計,getblocktemplate由本地記憶體池建構。所有礦工都必須需要一個驗證全節點來為他們提供未經確認的有效交易。

記憶體池從一個節點到另一個節點不同,這可能與驗證交易的商家或個人不太相關,但這與礦工高度相關,隨著區塊獎勵的交易費用部分隨著時間的推移而增加,這一點越來越重要。

您的節點越早能夠接受新的有效交易,您就可以越有效地探勘費用最高的區塊。blocktemplate 函式反映了這一點。與僅具有交易記憶體池子集的節點相比,連接良好的節點將生成以更好的費用優化的塊模板。

有些人可能會爭辯說,交易只佔礦工獎勵的一小部分,在今天的某些情況下,探勘空塊可能值得額外的散列時間,否則在建構最佳塊模板時會處於空閒狀態。這在今天可能是正確的,但係統安全性取決於礦工確認給定交易的動機。這是使用者和礦工之間的確認費市場。

如果礦工獎勵僅由補貼(通貨膨脹)組成,審查將沒有機會成本,因此系統安全性為零。因此,一個允許數據盡可能高效地在記憶體池中傳播、促進創建最有價值的塊模板的系統對於確認費用市場的有效運作是高度相關的。

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