6

Is it lost forever?

What about the reverse: sending Litecoin to a Bitcoin address?

0

2 Answers 2

10

A Bitcoin or Litecoin address consists of:

  • a prefix byte

  • a 160-bit hash of a public key

  • a 32-bit checksum

all base-58 encoded.

Bitcoin and Litecoin use different prefix bytes; this is why most Bitcoin addresses start with 1, while most Litecoin addresses start with L.

When you use a Bitcoin client to try to send money to an address, it should perform a number of checks on that address. One of those checks would be the prefix byte. When it notices that the address doesn't have the correct prefix byte for Bitcoin, it should barf, complaining that you have specified an invalid address. It wouldn't try to create a transaction at all.

So for practical purposes, the answer to the question is "you can't do it".

The same applies if you try to send Litecoins to a Bitcoin address - the prefix byte would not match the Litecoin client's expectation, so it would reject the address and refuse to create a transaction.


In theory, if you somehow used a broken client that did not check the prefix byte, it might actually generate a transaction whose output specified the 160-bit hash of the public key corresponding to the Litecoin address (call this hash value H). The hash is the only part of the address that is actually used in creating a transaction. Since all possible 160-bit numbers are potentially valid hashes, there would be no way to tell that H had come from a Litecoin rather than a Bitcoin key, so this would be a valid Bitcoin transaction. (I got this wrong in a previous version of the answer.) The transaction could only be spent by a Bitcoin transaction, signed with a private key whose public key had the hash H.

Now I believe (though I am not completely sure) that Litecoin uses exactly the same ECDSA signature algorithms as Bitcoin. Therefore, if you (or someone else) has the private key for the Litecoin address, both Bitcoin and Litecoin should agree as to what the corresponding public key is, and agree that it has hash H. So in principle, the private key holder would be able to import this key into a Bitcoin wallet and use it to spend the coins sent to the Litecoin address by the broken client. (They couldn't import the key directly, again because the prefix byte would be wrong; but they could decode the base58-encoded Litecoin private key string, extract the 256-bit number which is the actual private key, prefix it with the appropriate Bitcoin prefix byte, recalculate the checksum, and re-encode the whole thing in base 58. The result would be suitable to import into a standard Bitcoin wallet.)

If I am wrong about this, and Bitcoin and Litecoin handle keys and signatures differently, then most likely there would be no feasible way to find a private key whose public key's hash (computed by Bitcoin's rules) was equal to H. In that case, the coins sent to that address would be lost forever.

2
  • Litecoin uses the same '3' prefix as Bitcoin for P2SH. I think it is possible to mistakenly send bitcoins to a litecoin address.
    – greatwolf
    Commented Jul 14, 2017 at 2:36
  • @greatwolf: Good point. This answer was written before P2SH was in widespread use. Would you like to write another answer addressing this issue? Commented Jul 14, 2017 at 5:49
0

Obviously, it's a bad idea to experiment as funny things can happen. That being said, your client should simply recognize it as an invalid address and reject the transaction.

While the Litecoin address is valid for Litecoins, it is not valid for Bitcoins, hence should be quickly rejected.

As Nate pointed out, Litecoin addresses start with "L", so your client would immediately recognize it as invalid.

1
  • Your answer only paraphrases what Nate Eldredge already wrote and adds no new information whatsoever.
    – Murch
    Commented Dec 27, 2013 at 20:06

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