Bitcoin-Core

比特幣交易批次究竟是什麼時候發生的?

  • October 14, 2021

我需要一些幫助來理解比特幣內部……

基本思想是:

礦工將 N 筆交易組裝成一個區塊(而不是為每筆交易創建共識)。並對這些交易進行雜湊處理以達成共識。

但是,礦工程式碼何時決定“合併”?礦工程式碼要等待多長時間才能將這些交易傳遞給雜湊函式?

它會等到交易列表達到塊大小限制(1 MB)嗎?

或者它只是等待 X 分鐘?

還是在收到交易費用後立即合併?

白皮書說

每個節點將新交易收集到一個塊中。

儘管可以單獨處理硬幣,但要為轉賬中的每一分錢進行單獨的交易會很笨拙。為了允許價值被分割和組合,交易包含多個輸入和輸出。

但沒有說明它收集了多少,或者它等待收集多長時間……

礦工選擇對他們有商業意義的任何交易。如果他們不想,他們不必包含任何交易。他們可以創建一個不包含交易的區塊(除了向礦工支付區塊獎勵的 coinbase 交易)。

通常,一旦其他人(或他們自己)發布了一個區塊,我希望礦工獲得或建構一個區塊模板,該模板可能包含也可能不包含在其“記憶體池”(mempool)中等待的一堆交易)。然後礦工將執行數万億個不同的隨機數等值,並為每個值計算塊的雜湊值,以查看生成的雜湊值是否小於目前目標。

但是礦工可以隨時開始挖礦。唯一的限制是,如果他們在其他人已經發布了具有區塊編號 N 的不同區塊之後嘗試發佈區塊編號 N,他們只會浪費時間。


礦工將 N 筆交易組裝成一個區塊

這基本上是真的。大多。

(而不是為每筆交易創建共識)。

礦工不會創造共識。

如果願意,礦工可以一次為一項交易創建一個區塊。

礦工程式碼何時決定“合併”?

每當他們想要的時候。

它會等到交易列表達到塊大小限制(1 MB)嗎?

不。

它只是等待X分鐘嗎?

不。

收到交易費用後是否立即合併?

不。

礦工不收取交易費用。當然不是提前。

礦工索取交易費用。他們通過創建一個 coinbase 交易來做到這一點,他們將其作為區塊中的第一筆交易。該交易通常將交易費用金額轉移到礦工錢包的地址中。

除非所有相關人員都認為他們的新區塊符合所有規則,否則他們不能花這筆錢。

一條規則是,在開採另外 100 個區塊之前,他們不能花這筆錢。

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