I assume you mean private keys (not private addresses, there is no such thing). In that case:
https://en.bitcoin.it/wiki/Private_keyNearly every 256-bit number is a valid private key. Specifically, any 256-bit number between 0x1 and 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4141 is a valid private key.
The range of valid private keys is governed by the secp256k1 ECDSA standard used by Bitcoin.
What is the maximum number of public addresses?Only max found is 2^192 from --
https://en.bitcoin.it/wiki/Private_key25 byte public address minus 1 byte for 00 hardcoded first byte -- 2 ^ ( 24*8 )
The limiting factor is the RIPEMD-160 hash. Since the output of this hash is a 160 bit number, the maximum possible number of unique public addresses is 2
160.
Has it been proven that there will be no hash-collisions where 2 private addresses share the same public address?
No info found.
With nearly 2
256 possible private keys and only 2
160 public addresses, it can be safely assumed that hash-collisions where 2 private addresses share the same public address will exist in the sets of all possibilities. The odds of any individual encountering such a collision are so small as to make it practically impossible.
What is the process to create a private and public address ?
The address creation process looks like a random private first, then generate public address from the private...
https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses- Random private key
- ECDSA with the secp256k1 curve to find public key
- SHA-256 public key
- RIPEMD-160 result from SHA-256
- Add a version byte to RIPEMD-160 result
- Add a 4-byte checksum to RIPEMD-160 result
- Convert to Base58Check format