See:the amount of private key is 16^64,the amount of public address is 16^40,so the amount of private key is way more than that of public address. But one private key can only generate one public address,so why is this?Correct me if I'm wrong,thanks guys!
This is due to the fact that the public key is hashed to get the address (the last 40 hex characters of the hashes key are used). A private key of size 16^64 maps to one public key of size 16^128. The public key is hashed, and the last 40 hex characters of that hash is used as the address. Hashing can create collisions, so there are definitely addresses that could be controlled by multiple different private keys.