I have been trying to figure out if it is possible to restore my wallet with the current information I have.
- The wallet is a 2 of 2 multisignature HD wallet
- The first key is Bip38 and requires a password to decrypt private key
- The second key has a 24 word seed
I currently have both xpub's, and the 24 word seed of the second key. Unfortunately I do not have the password for the bip38 encrypted private key. I created the wallet a while ago and cannot remember the password but I have some ideas of what the password might have been. Given this information, I believe it might be worthwhile to try to brute force the password.
I am unsure the best method of brute forcing a multisig wallet. If it was a non-multisig wallet, I could just do something like this:
const decryptedKey = bip38.decrypt(encryptedPrivateKey, password);
const privateKeyWif = wif.encode(
0x80,
decryptedKey.privateKey,
decryptedKey.compressed
);
const coinkey = CoinKey.fromWif(privateKeyWif);
console.log('address with btc im trying to recover' === coinkey.publicAddress, password) // Found password
The address I am trying to recover starts with a 3 as it is a P2SH address (multisig). When I run the code above I get an address that starts with a 1 (not multisig). With all this being said, what is the best way (if there is any) to validate the "correctness" of a password during brute forcing one key of a multisig wallet?