I understand for valid address coins are gone
For invalid address coins wont go through right ? Will the transaction fail in that case ?
The client will tell you the address is invalid and will do nothing
Similar to what happens if you try to send an email to
và"(ç@fzà"oé"*'$@"_ézf!e:;/.23!"é''(
If you are using a poorly written third party wallet, and it doesn't validate addresses, will nodes refuse to relay a transaction that attempts to use an invalid address?
A Bitcoin address is the base58 of this:
aaaaaaaaaaaaaaaasssss
Where red is the receiving "account" (it's all you need to send money) and blue the hash of red (blue is totally useless in the protocol, it is only used in clients, it never goes to other nodes)
E.g.
red of 171vsZ2rd9xXafKiyCdcjZoad9BkXCE4B is 0123456789012345678901234567890123456789If a third party client doesn't check that blue is indeed the hash of red, then two cases:
- If the error is in the red part, then the money doesn't go to the right person
- If the error is in the blue part, then the money goes to the right person because the coordinates are only contained in the red part
Let's assume that your client is broken/doesn't check the hash and that you want to send money to 171vsZ2rd9xXafKiyCdcjZoad9BkXCE4B
If you type 17
2vsZ2rd9xXafKiyCdcjZoad9BkXCE4B, then the money goes to an unknown person
If you type 171vsZ2rd9xXafKiyCdcjZoad9BkXCE4
C, then the money goes to the correct recipient
Edit:
Bitcoin address Recipient Hash
171vsZ2rd9xXafKiyCdcjZoad9BkXCE4B 0123456789012345678901234567890123456789fe995d84
172vsZ2rd9xXafKiyCdcjZoad9BkXCE4B 01241b1a3ba38145d4e3396b31bc154840300ee83e995d84
171vsZ2rd9xXafKiyCdcjZoad9BkXCE4C 0123456789012345678901234567890123456789fe995d85
Edit2:
For the sake of simplicity I ignored the leading \x00