7
votes
Accepted
Is it possible to identify UTXOs signed by HD wallets?
Almost every wallet today uses HD key derivation. You'd need to go back to software from 2016 or earlier to find any that don't. So I'd say your question is moot.
That said, there certainly are ...
7
votes
Accepted
musig2 with BIP-32 style nonce chain
I wonder, could the public nonce list be generated from a chain code in the same manner that BIP-32 allows a list of public keys to be generated?
Absolutely not. (private) nonces need to be entirely ...
7
votes
How (un)safe is it to use non-random seed words?
There is a lot to unwrap here. I'll go over the points that need addressing, most important first:
Don't try to invent your own cryptographic scheme
If you read the manual to your wallet, it most ...
5
votes
Does Bitcoin Core version v22.0.0 support SLIP-0132?
No.
The supported key expressions in the descriptor language are:
Individual public keys in hexadecimal
xpubs as defined in BIP32, possibly followed by a key derivation path
Individual private keys ...
5
votes
What is difference between hmac_sha256, hkdf_sha256 and hmac_sha_512?
They implement 3 distinct cryptographic schemes:
HMAC-SHA256 is a MAC (message authentication code, or a keyed hash function) based on SHA-256. It is used in the RFC6979 nonce generation function for ...
4
votes
Uncaught TypeError: bip32.fromSeed is not a function
I believe by now you should've figured it out but if you haven’t this is how I resolved it.
const ecc = require('tiny-secp256k1')
const { BIP32Factory } = require('bip32')
// You must wrap a tiny-...
4
votes
What is the purpose of BIP32 derivation paths in PSBT?
The PSBT comes with the witness script. The witness script contains derived public keys with no information about their origin. The derivation paths in the PSBT tells the signer:
What extended key ...
3
votes
BIP 32 Root key for connecting wallets
If you give him the key, he can remove any money in that wallet and can remove any money placed by you in that wallet anytime in the future
I would distrust anyone making that kind of suggestion and ...
3
votes
Accepted
How to make bitcoin hd wallet in typescript?
Paul Miller has created a number of modern typescript libraries to help with this:
https://github.com/paulmillr/scure-bip39
https://github.com/paulmillr/scure-bip32
https://github.com/paulmillr/micro-...
3
votes
What are business cases with hardened child derivation (bitcoin)? What wallets support it?
If so, why has it made into the standard, what would be good case
examples?
It has become the standard because unhardened derivation is the direction bitcoin core has decided to go, and they have a ...
3
votes
Can I verify a child public key derived from its parent public key without involving any private keys and child index?
If you have the parent public key and the (non hardened) index you can generate the child public key and verify that it matches. You can’t do it without the index I’m afraid since the derivation ...
2
votes
Is it possible to identify UTXOs signed by HD wallets?
No. The point of HD wallets is to create a deterministically generated sequence of addresses but which look random and not related to one another. So unless BIP32 is fundamentally broken, you should ...
2
votes
The left-half 256 bits of the hash are added to the parent key to produce the child private key
There is concatenation where 256 bits placed next to another 256 bits makes 512 bits. However, what you are referring to (generating a child key) uses scalar addition. A 256 bit number (256 bit parent ...
2
votes
Why doesn't Casa use hardened derivation?
Hardened derivation requires knowledge of the private keys to be able to derive additional public keys. Since both Casa and their customer only control a subset of the private keys in the quorum, ...
2
votes
How do I generate master key from the root seed
The BIP32 Root Key described on iancoleman tool is called master node, serialized in base58.
The HMAC function needs a key (the string "Bitcoin seed" encoded in bytes), a data (the seed) ...
2
votes
Accepted
What is the length of the extended public key?
If it says 513 bits it's referring to the fact that you need at least 513 bits of data to convey the information in an extended public: 256 bits of the chaincode, 256 bits of the X coordinate of the ...
2
votes
Accepted
Advanced options of a Bitcoin wallet in bluewallet
The main trade-offs among the three Bitcoin wallet options available in BlueWallet App are related to transaction fees, compatibility, error detection, and privacy.
If you prioritize having the lowest ...
1
vote
Import existing address to BIP-32
No, that is not possible.
BIP 32 is not a wallet, it is a method for deriving many keys from a master secret in a deterministic way. There is no way of deriving a specific unrelated private key from a ...
1
vote
Accepted
What am I doing wrong in calculating child private key in HD wallets and reversing back parent private key?
The next thing we need to do is the modulo operation with n or G (whatever is the correct label). n is (according to this):
In this specific operation the modulo is against N(Curve Order) not G(Curve ...
1
vote
How are children's private keys in HD wallets obtained and how can knowing them reveal the parent's private key?
What follows contains inaccurate notation and language on purpose, in order to make the conceptual explanation lighter and more straightforward.
A BIP32 extended private ("xprv") or public (...
1
vote
Accepted
How are children's private keys in HD wallets obtained and how can knowing them reveal the parent's private key?
If the classical addition of the left 256 bits of the hash result to the private key of the parent is implemented, then it will lead to a 512-bit private key of the child, which is not correct (the ...
1
vote
How (un)safe is it to use non-random seed words?
Very bad idea. Relying on a number that 'seems quite large to me' is insecure.
There were several recent cases of brute forcing vanity addresses, or mnemonics that were generated using a insecure ...
1
vote
Accepted
Easier way of backing up/remembering a bitcoin private key
Given that private keys need to be random, it's unlikely that a properly chosen private key will be easily represented in the method that you have described. Relying on exponentiation in order to ...
1
vote
Accepted
how to generate private keys from derivation paths or from another private keys?
To generate a private key from another private key or derivation path, you can use a process called "key derivation". Key derivation is a way to create a new private key from an existing ...
1
vote
What is difference between hmac_sha256, hkdf_sha256 and hmac_sha_512?
HMAC in the name stands for "Hash-based Message Authentication Code" and the hmac_sha_512 is used to generate keys in hierarchic-deterministic BIP-0032 wallets, and to generate a master key ...
1
vote
Accepted
A way to access all child addresses from HD wallet xpub
According to https://en.bitcoin.it/wiki/Deterministic_wallet
Master public key
Certain types of deterministic wallet (BIP0032, Armory, Coinkite and Coinb.in ) additionally allow for the complete ...
1
vote
To what extent does BIP32 key derivation impact the design of secure key aggregation multisig and threshold schemes like MuSig and FROST?
Alternative answers as always are welcome.
BIP340 does actually (at least partially) answer this.
Key prefixes were included in the design of BIP340 Schnorr signatures as without them "related ...
1
vote
Why my manually generated mnemonic seed phrase is not recognised by metamask or trust wallet
I can refer you to this implementation, method mnemonic_from_data() (from wallet-core/trezor):
https://github.com/trustwallet/wallet-core/blob/master/trezor-crypto/crypto/bip39.c#L70
I haven't fully ...
1
vote
Accepted
Retrieve extended private key from child keys or sibling keys
From what you've stated, there is no way to recover those private keys.
Bitcoin Core's wallet does not store xpubs, or even xprvs. It derives the private keys as needed from the seed. Furthermore, for ...
1
vote
Most common derivation Paths, accounts and indexes
BIP44 defines a standard path scheme:
m / purpose' / coin_type' / account' / change / address_index
The BIP defines what coin type, account, change and address index mean. It further specifies that ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
bip32-hd-wallets × 503wallet × 97
mnemonic-seed × 72
bitcoin-core × 69
private-key × 63
public-key × 42
bip44 × 32
electrum × 31
address-generation × 30
address × 29
xpub × 27
deterministic-wallets × 27
seed × 25
python × 20
multi-signature × 19
wallet-recovery × 19
transactions × 18
bitcoind × 18
bip × 16
hardened-derivation × 13
blockchain × 11
security × 11
cryptography × 11
wallet-security × 10
api × 9