Is there a way to guess, with some level of probability , that a 20 byte array is an Ethereum address, besides doing a query against the current StateDB and its history ?

I want to discover hidden addresses in the input for contracts, so , I guess, I would need to (somehow) apply elliptic curve algorithm to this 20 byte array and determine if it looks like part of Ethereum's public key.

Is what I am proposing doable? If so, how would one implement this task ?


Any sequence of 20 bytes can be used as an Ethereum address, so I don't think you can do anything useful here other than check whether the address has ever had a balance.

  • but shouldn't there be some pattern within the data? There can't be an address like this : 0x1111111111111111111111111111111111111111 , or is it? If so, a private key for an address with all zeros must exist too and this address has a lot of money.
    – Nulik
    Aug 15 '18 at 13:45
  • I believe that 0x1111111111111111111111111111111111111111 is exactly as likely as an address as any other. And yes, there very likely exist a private key for 0x0 as well.
    – user19510
    Aug 15 '18 at 13:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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