8

Creation of an address is an entirely offline operation; there is no communication with the network. If you'd (with unfathomable luck) create the same address as someone else, then you'll see incoming payments to it appear in your wallet, and be able to spend them. There is no provision for dealing with this, because there does not need to be any. The ...


5

how did Electrum create a new address? Electrum, and most modern wallets are Hierarchical Deterministic (HD) Wallets. They derive a series of private-keys from the "master private-key". If you always start with the same seed phrase you get the same master private-key. Electrum uses its own unique method for seed phrases. Most wallets with seed-...


3

I think these is only one answer to this question: ask whomever gave you the xpub. Xpubs define series of keys, but there isn't any implicit contract or understanding about how that should be converted into addresses. The specific index positions to use is one question, but there are others, like what type of address/script to use (P2PKH, P2WPKH, ...). All ...


3

Addresses don't get registered anywhere. You can create as many as you want without having impact on any other network participant. Addresses only get tracked by others once funds get sent to them. Needing to tie up funds for each address suffices to curb the proposed attack.


3

Both "1LoVG.." and the other one are valid legacy (1...) addresses made using the same private key. They are different since one of them uses the compressed public key (you might want to look this up) while 1GAehh7 uses the uncompressed public key. Always use the same compress-format for an address, and it's advisable to create new addresses in ...


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

BIP 341 (BIP-Taproot) discusses this example where you don't require the script path. If the spending conditions do not require a script path, the output key should commit to an unspendable script path instead of having no script path. The BIP also explains here the rationale for this. If the taproot output key is an aggregate of keys, there is the ...


2

Yes. The main idea of mnemonic backups is that the mnemonic encodes a master private key. All other addresses that your wallet generates are derived from this initial secret. To recover your transaction history and funds, you would need to go further than just to derive a single public key. You would need to rederive all of the wallet's addresses and then ...


2

Your bitcoin client is generating a P2WPKH (bech32 encoded) address, which is a newer address format which has some benefits compared to legacy formats. The address is valid, but for whatever reason, the exchange mentioned has not upgraded it's code to recognize and send to this address type yet. The fix is easy: you just need to tell bitcoin-core to ...


2

You are probably deriving a legacy P2PKH address (addresses that start with 1) versus the bech32 P2WPKH address (addresses that start with bc1) that Exodus uses. A single WIF private key can generate multiple address types, other wallets and software are likely defaulting to a different type which is probably why you are having trouble. This is the same for ...


2

The purpose of BIP32 is to provide a standard for hierarchical deterministic (HD) key derivation. BIP32 allows users to back up the initial secret of their wallet, and then reconstitute all derived addresses from this initial backup in the future. The mechanism you describe is essentially an application of an Elliptic Curve Diffie-Hellman (ECDH) to establish ...


2

It's not possible, practically speaking. A P2PKH Bitcoin address is computed as RIPEMD160(SHA256(publickey)). Since public keys are unique, to find another keypair that results in the same address, you're essentially trying to find a hash collision on SHA256 or RIPEMD160, which is extremely difficult. The most "efficient" way to find such a ...


2

This should be in the comments but my initial reputation does not allow for that. You seem to be from Turkey. IIRC the 3rd party payment processing got banned in your country this year. This leaves you with self-hosted payment processors like BTCPay Server or CypherpunkPay. Regarding your question, as others pointed out, it's not possible to "add" ...


2

This is a BIP173 native segwit address. If you unselect the "Generate native segwit (Bech32) address" checkbox in bitcoin-qt, you'll get a P2SH 3xxx address instead. Most senders these days support sending the BIP173 addresses though, which are cheaper for you to use. The GUI no longer supports creation of legacy 1xxx addresses by default. You can ...


2

Using Elliptical Curve Digital Signature Algorithm (ECDSA), the private key is used to generate the public key, a secure hash function is then applied to the public key and a checksum appended to produce a Base58 formatted bitcoin address. A private key collision is theoretically possible, but practically impossible due to the sheer number of them available ...


1

