iancoleman / bip39

A web tool for converting BIP39 mnemonic codes
https://iancoleman.io/bip39/
MIT License
3.41k stars 1.42k forks source link

Ethereum pulbic keys #661

Open 2011 opened 3 months ago

2011 commented 3 months ago

I hope I didn't miss something very basic here, but (if I understand) Ethereum uses 512-bit public keys, but the bip39 tool (in the "Derived Addresses" section) shows only a 256-bit public key (plus a 0x02 or 0x03 prefix).

How do I get the entire 512-bit Ethereum public key?

wigy-opensource-developer commented 3 months ago

In BIP32 that most wallets use for deriving addresses, 512 bits are used for extended private keys, half of which is used for a given address, the other half (chain code) for randomizing derivation. But the actual signing uses only a 256 bit private key.

2011 commented 3 months ago

In BIP32 that most wallets use for deriving addresses, 512 bits are used for extended private keys, half of which is used for a given address, the other half (chain code) for randomizing derivation. But the actual signing uses only a 256 bit private key.

I don't understand your reply. Addresses get calculated from public keys (which, of course, do come from private keys). Ethereum uses the entire (uncompressed) 512-bit public key to produce addresses.

https://medium.com/coinmonks/calculation-behind-ethereum-wallet-address-d2aa43ee1e37

Since the BIP 39 page must have the full public key to compute Ethereum addresses, I would like the option to display the full public key in the "Derived Addresses" section.

Success-Guy commented 2 months ago

I hope this project can help you out with your findings https://github.com/ConsenSys/eth-lightwallet