Bitcoin transactions are more complex than you might think. You rarely simply send an amount of bitcoin in one go. Instead, your bitcoin wallet and the bitcoin network have to go through a set of steps to ensure that the right amount of electronic money gets to the recipient.
Fundamentals of Bitcoin Transactions
Firstly, it’s important to understand what a bitcoin looks like. It isn’t a single record of a coin, as you might find on an accounting ledger or on your bank statement. Instead, it’s registered as a transaction, comprised of three things: a transaction input, a transaction output, and an amount.
- The transaction input is the bitcoin address from which the money was sent.
- The transaction output is the bitcoin address to which the money was sent. If the bitcoin is in your wallet, that will be the bitcoin address under your control.
- The amount is the amount of bitcoin that was sent.
The bitcoins that you send to someone were sent to you from someone else. When they sent them to you, the address that they sent from was registered on the bitcoin blockchain as the transaction input, and your address – the address they sent it to – was registered on the bitcoin network as the transaction output.
When you send that bitcoin on to someone else, your wallet creates a transaction output which is the address of the person to whom you’re sending the coin. That transaction will then be registered on the bitcoin network with your bitcoin address as the transaction input.
When that person then sends those bitcoins to someone else, their address will, in turn, become the transaction input, and that other person’s bitcoin address will be the transaction output.
Using this system, people can trace bitcoin transactions all the way through to when the bitcoin was first created, understanding who sent it to whom, at any point in time. This creates a completely transparent system in which all transactions can be checked at any time.
Why do I have to wait for confirmation?
Receiving notification of a payment is almost instant after Bitcoin transaction. However, there is a delay before the network begins to confirm your transaction by including it in a block. A confirmation means that there is a consensus on the network that the bitcoins you received haven’t been sent to anyone else and are considered your property. Once your transaction has been included in one block, it will continue to be buried under every block after it, which will exponentially consolidate this consensus and decrease the risk of a reversed transaction.
Each confirmation takes between a few seconds and 90 minutes, with 10 minutes being the average. If the transaction pays too low a fee or is otherwise atypical, getting the first confirmation can take much longer. Every user is free to determine at what point they consider a transaction sufficiently confirmed, but 6 confirmations is often considered to be as safe as waiting 6 months on a credit card transaction.
How much will the Bitcoin transaction fee be?
Bitcoin Transactions can be processed without fees, but trying to send free transactions can require waiting days or weeks. Although fees may increase over time, normal fees currently only cost a tiny amount. By default, all Bitcoin wallets listed on Bitcoin.org add what they think is an appropriate fee to your transactions; most of those wallets will also give you chance to review the fee before sending the transaction.
Transaction fees are used as a protection against users sending transactions to overload the network and as a way to pay miners for their work helping to secure the network. The precise manner in which fees work is still being developed and will change over time. Because the fee is not related to the amount of bitcoins being sent, it may seem extremely low or unfairly high. Instead, the fee is relative to the number of bytes in the transaction, so using multisig or spending multiple previously-received amounts may cost more than simpler transactions. If your activity follows the pattern of conventional transactions, you won’t have to pay unusually high fees.
What if I receive a bitcoin when my computer is powered off?
This works fine. The bitcoins will appear next time you start your wallet application. Bitcoins are not actually received by the software on your computer, they are appended to a public ledger that is shared between all the devices on the network. If you are sent bitcoins when your wallet client program is not running and you later launch it, it will download blocks and catch up with any transactions it did not already know about, and the bitcoins will eventually appear as if they were just received in real time. Your wallet is only needed when you wish to spend bitcoins.
What does “synchronizing” mean and why does it take so long?
Long synchronization time is only required with full node clients like Bitcoin Core. Technically speaking, synchronizing is the process of downloading and verifying all previous Bitcoin transactions on the network. For some Bitcoin clients to calculate the spendable balance of your Bitcoin wallet and make new transactions, it needs to be aware of all previous transactions. This step can be resource intensive and requires sufficient bandwidth and storage to accommodate the full size of the block chain. For Bitcoin to remain secure, enough people should keep using full node clients because they perform the task of validating and relaying transactions.