Security
與輕量級客戶端相比,執行全節點有哪些優勢?
我讀到執行完整節點比執行 SPV 客戶端提供“更多安全性”。這具體是什麼意思?我想我很了解這兩種節點是如何工作的,但我看不出執行一個 SPV 節點會冒什麼風險。真正的輕量級客戶端無法自行檢查未確認的交易是否有效。這是安全性方面的唯一區別嗎?即使對於一個完整的節點,接受未經確認的交易也不是完全安全的。我問這個問題是因為我試圖了解更大的區塊對比特幣網路的影響。因此我需要了解為什麼人們選擇執行全節點/輕量級客戶端。我很清楚為什麼有些人會選擇執行 SPV 節點,但我不明白為什麼有人會理性地選擇執行完整節點。
提前謝謝你!
輕量級客戶端甚至無法自行檢查確認交易是否有效。它必須相信礦工不會花時間確認無效交易。
如果你有一個 SPV 客戶,而我是一個擁有大量採礦能力的邪惡礦工,我可以使用不存在的輸入進行交易(基本上是憑空創造硬幣),並將其包含在我探勘的塊中。這個塊不會被任何全節點接受,因為他們會有一個完整的交易寄存器並且會知道輸入不存在,但是你的 SPV 客戶端會接受它。如果我隨後在我的虛假區塊之上探勘更多區塊,您的 SPV 客戶會認為該交易有多個確認。如果我可以弄亂您的網路連接,這樣您就無法連接到除我控制的邪惡節點之外的任何完整節點,這將特別有效。
當然,這種攻擊對我來說是相當昂貴的,因為我必須花費本來可以產生合法幣的挖礦算力,但如果我可以從你那裡購買一些有價值的東西並用假幣支付,那也許是值得的。因此,如果您從事銷售高價值商品的業務,您可能會認為擁有一個完整的節點是值得的。