5

Apologies if this question has been asked before, but when a bitcoin client wishes to send funds to an address, does the bitcoin protocol force the client to verify that the address has a corresponding private key?

For example, I am given an address and I want to send a btc to this address, before I am allowed to authorize this transaction does the bitcoin protocol force me to verify that the address can decrypt a message encrypted from its public key?

3
  • Transactions are not encrypted. They do use cryptographic signed messages though. Apr 19, 2013 at 1:13
  • I'm aware that transactions are not encrypted but the address we send money to is part of a public private key pair. One could verify that the address is legitimate by requiring the receiver to encrypt and decrypt a test message with his pub-pri keypair Apr 19, 2013 at 1:46
  • The checksum scheme seems to fail for one in four billion addresses. Yes this is sufficient Apr 19, 2013 at 1:49

1 Answer 1

3

No, there is no enforcement that a private key exists.

However, due to a Bitcoin address including a checksum, it is very unlikely for the client to create a transaction when for an address with a typo, paste error, or other erroneous data. There are addresses that will pass the checksum test in which, presumably, no private key exists. 1BitcoinEaterAddressDontSendf59kuE is, in all likelihood, one such address.

2
  • That's what I thought. Thanks for the fast answer Apr 19, 2013 at 1:44
  • Also, that would mean you would need tons of additional information to form a transaction, including the public key which you currently don't need. It would kind of defeat the whole point of addresses. Apr 19, 2013 at 12:02

Not the answer you're looking for? Browse other questions tagged or ask your own question.