Full-Node

為什麼全節點儲存整個區塊鏈而不是僅儲存 UTXO 集?

  • December 23, 2019

所以我最近開始學習比特幣(來自比特幣和加密貨幣課程@Coursera)。而且我剛剛了解到那裡有**“完整驗證說明”**:

  • 永久連接
  • 儲存整個區塊鏈
  • 收聽並轉發每個節點/trans

我的問題是為什麼全節點需要儲存整個區塊鏈而不是僅僅保存 UTXO 集?如果我理解正確的話,只有 UTXO 已經足以防止雙重支出。

你是對的,看來這個答案已經過時了。

UTXO 集的概念比比特幣本身更新。最初的軟體保留了一個數據庫,其中包含有關曾經創建的每筆交易輸出的資訊,包括它是否已經花費。在該設置中,UTXO 集僅由該數據庫中的支出資訊隱式定義。

比特幣核心 0.8(當時仍稱為比特幣)是第一個明確 UTXO 集的完整節點軟體版本。當時(2013 年)眾所周知,在驗證後實際上也可以刪除舊塊數據,因為 UTXO 集是單獨維護的。直到 2016 年比特幣核心 0.12 才真正實現了使用稱為修剪的功能。

從歷史上看,課程中的答案並沒有錯:UTXO 維護曾經意味著擁有完整的數據庫。然而,自從引入修剪後,情況就不再如此了。

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