Segregated-Witness

如果我在 Taproot 啟動後延遲升級到最新的比特幣核心版本,我的節點會驗證早期的 Taproot 支出嗎?

  • February 22, 2021

假設 Taproot 軟分叉於 2021 年 6 月啟動。我在 2021 年 7 月繼續執行舊版本的比特幣核心(不執行 Taproot 規則),因此我的全節點將有效的 Taproot 支出視為任何人都可以支出。然後在 2021 年 8 月,我升級到最新版本的比特幣核心並開始執行 Taproot 規則。我的全節點是否從網路啟動時重新驗證 Taproot 支出,還是僅從我升級到最新版本的比特幣核心時驗證 Taproot 支出?

您的節點可能永遠不會根據 Taproot 規則重新驗證這些交易,除非它由於數據庫損壞等原因被迫進行新的初始塊下載(IBD)。它當時根據任何人都可以驗證它們為有效支出支出規則,因此無需重新審視它們。

SegWit 與 Taproot 的不同之處在於,前 SegWit 版本 (< 0.13.1) 不儲存見證人,因此當他們升級到後 SegWit 版本 (>= 0.13.1) 時,他們必須請求這些見證人。使用 Taproot,見證人 (SegWit v1) 已經由 post SegWit (>= 0.13.1) 儲存,但在 Taproot 之前的版本中,它們只是沒有根據 Taproot 規則進行驗證。

在撰寫本文時(2021 年 2 月)有一個開放的比特幣核心PR #21009,以刪除允許在升級到後 SegWit 版本(>= 0.13.1)後請求見證人的程式碼。

隔離見證升級指南中有關bitcoincore.org的一些有趣的建議和觀察。其中一些特定於 SegWit 軟分叉(例如啟動),而不是提議的 Taproot 軟分叉,但其中大部分都適用於兩者。

感謝 Luke Dashjr 和 Suhas Daftuar 在 IRC 上回答了這個問題。

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