It is possible with json-rpc interface and one-time script. Enable json-rpc port by changing bitcoin.conf used by your Bitcoin Core (usually ~/.bitcoin/bitcoin.conf). https://ma.ttias.be/enable-the-rpc-json-api-with-password-authentication-in-bitcoin-core/ Start bitcoind/bitcoin core. Unlock your wallet using RPC walletpassphrase with timeout parameter ...


1

Can B and A still be linked? Not directly. However it depends on context and external patterns and information. For example if G sends 2 BTC each month to addresses A, B, C and so on, and G sends no money elsewhere, people could infer that there is a connection between A and B. They could speculate about the nature of that connection. Some of those ...


1

"Mining Bitcoin with pencil and paper: 0.67 hashes per day" suggests that doing SHA256 hashes by hand requires on the order of 36 hours of work. I've done some work on "Verifying Bech32 Checksums with Pen and Paper", though I have not timed myself. That work is slowly being folded into my work on Shamir Secret Sharing (over the Bech32 ...


1

When you say simplified code it's hard to tell where you are going wrong. Here's an example of how you can derive a bip44 key pair from a mnemonic using bitcoinjs-lib v3.3.2 let mnemonicInput = 'width bicycle axis tell burst outdoor tray episode where they forest meadow enhance twin focus'; let seedHex = bip39.mnemonicToSeedSync(mnemonicInput).toString('hex')...


1

if I generated 100 addresses and transferred some BTC to all of them, I need to backup all the 100 addresses. Bitcoin core is an HD wallet. So you should only need to backup the extended master private key shown at the top of dumpwallet. # Wallet dump created by Bitcoin v0.21.0 # * Created on 2021-05-05T17:57:09Z # * Best block at time of backup was 627544 ...


1

Derivation paths. wallet_bip39 is using m/44'/0'/0' while (if I looked at the right pywallet code) pywallet is using m/0'


1

Okay, so a compressed address and an uncompressed address are 2 separate addresses. They aren't linked, and the blockchain sees them as 2 entirely different addresses. There are 2 different private keys, and the one starting with the number 5 is for the regular address whereas the one starting with the letter K or L is for the compressed address. If you want ...


1

Private keys are 256-bit numbers. The first "HEX" you list has 64 characters, which corresponds to 256 bit, while the other two have 66 characters. Since all three share the same first 64 characters, I surmise that the library you're using simply drops the additional data beyond the first 256 bit.


1

Private keys Old wallets used one private key generated randomly by the wallet when first run. In modern "Hierarchical Deterministic" (HD) wallets. One private key is generated either randomly or derived from a phrase called a seed-phrase or recovery-phrase which itself is generated from a random number. Then many other private keys are generated ...


1

var bitcoinPrivateKey = new BitcoinSecret("cPof7e5g6xfgB6AZrc6XVTVwA4efLJurh9kVxa6FRChbr8Jyqaon", Network.TestNet); var legacy_address = bitcoinPrivateKey.GetAddress(ScriptPubKeyType.Legacy); var segwitp2sh_address = bitcoinPrivateKey.GetAddress(ScriptPubKeyType.SegwitP2SH); var nativesegwit_address = ...


1

Gabriel’s HD wallet offers a much better solution through the ability to derive public child keys without knowing the private keys. Gabriel can load an extended public key (xpub) on his website, which can be used to derive a unique address for every customer order. Gabriel can spend the funds from his Trezor, but the xpub loaded on the website can only ...


1

The zpub you get from electrum will be at that path itself (m/84'/0'/0'). It's not at m. You can't derive hardened paths from a zpub anyway. If you create a watch only wallet using the zpub electrum will treat it as m and derive public keys and addresses at m/j/i where j is 0 for external (receive) and 1 for change addresses and i is the index. In actuality ...


1

Some usage examples are now available in the repository. This example demonstrates how to generate a key pair, and create a transaction paying to the public key hash (P2WPKH). There is also the legacy version (P2PKH). This example demonstrates how to use more complex Bitcoin Script with P2WSH. There is also the legacy version (P2SH).


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