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.
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 may be broken down as follows:
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 'backwards', i.e., 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 Suite, 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 using as an address.
Bitcoin addresses can be 26-34 characters long and consist of random digits and uppercase and lowercase letters (except I (upper-case "i"), l (lower-case "L") , O (upper-case "o") and 0 (zero) due to visual ambiguity). All addresses also contain a checksum (for verifying data integrity) which helps to prevent typos; addresses containing typos are rejected due to an invalid checksum.
Several address types can be used for Bitcoin transactions. New address types were developed together with new Bitcoin features, e.g. the new type of transactions which allowed multisignature and SegWit transactions. Bech32 addresses should improve the security of multisig transactions. Taproot represents the first major upgrade to Bitcoin since SegWit, and improves both privacy and network efficiency.
Available address types are:
In cryptocurrencies, a transaction is the moving of funds (coins) from one address to another. Each transaction has a unique transaction ID that can be used to reference the transaction. In addition to the amount being sent, each transaction includes a fee that is paid to the miners for including the transaction into the blockchain. The amount of fee included in a transaction affects the confirmation time. A transaction is considered final when it has been confirmed.
Your Trezor device can be used together with Trezor Suite to make transactions for any of the supported cryptocurrencies. Your Trezor device is required to send transactions, as transactions are signed securely on the device itself - ensuring that your private keys never leave the device. Trezor Suite also allows you to set a custom fee and add multiple recipients.
Trezor Suite displays information about individual transactions at the bottom of the Overview tab for a particular account. You can export the list of transactions to CSV, PDF or JSON by using the drop-down menu:
The timestamp is the time when a given transaction was confirmed. You can see it on the left side of a transaction line. When a transaction is first made, its timestamp will display as "unconfirmed." Once the transaction is successfully confirmed, it will show as a date and time. It is highly recommended to wait for transactions to be confirmed before considering them complete. When you click on the timestamp, you check the status of your transaction using a blockchain explorer.
The value next to the timestamp always displays the address to which the funds were sent.
The last value displays the number of funds transferred.
Confirmation time is the time period needed for a transaction to get confirmed. It depends primarily on the fee amount sent with the transaction.
A confirmed transaction is a transaction that has been included into the blockchain by the miners. In general, a transaction is considered safe to accept when it has received multiple confirmations. Six confirmations is considered safe in practice. How fast a transaction gets confirmed depends on the amount of fee in the transaction.
A transaction signature is needed when sending a transaction to the network. A signed transaction confirms that the sender owns the private key associated with the address and, therefore, owns the funds. Anyone in the network can verify the transaction. It also means that when a transaction is made, it is necessary to unlock the outputs that are going to be used.
Every transaction signature is unique to that particular transaction because the private key and the original transaction data are used together. So if someone tries to use this digital signature in a different transaction, it will conflict with the transaction data in the memory of the digital signature. As a consequence, the nodes in the network will not accept it.
Private keys are generated locally on your Trezor device and never leave the device. Therefore, all the transaction signings are performed solely in the Trezor device.
In the context of Bitcoin, an input is a reference to an output from a previous transaction. Multiple inputs are often listed in a transaction. An input can only be spent as a whole. If payment is smaller than the input, the remaining change is sent back to the user's change address.
In the context of Bitcoin, an output contains instructions for sending bitcoins. Value is the number of Satoshi (1 BTC = 100,000,000 Satoshi) that this output will be worth when claimed.
For an improved user experience, Trezor Suite calculates all the inputs and outputs and displays only the final balances and transaction amounts.
The following video also shows how Trezor will always generate the same wallet, accounts, and addresses when the same recovery seed (and passphrase) is used: