Blockchain
滅絕的區塊鍊及其內部的交易會發生什麼?
在理解區塊鍊和工作量證明的概念時,很少有事情讓我感到困惑。礦工總是考慮最長的鏈(按難度)並努力擴展它。現在,假設兩個礦工(礦工 A 和礦工 B)同時(幾乎同時)為一個區塊提出解決方案,並公開宣布他們的解決方案。然後,一些礦工首先得到 A 的解決方案,後來他們看到 B 也有解決方案(正好相反,其他一些礦工,他們首先得到 B )。因此,首先看到 A 的礦工開始研究 A 的下一個區塊的解決方案,如果它變得更長,則保存 B 的其他分支。現在,當找到下一個工作證明時,平局將被打破,並且正在其他分支上工作的礦工將切換到更長的分支。現在,我有幾個問題:
- 儲存在被拒絕分支中的交易記錄會發生什麼?
- 兩個區塊分支都會有任何交易記錄嗎?(那麼我想,新的交易記錄將儲存在分支之前的最後一個塊中)。
- 幣庫生成的場景是什麼?如果 A 獲勝,A 獲得 coinbase,之後的交易應該儲存在 A 生成的區塊中。但是,已經找到了分支 A 上的下一個塊(工作證明)的解決方案。因此,新交易將儲存在下一個區塊中(假設由 C..C 生成的下一個 coinbase)。這是否意味著,A 生成的區塊中將只有一個交易記錄(coinbase)?
這個過程,通常稱為分叉,創建了兩條不兼容的平行鏈,也就是說,會有一些交易對一條鏈有效,但對另一條鏈無效。
- 如果存在並行分支,礦工可能會同時跟踪它們。一旦一條鏈被拒絕,該鏈中的交易將與接受的交易進行檢查。不兼容或重複的交易被簡單地丟棄,而剩餘的可以保留到下一個塊(或塊,因為可能只有一個交易太多)。
- 接受鏈的交易記錄將保持原樣,但拒絕鏈的記錄將如上所述合併到舊分支中。不可能將這些交易附加到分支之前的最終區塊,因此,它們被礦工保留並正常放入區塊鏈。
- 這裡可能有點混亂……一旦一個塊被探勘出來,它就不能被改變,所以不可能在那個塊中儲存更多的交易。此外,這個區塊將只有一個基於硬幣的交易。開採後發生的任何交易都將儲存在其後的後續區塊中,但每個區塊都將只有一個基於硬幣的交易,正如比特幣協議所指定的那樣。所以是的,A 生成的區塊中只有一個 coinbase 交易。
儲存在被拒絕分支中的交易記錄會發生什麼?
這取決於。根據以下規則,其他節點將查看被拒絕的分支並嘗試將交易包含在未來的塊中:
- 重複的事務被丟棄。
- 衝突的交易(即由於雙花攻擊)被丟棄。
- 硬幣庫永遠不會保留。
- 交易必須滿足正常的費用要求。