Transactions
如果交易在記憶體中發生了變化,礦工怎麼知道呢?
如果 Alice 向 bob 請求某些東西,那麼 Alice 會發送她的公鑰,並且 Bob 使用 Alice 的密鑰對消息進行加密。
Bob 使用他的私鑰和散列函式進行簽名。完成此過程後,Bob 發送帶有簽名的加密消息。
最後,Alice 解密消息並將其放入雜湊函式中,並將輸出與解密簽名進行比較。
這就是我對交易的理解。
但是當交易在記憶體中等待時 如果有人使用 bob 的公鑰更改了簽名內容,礦工如何知道這是錯誤的簽名?
為了將消息與簽名進行比較,礦工需要 Alice 的私鑰。但是礦工沒有。
還有其他方法可以將簽名與加密消息進行比較嗎?
您描述的過程不是比特幣中發生的事情。PGP 等軟體在發送電子郵件消息時使用公鑰加密提供各種安全優勢,這大致是這樣的。
在任何一種情況下,您都不會使用私鑰來驗證數據內容的完整性。
在 PGP 之類的情況下,接收者可以使用發送者的公鑰來確定簽名是否是由接收到的消息內容中的相應私鑰生成的。
對於比特幣,任何比特幣節點都可以僅使用區塊鏈中的數據來驗證區塊鏈中的任何交易。有關原理的詳細資訊,您可以閱讀中本聰的原始白皮書或線上資源,例如
- <https://en.bitcoin.it/wiki/Transaction>
- <http://learnmeabitcoin.com/guide/digital_signatures_signing_verifying>