1. What is the process for creating account? (I know I can geth account new, but what is the internal process actually being done?)
  2. Where does the entropy for randomness come from when creating an account? (What would be the seed?)
  3. Where is the newly created account(or balance) stored in Ethereum blockchain?
  4. Why does it seem to be free(of charge)(you can easily create one through MetaMask or MyEtherWallet) to create an account while it's intuitively deemed to cost gas just like deploying smart contract since it's writing something onto the blockchain?

Think it should be me misunderstanding something. Any hints would be appreciated.

1 Answer 1


"Creating" an account doesn't do anything with Ethereum at all. (You could do it completely offline, even by hand on paper.)

An account is just a private key, which is essentially a big random number. Some math converts the private key to a public key, and then some more math converts that public key to an address.

Now to answer the individual questions:

  1. It's just some math happening locally.
  2. I'm not entirely sure where the entropy for geth account new comes from, but it's probably just the operating system's random number generation.
  3. The account/balance is not stored at all in the blockchain. Once some ether is sent to the account, then something needs to be stored.
  4. It's free because there's no interaction with the blockchain.
  • 1,2,4 - I got it(just wanted to verify), thanks. But for 3, I have looked through this(reddit.com/r/ethereum/comments/560h6s/…), and this(ethdocs.org/en/latest/account-management.html). It says accounts are stored as state object in EVM, and there is balance state of account stored in the storage if I understood correctly. Could you elaborate more on this one for technical details if you know any? Is it that if initial transaction occurs for the first time on one address, then an address's state object is created in the EVM?
    – viz
    Apr 22, 2018 at 16:04
  • All addresses implicitly have a balance of 0, so there's no need to store that information. When the balance changes, then it needs to be stored. You can check the balance of any random 20-byte string and the result will be 0 (unless someone is storing ether there). E.g. etherscan.io/address/0x1234567890123456789012345678901234568790.
    – user19510
    Apr 22, 2018 at 16:09
  • I wasn't talking about the initial question Where is the newly created account(or balance) stored in Ethereum blockchain? but wanted to figure out where and how those state variables are stored & updated. It would be another question though. I'll figure out on my own. Thanks anyway for the reply!
    – viz
    Apr 22, 2018 at 16:34

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.