[Ethereum] use the same private key for Ethereum and Bitcoin


Both Bitcoin and Ethereum private keys are usually a 256-bit number, isn't it possible to use the same private key for both Bitcoin wallets and Ethereum accounts?

For instance, the Bitcoin wiki states:

In Bitcoin, a private key is usually a 256-bit number (some newer wallets may use between 128 and 512 bits), which can be represented one of several ways. Here is a private key in hexadecimal – 256 bits in hexadecimal is 32 bytes, or 64 characters in the range 0-9 or A-F.

E9 87 3D 79 C6 D8 7D C0 FB 6A 57 78 63 33 89 F4 45 32 13 30 3D A6 1F 20 BD 67 FC 23 3A A3 32 62

Which is (removed the whitespaces):


With MyEtherWallet I generated the corresponding public key for Ethereum:


Now I see not every 256-bit number is a valid ECDSA private key for bitcoin. Can I use the same private key for Ethereum and Bitcoin? Is there a convenient way to generate both the ETH and BTC public key from any 256-bit random number?

This would be a cool way to store Ether and Bitcoin on the same account. Is it possible?

Best Answer

Yes, both cryptocoins use the same elliptic curve SECP256K1.

Perhaps a better alternative is to use a BIP32 wallet. You have a master key that is not directly used for transactions, but it is used to derive child keys than can be used.

You can derive separate keys for bitcoin and ethereum. You will always be able to use the master key to sign transactions for both keys.