Bitcoin-Core

比特幣核心是否預設驗證簽名?

  • August 27, 2020

最近有人聲稱比特幣核心預設不驗證區塊中的簽名。如果這是真的,Bitcoin Core 甚至可以聲稱是一個完整的節點嗎?

比特幣核心確實會在某個時間點之後驗證所有簽名,如果需要,可以將其配置為驗證歷史記錄中的所有簽名。

assumevalid功能僅在為每個版本更新的特定配置塊之前禁用塊的簽名驗證。到實際發佈時,此塊通常有幾(萬)個深度。作為該特定塊的祖先的任何塊(並且該塊在主鏈中)都不會檢查簽名。在它之後出現的所有塊都將檢查其簽名。這意味著一旦您的節點同步,所有新塊都將檢查簽名。

此外,這assumevalid不是檢查點,也不是在塊高度上執行。如果出於某種原因,有一個重組assumevalid從主鏈中刪除了該塊,那麼區塊鏈中的所有簽名都將被驗證。這只是一種優化,不會影響您節點的安全性。

比特幣核心甚至可以聲稱是一個完整的節點嗎?

是的,作為一個完整的節點,不僅僅是驗證簽名。驗證不僅僅是簽名。比特幣核心仍然檢查 PoW,是否存在所花費的輸出等。

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