From Trezor Wiki
Jump to: navigation, search

When working with cryptocurrencies, an address is a unique alphanumeric identifier that is used to receive payments. It can be shared with other users in the same way an e-mail address would be shared. Addresses can also be transformed into the QR code format, so it can be scanned by a mobile device or another camera. The QR code can (potentially) contain other information as well, such as transaction amount and a message. In public blockchains, such as Bitcoin, it is possible to see all transactions that have been made on a particular address by looking into a blockchain explorer.

NoteClick here to see what an address and its history looks like in a blockchain explorer.

See also: Change address, Transaction, QR code, Address reuse, Address replacement (basic) - Public key, Private key (advanced)

How an address is derived[edit]

A public key is used as the basis for an address and it is derived from an associated private key. The private key allows the owner to spend the funds associated with its address. In hierarchical deterministic wallets, such as Trezor, all private keys and addresses (public keys) are derived from the user's recovery seed. The address derivation is as follow:

Recovery seed -> Account private key -> Private key -> Public key -> Address

For detailed information about how addresses are derived, please see this Address map

This process can be reproduced with the same result at any time, even offline. Therefore, when the same recovery seed is used, the same private keys and addresses are created in the same order. Public-key cryptography ensures that it is not possible to go backward - knowing the address does not make it possible to find the associated private key or recovery seed.

Users can create as many addresses as they want without any costs. This can be useful for e-commerce websites where a fresh (or unused) address is generated for each customer. On the other hand, the BIP44 standard for Bitcoin hierarchical deterministic wallets proposed to respect the Address gap limit, which is also used in Trezor Wallet, limits the number of fresh addresses created under one account to 20.

The address is a part of a given cryptocurrency network only after it is used in a transaction. Until then, it is just a string of characters suitable for fusing as an address.

Address format[edit]

Bitcoin addresses can be 26-34 characters long and consist of random digits and uppercase and lowercase letters (except I,l,0 and O due to visual ambiguity). All addresses also contain checksum (for verifying data integrity) which helps to prevent typos- addresses containing typos are rejected due to invalid checksum.

Address types[edit]

Several address types can be used for Bitcoin transactions. New address types were developed together with new Bitcoin features, eg., the new type of transactions which allowed multisignature and SegWit transactions. Bech32 addresses are the newest type of addresses that should improve the security of multisig transactions.

Address types are:

* P2PKH starting with 1, eg. 1Aais5SFub9MsLNPKFU7Aufroi4QebSiHC
* P2SH starting with 3, eg. 33o9h1Vo6ghGRJPSW1edAsogWyNU2ypFv7
* Bech32 starting with bc1, eg. bc1qyvs3wwgr4x88ec3pjdf4xnwrgghq8whmmy5q0j
* Taproot starting with bc1p, eg. bc1p8denc9m4sqe9hluasrvxkkdqgkydrk5ctxre5nkk4qwdvefn0sdsc6eqxe

Addresses in Trezor Wallet[edit]

In Trezor Wallet, following the BIP44 standard, addresses are organized into separate accounts, and each can be given a custom label. According to the above-mentioned address gap limit, it is possible to generate 20 new unused addresses. It is considered best practice to use a new address for each incoming transaction, as it benefits user privacy. Trezor Wallet can also show receiving wallet addresses as QR codes, so they can be quickly scanned from a mobile device or by using another camera. If given access to a camera, Trezor Wallet can also scan the QR code of an address to send funds to. It is also possible to create as many accounts as the user wants, but only if the previous account has been already used.

See also:

Like Trezor? Get one here!