Hot answers tagged

10

The extended public key contains just a bit more information than the public key and chaincode, but the public key and chaincode are all that matter for key derivation. The rest is just metadata about the keys for wallets and people. The version bytes distinguish between xpub, xpriv, and other types of keys. The fingerprint identifies the parent so that a ...


6

It does not have one. Bitcoin Core uses hardened derivation, so there is no way to compute the addresses it will use externally. Support for that will likely be added in upcoming versions, but likely won't be the default (there are security risks when using non-hardened derivation).


6

The electrum public key xpub661MyMwAqRbcG8Zah6TcX3QpP5yJApaXcyLK8CJcZkuYjczivsHxVL5qm9cw8BYLYehgFeddK5WrxhntpcvqJKTVg96dUVL9P7hZ7Kcvqvd is a BIP32 extended public key. This can be used to derive child addresses. The Bitcoin-Core public key 037acd3408dfb612a69204c5f5bafe2a326646398cdd16c85fedd65a4e96a28278 is a hex representation of the compressed form of a ...


5

bpub appears to be the extended private key prefix for the Blockcypher testnet. Bitcoin addresses and private keys usually have a prefix to help differentiate the network/type of key. The original xpub notation comes from BIP32, meaning extended public key. This expanded into ypub with BIP49, and finally zpub with BIP49+ (used in BIP84). Various coins can ...


5

An extended public or private key is always 78 bytes of data. When Base58 Check encoded, this results in a string that is up to 112 characters in size. The format of the data is defined in BIP 32.


5

The balance checks are cut short based on a gap limit. A gap limit is usually set to 20, and is defined as a consecutive block of addresses with no transactions. Since HD wallets only give out a new address on explicit request, or automatically when the previously issued address has been used, it is assumed that someone will not leave a block of 20 ...


4

If you are comfortable with using the command line then libbitcoin-explorer is a great utility for converting your bitcoin HD keys. It even works completely offline. Once you have bx installed, you can run the hd-to-public command like so: $ bx hd-to-public ...


3

This will be mostly possible in the upcoming Bitcoin Core 0.18 release. First you need to understand that the sequence of such paired multisig addresses (with public keys generated from 2 xpubs in lockstep) can be described in the new descriptor language. The syntax is sh(multi(2,XPUB/*,XPUB/*)). The sh indicates P2SH embedding, multi refers to multisig, ...


3

I believe 0x8000002C is 128 as an integer ... No, it isn't. First of all, it already is an integer, just represented in hexadecimal. In decimal it is 2147483692. How did you get 128? how does this equate to 44' however? 44' means that hardened keys should be used. The distinguisher for whether a key a given index is hardened is that the index is greater ...


3

You cannot. Bitcoin Core does not allow you to import master keys nor can you export extended public keys. BItcoin Core does not use extended public keys since it uses hardened derivation which does not use extended public keys.


3

The only way to know which signers signed is to verify the signatures against the public keys. Each signature will only verify with one of the pubkeys.


3

No, the xpub is not published anywhere. Only individual public keys are published and those are permanently stored in the blockchain. There is also no way for someone to figure out the xpub and any related keys given just those public keys.


3

There's a command line electrum option convert_xkey. If you're on linux or macosx you can see the documentation for it via electrum help convert_xkey. Alternatively you can use the console tab of electrum on all operating systems to achieve the same result. For example convert_xkey(xkey="xpub...",xtype="p2wpkh") will convert from p2pkh to ...


2

Given the XPub and an address, can I write an algorithm to say whether or not that public key was derived from that XPub and consequently belongs to the same user? [Edit: my terminology was off, answer edited substantially to be correct] Given the xpub and an address, you would indeed be able to discern whether the two are related. BIP32 is the ...


2

It is currently not possible to import a master private key into Bitcoin Core.


2

XPUB refers to an extended public key, and because it is only a public key, you have not compromised your private keys. Thus it is safe to continue using, yes. You have, on the other hand, compromised your privacy, as with that xpub Trezor support can derive all your addresses and know they are all yours. But it's likely they just want to look to see if you ...


2

It's not possible in bitcoin core right now. You can use electrum and import your xpub as a watch-only wallet.


2

it seems like the process to calculate a checksum for an extended key is to decode the base58 string to data, If raw_xpub = version + depth + fingerprint + child + chain + DATA than to make the checksum you need to do doublehash of xpriv/xpub (sha256), in python: hashed_xpub = hashlib.sha256(raw_xpub).digest() hashed_xpub = hashlib.sha256(hashed_xpub)....


2

It all depends on the wallet. There is no rule saying they should even accept these strings or know what they correspond to and there is no consensus among wallets. Wallet A could accept zpub and know the desired path and script type while wallet B may accept the same zpub, ignore its version byte and use the default derivation path and a completely ...


2

Jameson Lopp has a tool on his github that performs this function. Paste your xpub into the text box, and select the type you want from the drop-down and click convert. Demo: https://jlopp.github.io/xpub-converter/ Source: https://github.com/jlopp/xpub-converter


2

I'm not sure about ruby, but here's what's happening in practice. Take any xpub: xpub6DBfkACRRWo6B9Fo31Ko6P7M92Yb3rdbuXb81Ls7aDCaZsMr1tyvZWHAHz1exRZuTBspafkPTynwoWL5o3i4WiJX4P3SyGQxNpxQLaUnB2c Decoded to hex: ...


2

How compromised is the wallet? Just from that leaked child down the tree or?? With unhardened derivation, knowing the parent xpub, a child private key, and the index of the child allows for the parent xprv (private key) to be derived. This then allows for all of that parent's child private keys to be derived. Thus all of the funds associated with those ...


1

Addresses derived by an HD wallet are intentionally not publicly linkable to one-another (that would be obviously terrible for privacy). Your wallet software will know the addresses are related (ie, it derived them all from the same seed), but a casual observer will not. Accordingly, when you pay some bitcoin to a child address, there is no associated ...


1

To go from account xpub to address, you must first derive an xpub at the External index (0) or Internal index (1), then derive another xpub from the External/Internal xpub. Take the public key from the resulting xpub and this is the public key used for the address. For a detailed explanation of extended public keys and how to derive child public keys, take a ...


1

A multi-sig address is a hash of a script that combines multiple separate keys. In other words the purpose of it is to require multiple signatures from multiple keys that are stored (and usually generated) independently. For that reason it can not be generated from a single extended public key (xpub). What you can do, is to have multiple extended keys, and ...


1

You are not deriving hardened child keys. You cannot derive hardened keys from an xpub. Just because the xpub itself is hardened does not mean that its children are.


1

There is https://iancoleman.io/bip39/ Enter your xpub into the BIP32 Root Key box and in the BIP141 tab select the derivation path and address type.


1

You can't do this with bitcoin core since it uses hardened derivation so you can't derive addresses using the extended public key. You should use electrum for this instead. An electrum watch-only wallet can mirror the addresses of a an electrum seeded wallet. So just create an electrum wallet on your desktop as normal and then grab the master public key aka ...


1

I actually discovered the answer: The answer is described on Reddit: https://www.reddit.com/r/ledgerwallet/comments/7d39pu/legacy_to_segwit_wallet_transfer_nightmare/ But if that answer would ever get lost, a summary: Apparently segwit xpub addresses are not a good marriage (yet). The Mycelium wallet imports the xpub address which is generated by the ...


1

No, it is not possible. BIP 32 uses a combination of a hash function and Elliptic Curve Point Multiplication in order to derive the child keys (both public and private). Since both hashing and EC point multiplication are one way functions, you cannot find the inputs to those functions given just the outputs (i.e. child public or private keys). Thus you ...


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