Bitcoin address
Back to current versionRestore this version

Overview#

Bitcoin address is an identifier of 26-35 alphanumeric characters, beginning with the number 1 or 3, that represents a possible destination for a bitcoin payment.

Bitcoin address can be generated at no cost by any user of Bitcoin.

For example, using Bitcoin Core, one can click "New Address" and be assigned an address. It is also possible to get a Bitcoin address using an account at an exchange or online cryptocurrency wallet service.

There are currently two address formats in common use:

Encoding a Bitcoin address#

There are currently two address formats in common use and both are implemented using the Base58Check encoding of the hash of either:

Pay-to-script-hash (P2SH) (Newer Bitcoin address) payload is: 

 [RIPEMD160] ( [SHA256|https://en.bitcoin.it/wiki/SHA256] (redeemScript))
where redeemScript is a script the wallet knows how to spend; version 0x05 (these addresses begin with the digit '3') (eg: 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy)

Pay-to-pubkey-hash (P2PKH): payload is 

 [RIPEMD160] ( [SHA256] (ECDSA_publicKey))
where ECDSA_publicKey is a Public Key the wallet knows the Private Key for; version 0x00 (these addresses begin with the digit '1')
(eg: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2)

RIPEMD-160 and SHA256 used for Bitcoin address#

RIPEMD-160 was used because it produces a shorter hash output. This permits bitcoin addresses to be as short as possible without compromising security. The exact reason why SHA256 was used in combination with RIPEMD-160 is not known. The two leading theories are:

More Information#

There might be more information for this subject on one of the following: