Transactions
從錢包中花費硬幣後,私鑰是否會發佈到區塊鏈?
我總是花費硬幣,用於交易的地址的最終餘額將歸零。剩餘的硬幣作為新地址的更改返回。這是否表明支出地址的私鑰現在已發佈到區塊鏈進行驗證?進一步使用此地址接收和儲存硬幣是否有風險?
答案是不。您的私鑰永遠不會出於任何原因傳輸到網路。您可能想知道網路如何驗證交易是“您的”。
這是可能的,因為比特幣使用公鑰加密(也稱為非對稱加密)。
您的地址由一對以數學方式連結的密鑰組成。從私鑰中很容易確定公鑰,但從公鑰中確定私鑰是不可能的。更準確地說,除非存在一些密碼缺陷,否則從公鑰中確定私鑰在計算上是不可行的。
您的公鑰包含在交易中(連同目的地和金額)。然後使用您的私鑰對整個交易進行簽名。根據您的私鑰和交易內容,簽名是唯一的。有人不能重複使用簽名,因為它只對唯一的交易有效。
當網路檢測到交易時,它將通過將簽名和公鑰與交易進行比較來驗證它。雖然攻擊者知道公鑰,但他需要知道私鑰才能生成有效簽名。
防止偽造/偽造是因為在沒有私鑰的情況下確定正確的簽名在計算上是不可行的(數百萬年)。攻擊者不可能更改部分交易(例如更改法定支票欺詐中的金額),因為這需要不同的簽名才能有效。網路可以安全地假設,如果簽名有效,則它必須由所有者簽署(大概是在所有者同意的情況下),因此交易是有效的。
這就是為什麼您必須確保 wallet.dat 安全的原因。 如果有人可以訪問您的私鑰,他們可以以您的身份簽署交易。一旦攻擊者可以像您一樣簽署任何交易,最好的交易就是將所有資金轉移到他們控制的賬戶中。
絕對不。1A對應的私鑰用於簽署消費交易,也就是加密消息,每個人都可以通過1A公鑰解密消息來驗證它的真實性。除非明確提取,否則私鑰永遠不會離開錢包。