Transactions

每個區塊是否包含該時間段內的所有比特幣交易?

  • February 8, 2020

當礦工驗證一個區塊時,該區塊是否包含該時間段內比特幣中的所有交易?礦工是否驗證了兩方之間的單個交易,或者他們是否驗證了比特幣中所有各方在該時間段內的交易。

當您閱讀有關比特幣交易的範例時,它會讓人覺得每筆交易(例如,從 Bob 到 Alice 的 1 個比特幣)都是它自己的區塊,由礦工驗證。

創建並包含在區塊鏈中的交易的過程如下:

  1. 發送者創建、簽署和廣播交易
  2. 所有比特幣全節點,包括礦工和普通使用者,都會接收交易並通過確保它遵循比特幣協議規則來驗證它
  3. 節點將未確認/尚未探勘的交易臨時儲存在稱為“記憶體池”的數據庫中(每個節點都有自己的記憶體池副本)
  4. 礦工將他們記憶體池中的許多交易組合成一個區塊。他們會將盡可能多的交易放入單個區塊中(基於比特幣協議規則)
  5. 礦工開始對區塊進行雜湊處理,直到他們得出可接受的雜湊值(這是工作量證明探勘)
  6. 一旦他們通過獲得可接受的雜湊成功“探勘”了該塊,他們就會將該塊廣播到網路
  7. 所有完整節點都接收到塊並檢查以確保塊和其中的交易對於比特幣協議都是有效的
  8. 如果區塊有效,節點會將其添加到他們的區塊鏈副本中。他們還從他們的記憶體池版本中刪除塊內的交易
  9. 非挖礦節點坐下來等待更多的交易/區塊進入以供他們驗證。挖礦節點回到第4步,將更多交易捆綁到一個新區塊中,重複挖礦過程

當礦工驗證一個區塊時,該區塊是否包含該時間段內比特幣中的所有交易?

有關塊結構的資訊,請參閱此問題。

一個區塊最多可以包含 4,000,000 個重量單位的交易。因此,礦工可以選擇要包含在區塊中的交易,最高可達此限制。通常,礦工會選擇向他們支付最大費用的交易。

礦工是否驗證了兩方之間的單個交易,或者他們是否驗證了比特幣中所有各方在該時間段內的交易。

全節點檢查它在網路上聽到的所有交易,以確保它們是有效的。如果它們無效,它們將被丟棄並忽略。當探勘一個塊時,礦工將使用一個完整的節點來選擇只包含在塊模板中的有效交易。

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