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 ...
Pieter Wuille's user avatar
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 ...
Pieter Wuille's user avatar
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 ...
Vojtěch Strnad's user avatar
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 ...
Pieter Wuille's user avatar
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 ...
Pieter Wuille's user avatar
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-...
iamnotstatic's user avatar
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 ...
Antoine Poinsot's user avatar
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 ...
RedGrittyBrick's user avatar
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-...
aulneau's user avatar
  • 46
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 ...
m1xolyd1an's user avatar
  • 5,536
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 ...
Mike D's user avatar
  • 3,479
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 ...
Vojtěch Strnad's user avatar
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 ...
Michael Folkson's user avatar
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, ...
Murch's user avatar
  • 69.8k
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) ...
phantom's user avatar
  • 121
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 ...
Pieter Wuille's user avatar
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 ...
deyw's user avatar
  • 323
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 ...
Andrew Chow's user avatar
  • 66.4k
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 ...
Poseidon's user avatar
  • 488
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 (...
Antoine Poinsot's user avatar
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 ...
Poseidon's user avatar
  • 488
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 ...
Adam B's user avatar
  • 334
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 ...
Andrew Chow's user avatar
  • 66.4k
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 ...
Monstrum's user avatar
  • 1,334
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 ...
bca-0353f40e's user avatar
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 ...
RedGrittyBrick's user avatar
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 ...
Michael Folkson's user avatar
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 ...
Adam B's user avatar
  • 334
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 ...
Andrew Chow's user avatar
  • 66.4k
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 ...
Vojtěch Strnad's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible