Cross-chain key reuse

A private key is just a number. The same number produces a Bitcoin address and an Ethereum address. Expose it once, anywhere, and every chain that reused it is open.

How it works

Bitcoin and Ethereum both use the secp256k1 curve; they only differ in how the public key is turned into an address. So a single 256-bit private key controls one address on Bitcoin and a different one on Ethereum — but it is the same secret. If that secret was ever exposed on Bitcoin — through nonce reuse, a weak RNG, or being published in security research — then the corresponding Ethereum address is equally open, even if no one has looked there yet.

This mode takes a list of private keys known to be compromised on Bitcoin (puzzle keys, published research keys, nonce-reuse victims) and checks whether the same key ever held ETH.

Why it happens

People reuse keys for convenience, or import a Bitcoin wallet into a multi-chain tool without realising the key is shared. Thousands of keys have been published over the years in write-ups and datasets; any funds sent to their Ethereum addresses can be swept by anyone watching.

The defense

Never reuse a private key across chains, and never import a key that has ever been exposed anywhere. Generate fresh, independent keys per wallet, and treat any key that has appeared in public — even years ago on a different chain — as permanently burned.

▶ Try the Cross-chain mode in the game

← Back to all attack vectors