Spv

將不完整的資訊傳遞給 SPV 節點

  • December 28, 2019

我想知道 SPV 如何處理以下情況:

  1. 一筆交易已被某個區塊X和資金地址確認y
  2. 在稍後的某個區塊,交易的輸出再次被花費
  3. SPV 節點查詢餘額y,全節點對等方返回答案以及塊的默克爾證明X
  4. 但是..答案並沒有給你最新的回應,因為y資金在最近的一個區塊中被耗盡了……

我知道一些想法,比如 UTXO 承諾,但我不確定它們是否曾被合併到比特幣中。

那麼,這個問題解決了嗎?或者也許沒有人傾向於它,因為它被認為不是那麼糟糕?

這是一個已知的缺點。SPV 協議不能防止遺漏攻擊。

SPV 錢包可以請求證明給定 tx 存在於給定塊中,並且給定塊是給定鏈的一部分。但是,如果不提供每個區塊的完整區塊數據,就無法證明該節點沒有遺漏錢包想要知道的交易,此時您基本上是一個完整節點。

錢包通過連接多個節點來避免這種情況——只要該連接池中有一個誠實節點,錢包就會收到最新資訊。

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