確認究竟是如何工作的?
當使用者 A 向使用者 B 發送比特幣時,使用者 A 用他的私鑰簽署交易。該簽名交易被發送到比特幣網路,所有節點通過探勘收集、確認這些交易並將其打包到區塊中。到目前為止是正確的嗎?但是在確認時究竟會發生什麼。節點在做什麼?我無法想像確認在技術上意味著什麼。交易是否包含公鑰,節點是否可以使用該公鑰解密交易?
等待 6 次或更多確認是什麼意思?(見<http://bitcoin.org/en/vocabulary#confirmation>)。為什麼要等待確認以及如何決定等待多少確認?這對我來說很不清楚(比特幣新手)。這裡的工具提示告訴我“交易的確認越多,它就越有可能永久保留在鏈中”。為什麼我希望我的交易保留在鏈中?
每個節點在了解交易時都會檢查交易是否有效。節點檢查已使用的資金是否存在,以及是否已正確簽名。您可以將地址視為將資金鎖定到特定的私鑰。所有者通過使用此私鑰生成簽名來驗證自己。私鑰和地址形成一個非對稱密鑰對,因此每個知道資金先前發送到的地址的人都可以驗證簽名的真實性。然後礦工收集交易,並將它們包含在區塊中。當一筆交易出現在有效區塊中時,該筆交易被視為已確認。
當發現其他區塊時,它們會建立在挖礦節點已知的最長鏈上。只要在鏈 A 中只有很少的塊堆疊在區塊頂部來確認我們觀察到的交易,就可能仍然存在競爭鏈 B 可以超越和淘汰這些區塊。如果 B 包含與我們觀察到的交易不一致的交易,那麼觀察到的交易可能仍然無效。
每個區塊,在觀察到的交易被確認後,顯著降低了區塊失效的機會,因為競爭鏈必須探勘自我們觀察到的交易被確認後的所有區塊,即必須做整個網路的多次工作為了趕上。
當你的交易被確認了 6 次時,即自從你的交易在一個區塊中出現後又發現了 5 個額外的區塊,擁有 30% 算力的礦工超過目前鏈尖的機率小於 1%,有人認為此時交易是可靠的。