4

EIP-2026 mentions several ways of creating a new account. One way is by:

(...) converting a non-countract account into a contract account (...)

Is this a hypothetical scenario or could this be done in practice?

I know that public keys are derived from the private key using Elliptic Curve Cryptography. And contracts are created at a deterministic address using CREATE or CREATE2. Even putting these two together, I would think you would have to break cryptography to deploy a contract to an EOA. What am I missing here?

2 Answers 2

8

The issue is in your assumption that they mean convert an EOA to a contract. Yes, deploying a contract to the same address that you have a private key to would be, practically speaking, impossible. I doubt that's what is meant by the EIP though. It doesn't say anything about EOA

I think technically what that quote is referring to is accounts that have been touched but don't have a contract yet deployed to them, i.e. you calculate the address ahead of time and "touch it" - e.g. by just sending a little ETH to it. That "creates" that account, but it's not an EOA or a contract really, just an account with a balance. Then you can create a contract there since you pre-computed it in the first place, converting a non-contract account into a contract account

1

It's impossible. There is no such method to convert EOA to smart contract.

EOA ( Externally Owned Account ) is normal wallets, which we all use e.g. in metamask, coinbase. It have private key.

Whereas smart contract wallet address don't have private key, it only have wallet address.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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