Wallet
比特幣錢包的備份如何恢復轉發交易?
我在手機上安裝了比特幣錢包並進行了一些交易。我備份了我的錢包,備份後又做了一些交易。我認為備份只會恢復我的錢包狀態,直到備份時間。但是當我恢復我的備份時,後來的交易被載入了。
我的問題是,每次我想要請求比特幣時,我的錢包都會隨機生成一個新地址(實際上它會隨機生成一個私鑰,然後使用該私鑰構造公鑰和地址)。所以我的備份應該只有在備份之前生成的私鑰。它如何預測後來的私鑰?
我猜它可能有一個用於生成隨機數的固定種子,並且使用該固定種子它有一個隨機數鏈,但如果這是真的,它是不安全的,因為只要竊取那個種子,一個人就可以擁有所有我想要的私鑰將來有過。
雖然我不確定我對比特幣的背景知識是否正確。因此,如果我有錯誤的假設,請告訴我。提前致謝。
錢包是分層確定性 (HD) 錢包。這意味著它從初始種子生成的密鑰是偽隨機的,它們看起來完全隨機,但可以通過從相同的種子開始完全複製密鑰序列。
從備份中恢復錢包後,該軟體將依次生成密鑰和相應的地址,並檢查每個是否涉及任何交易。他們通常會這樣做,直到他們找到一系列沒有交易的地址。這個長度稱為間隙限制。在未使用的地址數量超過間隙限制後,錢包將停止生成地址。
這就是為什麼恢復的錢包能夠找到影響您餘額的後續交易的原因。
所以你是完全正確的,你的錢的安全性完全取決於那個種子號的安全性。錢包中唯一真正重要的數據是種子編號。所有其他重要數據都可以從其他節點重新創建或獲取。
看