Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: wsxdrfv on May 16, 2018, 05:47:52 AM



Title: What happen when send address that does not exist?
Post by: wsxdrfv on May 16, 2018, 05:47:52 AM
1. So if just using bitcoin daemon, send coin to address that does not exist, or wrong address. Then what happens?


2. If send ETC to ERC20 address, then it is lost?


Title: Re: What happen when send address that does not exist?
Post by: Xynerise on May 16, 2018, 06:22:43 AM
1. So if just using bitcoin daemon, send coin to address that does not exist, or wrong address. Then what happens?
There is no concept of addresses on the protocol level, just public keys, and addresses are hashes of public keys, so you can hash160 any 20-byte string to get an address (people insert content in the blockchain this way), and as long as the checksum checks out, your transaction will go through but as with wrong addresses, you can't recover those bitcoins if you don't have the private key.
Quote
2. If send ETC to ERC20 address, then it is lost?

Ethereum is different. Ethereum is a fork of Ethereum classic -- just like BCash is a fork of bitcoin -- so all address formats are correct across both chains, meaning that Ethereum addresses are the same thing as ETC addresses but you can't send coins from one chain to another.
If you send from one chain to an address generated from another chain, just import the private key/seed of the address to a wallet for that chain.
Eg if you sent ETC to an ETH Addresses, and you have the private key or seed to that ETH address, import it to an ETC wallet and vice-versa.


Title: Re: What happen when send address that does not exist?
Post by: fargoway on May 16, 2018, 07:19:06 AM
1. So if just using bitcoin daemon, send coin to address that does not exist, or wrong address. Then what happens?
There is no concept of addresses on the protocol level, just public keys, and addresses are hashes of public keys, so you can hash160 any 20-byte string to get an address (people insert content in the blockchain this way), and as long as the checksum checks out, your transaction will go through but as with wrong addresses, you can't recover those bitcoins if you don't have the private key.
Quote
2. If send ETC to ERC20 address, then it is lost?

Ethereum is different. Ethereum is a fork of Ethereum classic -- just like BCash is a fork of bitcoin -- so all address formats are correct across both chains, meaning that Ethereum addresses are the same thing as ETC addresses but you can't send coins from one chain to another.
If you send from one chain to an address generated from another chain, just import the private key/seed of the address to a wallet for that chain.
Eg if you sent ETC to an ETH Addresses, and you have the private key or seed to that ETH address, import it to an ETC wallet and vice-versa.
So, if I got you right. If I sent crypto to the wrong public key and don't have an access to this address via private key - I lost my coins?


Title: Re: What happen when send address that does not exist?
Post by: Xynerise on May 16, 2018, 07:46:20 AM
So, if I got you right. If I sent crypto to the wrong public key and don't have an access to this address via private key - I lost my coins?
Exactly, yes.
So always double check addresses before you send.


Title: Re: What happen when send address that does not exist?
Post by: fargoway on May 16, 2018, 08:48:30 AM
So, if I got you right. If I sent crypto to the wrong public key and don't have an access to this address via private key - I lost my coins?
Exactly, yes.
So always double check addresses before you send.
Thank you for the clarification. I am trying to be well-educated in the crypto world, but I had a wrong image of how this works before you have explained.
May I kindly ask you to describe more the second case, when you have sent a specific crypto to the wallet which is not supporting this exact currency? How does it work? Where did you get that knowledge? Is there any place where I can read such info?
I would be very thankful if you can share your experience with us!


Title: Re: What happen when send address that does not exist?
Post by: Xynerise on May 16, 2018, 09:02:10 AM
Thank you for the clarification. I am trying to be well-educated in the crypto world, but I had a wrong image of how this works before you have explained.
May I kindly ask you to describe more the second case, when you have sent a specific crypto to the wallet which is not supporting this exact currency? How does it work? Where did you get that knowledge? Is there any place where I can read such info?
I would be very thankful if you can share your experience with us!
Wallets for a coin only look on that particular blockchain.
For example, the Electrum wallet only scans the Bitcoin blockchain, not the BCash blockchain.
So if you send bcash from an exchange or wherever, to an address you got from Electrum, even though the address & public key/private key pair are the same on both chains, the Electrum wallet won't be able to see the BCash since it's not on the chain you sent it to.
So you'll need to Import the seed phrase or private key of the bitcoin address you got from Electrum, into a BCash wallet.
The BCash wallet will be able to scan the BCash blockchain for your UTXOs and enable you spend them.


Title: Re: What happen when send address that does not exist?
Post by: DannyHamilton on May 16, 2018, 03:15:43 PM
1. So if just using bitcoin daemon, send coin to address that does not exist, or wrong address. Then what happens?

If you mistype an address (such as with a typing error) and you are using the Bitcoin Core daemon to create the transaction, then the daemon will recognize that the checksum which is built into the address does not match the rest of the address value.  It will therefore tell you that you have provided an invalid address and it will refuse to send the transaction.

If you put in an address such that the checksum matches the rest of the address data (such as if you enter an actual address, but not the address that you intended), then the daemon will build the transaction you requested and will broadcast that transaction for you.  If you obtained that address from someone other than your intended recipient, then the person that you obtained the address from will receive the bitcoins (instead of your intended recipient).

If you hashed random data (instead of a public key) and then added a matching checksum, you will have created a valid address for which nobody has the necessary private key.  The daemon won't know that nobody has the private key, and since you intentionally created an address with a valid checksum it will allow you to create and broadcast the transaction.  The funds will then be permanently locked at that address and will never again be able to be spent by anyone.

2. If send ETC to ERC20 address, then it is lost?

Please post your altcoin questions in the altcoin forum:
https://bitcointalk.org/index.php?board=67.0

There are thousands of altcoins, and they each have their own codebase with their own features and behaviors.