Client

BIP 158 錢包重新掃描應該如何與 xpub 密鑰一起使用?

  • December 24, 2020

實現 BIP158 的輕客戶端下載過濾器並根據該過濾器檢查其地址。如果匹配,則下載該塊。

現在,假設我們有一個 HD 錢包 (BIP32) 和/或一個 xpub 密鑰。我們如何根據過濾器決定是否下載塊?我們是否必須為每個過濾器迭代所有可能的派生/地址(可能是數千個)?有沒有更有效的解決方案?

不,您基本上必須這樣做:為您的錢包可能使用的每個地址測試塊過濾器。不過,這可能並不像您想像的那麼糟糕。

確定性錢包備份通常帶有主密鑰和派生路徑。如果您擁有這兩條資訊,則只需搜尋一條推導路徑。

然後,你的錢包通常會提前生成一些地址作為前瞻的形式。這個緩衝區的大小通常被稱為間隙限制。如果在重新掃描期間任何錢包地址出現在交易中,則緩衝區會在從該點繼續掃描之前重新填充額外的新地址。基本假設是地址通常按照生成的順序使用,並且個人使用錢包不會生成大量未使用的地址。因此,輕客戶端錢包通常預設使用相當小的缺口限制。

一些錢包備份還儲存錢包的創建日期,這允許重新掃描忽略先前的塊而不是相應的塊高度。

引用自:https://bitcoin.stackexchange.com/questions/100790