Wallet generation in Ethereum

To generate a wallet address in Ethereum, you first randomly generate a 256 bit private Key with a verifiably random function (VRF). Then you use elliptic curve cryptography to generate the corresponding 256-bit public Key. Finally, you hash the 256 bit public Key with keccak256 to a 160-bit address. With a 256-bit key, the odds of someone generating a private key already in use (a collision) is 2-256 and computationally unfeasible.