Blockchain
關於交易驗證的基本問題
我對加密還很陌生,並且對節點如何驗證交易有一些疑問
說完整節點檢查發送者(愛麗絲)的簽名是否有效是否正確。他們通過查看包含的雜湊值(愛麗絲收到比特幣的交易)是否曾被用於另一筆交易來檢查雙重支出?
我的問題是,如果是這樣,為什麼驗證不能只檢查 Alice 簽名的交易,為什麼必須檢查整個區塊鏈?
為什麼它不能只檢查 Alice 的其他交易,因為你知道她控制著那個硬幣。
我的問題是,如果是這樣,為什麼驗證不能只檢查 Alice 簽名的交易,為什麼必須檢查整個區塊鏈?
節點不知道誰控制某些輸出。所以沒有辦法“檢查 Alice 的所有輸出”,節點如何確定哪些輸出屬於她?
相反,節點的正常操作是檢查所有交易,以確保沒有交易花費之前花費的硬幣(並檢查新硬幣沒有違反網路規則等)。在執行此檢查時,節點會創建未使用交易輸出 (UTXO) 的索引,用於幫助檢查新交易的有效性。
簡單來說,區塊鏈就是為了防止雙花。否則,Alice 可以向不同的人展示不同的交易,這些交易都具有有效的簽名,他們以不同的方式花費相同的錢。使用包含已執行的每筆交易的分類帳,我們知道這筆錢可以只花一次。