Auto Added by WPeMatico

Why bother with ‘account’ in derivation path?

After lots of wallet testing, I'm thinking that only account level 0 should be used. Especially, when you consider restoring a wallet from the seed phrase. m / purpose' / coin_type' / account' / change / address_index seed phrase: The 12 or 24 word mnemonic. AKA Recovery Seed. BIP39. passphrase: An optional string that is combined with the seed phrase to create a seed. Sometimes called the 25th word (*cringe*). Also in BIP39. Because most wallets make it simple to change the passphrase and difficult to change the derivation path for an installed seed, I think changing the passphrase to…

Continue Reading Why bother with ‘account’ in derivation path?

Can Bitcoin be recovered from a child key alone?

I have a question regarding BIP-32 and keys. Imagine a scenario in which a user creates a new Bitcoin wallet with a seed phrase. He then generates a new address and sends 1 BTC to this address. Under the covers, my understanding is that a master private/public key will be created from the seed phrase. Then, a child key is created under the parent key for the address. Now, suppose this user completely loses their seed phrase / master keys, BUT they somehow have a copy of the child key pair that contains their Bitcoin. Is it possible to recover…

Continue Reading Can Bitcoin be recovered from a child key alone?

Are JBOK wallets used at all?

JBOK (just a bunch of keys) wallets generate the keys independently from each other. In contrast, HD wallets are hierarchical and deterministic: They need a seed (e.g. a couple of words) and can generate the keys with that. This allows HD wallets to have a convenient backup mechanism: Just store the seed (e.g. 12 words with Trezor Model T, 25 words as with Trezor Model One, 24 words, 12/24 words with Exodus, 12 words for coinbase, 12 word for Electrum). I'm uncertain if any of those wallets use it, but the procedure is described in BIP 32 / BIP 39…

Continue Reading Are JBOK wallets used at all?

Why BIP32 GUI and library generates different result?

I use this root key: xprv9s21ZrQH143K3QTDL4LXw2F7HEK3wJUD2nW2nRk4stbPy6cq3jPPqjiChkVvvNKmPGJxWUtg6LnF5kejMRNNU3TGtRBeJgk33yuGBxrMPHi GUI generates xprv9vwS7XPSZyi1U7wisRYieCbeotAoXBJLqG8nBA6ps8ddDHxZ5abVVW29B3DYo2XD1hH6QcT4hDUMhteq5uLRvwSsFSG8KYK9zPGjYBn8XeN on derivation path m/0/0 but lib generates something else https://github.com/bitcoinjs/bip32/blob/master/ts-src/bip32.ts let node: BIP32Interface = bip32.fromBase58( "xprv9s21ZrQH143K3QTDL4LXw2F7HEK3wJUD2nW2nRk4stbPy6cq3jPPqjiChkVvvNKmPGJxWUtg6LnF5kejMRNNU3TGtRBeJgk33yuGBxrMPHi" ); let child = node.derivePath("m/0/0"); console.log(child.toBase58()); xprv9ww7sMFLzJMzur2oEQDB642fbsMS4q6JRraMVTrM9bTWBq7NDS8ZpmsKVB4YF3mZecqax1fjnsPF19xnsJNfRp4RSyexacULXMKowSACTRc Why difference can happen?

Continue Reading Why BIP32 GUI and library generates different result?

Generating HD wallet seed phrase from a long sequence of digits

So got a new hardware wallet and thinking of using my own set of bip39 words instead of wallet generated one, combined with a passphrase. Now, the reason for this is to ensure that I can recover/recreate my wallet even if I don't have access to phrase seed paper backup( like when I am away from my home ). So, I am thinking of generated phrase as follows: get an 80 digit number( or even more). It's a combination of 8 different mobile numbers of my family members/friends. It's not random for me but random for others( at least I…

Continue Reading Generating HD wallet seed phrase from a long sequence of digits

Library to generate address from xPub with arbitrary derivation path

Which library would you recomment do use? Any web technology is ok. I need to set up a webservice that receive an xPub, maybe a coin type and returns an address belong to it. I checked https://github.com/iancoleman/bip39 bit it is a bit complicated me to figure out which metod perform the child derivation logic. I tried this: https://github.com/swan-bitcoin/xpub-tool but it is only for Bitcoin and not for arbitrary alt coins. I can not pass derivation path. Found here a Ruby code nested in the article: https://learnmeabitcoin.com/technical/extended-keys but that only does the child generation from xPub, and I do not like…

Continue Reading Library to generate address from xPub with arbitrary derivation path

How to store hd wallet seed in production server

I've developed a cryptocurrency payment gateway, which is a web application that generates new addresses for users, I've developed a HD wallet as a hot wallet for my application, and all addresses for different coins generated from a master key(seed), so this seed is a crucial part of my application, whats a most secure way of storing this seed in production server except 2way encryption?

Continue Reading How to store hd wallet seed in production server

Python: Why the addresses and keys generated by pywallet and bip32utils using the same 12 mnemonic words don’t match?

I tried to generate wallets by using pywallet and bip32utils (Python). But I noted that the addresses/keys of the 2 wallets, namely wallet_pywallet and wallet_bip39 don't match with each other. I noted that the addresses/keys of wallet_bip39 match with Exodus, but wallet_pywallet doesn't. We have been using pywallet for such a long time so I believe wallet_pywallet should be correct as well. Why is there such a discrepancy? Below is the code, while the code for wallet_bip39 is obtained from this post. from pywallet import wallet import binascii import mnemonic import bip32utils def bip39(mnemonic_words): mobj = mnemonic.Mnemonic("english") seed = mobj.to_seed(mnemonic_words)…

Continue Reading Python: Why the addresses and keys generated by pywallet and bip32utils using the same 12 mnemonic words don’t match?

How to calculate and spend funds received from derived addresses

Assume I have a xpub for path m/44'/0'/0' and I generate receive addresses from it like m/44'/0'/0'/1 to m/44'/0'/0'/n where n could get really large as time passes. My question is: Where does these funds really go? every single derived address has it's own value but do they sum up (likely in the higher tree level) ? because wallets like blockchain show the total value of all generated values. what if all addresses have less than 0.2 BTC and I want to spend like 1.5 BTC .

Continue Reading How to calculate and spend funds received from derived addresses

How to correctly create and import a SegWit paper wallet

I use Bitcoin Core to create SegWit paper wallets for friends and family. After creating the wallet via the GUI, the steps I take are as follows: getnewaddress # Carry this public key back to the paper wallet dumpprivkey *step-1-key* # Carry this private key back to the paper wallet Then, using qrencode, I also print the two related QR codes. I tried to verify the correctness of the steps, importing one of the wallets I created into Bitcoin Core, as follows: (Make Blank Wallet > Yes) importprivkey *step-2-key* After waiting a while, it opens it correctly, but I see…

Continue Reading How to correctly create and import a SegWit paper wallet

Import private key in HSM Luna SA

I need some clarification on how keys are imported into a HSM Luna SA. I should import BIP 32 private keys of multisign wallets. There are currently two keys: one for the user and one held by the company that would like to start using HSMs. I start with a general question: is it better to keep all the individual private keys in the hsm or a single master key that is used to encrypt the private keys of the wallets? How are BIP32 keys imported into an HSM? Is the serialized format used? Are there any other keys that…

Continue Reading Import private key in HSM Luna SA

End of content

No more pages to load