Transactions

如何驗證資金?

  • November 19, 2021

我了解交易進入記憶體池,礦工“驗證”交易,例如確保使用者擁有適當的資金和正確的簽名。具體來說,如何驗證可用資金?似乎您必須遍歷每個區塊中的每個相關交易,以確定資金是否已經用完。這似乎相當耗時,因此肯定有一條捷徑可以驗證使用者是否有可用資金。

如果不遍歷整個區塊鏈,礦工如何驗證資金是否可用且尚未使用?

如果不遍歷整個區塊鏈,礦工如何驗證資金是否可用且尚未使用?

完整節點確實會遍歷整個區塊鏈,但只有一次。當他們通過鏈的歷史工作時,他們創建並不斷更新“UTXO 集”,這基本上是所有有效硬幣的列表。對於每個新塊,網路上的完整節點將驗證塊的內容,並照常更新其 UTXO 集。這使得驗證新交易變得容易:節點只需檢查其 UTXO 集以確保新交易花費有效輸入。

如果不遍歷整個區塊鏈,礦工如何驗證資金是否可用且尚未使用?

為了了解所有未使用的交易輸出,您需要整個區塊鏈。這就是“完整節點”所做的。全節點查看整個區塊鏈一直到創世塊。

“簡化支付驗證”(SPV)節點是輕量級節點,不會下載整個區塊鏈,但需要依賴全節點對等方進行驗證。

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