How Bitcoin Transactions Work
At its simplest, a bitcoin transaction works by you giving someone else a designated amount of the BTC you own. In order for a bitcoin transaction to be deemed “valid,” there has to be at least one input, although multiple inputs are possible as well. An input is a reference to an output from a previous transaction.
Note that every input associated with a bitcoin transaction has to be an unspent output of a previous transaction. Furthermore, every input in a bitcoin transaction must be digitally signed, which occurs through the private key associated with the bitcoin address initiating the transfer of BTC.
If multiple inputs are associated with one bitcoin transaction, this means that the amount being sent is coming from multiple bitcoin wallet addresses. Any bitcoin user can generate an almost infinite amount of wallet addresses, each of which can hold any amount of BTC.
Here’s an example: If you send 2 BTC to lucky old “Joe” again, 1 BTC comes from wallet address #2, 0.33 BTC comes from wallet address #7, and the remainder comes from wallet address #8. In this example, wallet addresses #1, #3, #4, #5, and #6 have no actual bitcoin balance and can therefore not be used as an input because there is no unspent output associated with these addresses.
However, a bitcoin transaction can have not just multiple inputs, but multiple outputs as well. As you might expect, multiple outputs indicate a bitcoin transaction has been sent out to be split over multiple addresses. For example: Your 5 BTC balance will be sent to the now BTC-wealthy Joe (2 BTC) and Marie (1 BTC), and the remaining 2 BTC is sent to a different bitcoin wallet under your control. On the blockchain, this one transaction will have three different outputs, one going to Joe, one to Marie, and the third to your other bitcoin wallet address.
Sending a bitcoin payment can be denominated in a multitude of satoshi, the smallest increment of bitcoin transactions (8 decimal points after the period). Because bitcoin is so divisible compared to traditional fiat currency, the value of 1 satoshi can vary greatly. Whereas 1 satoshi is worth next to nothing today, it could be worth a handful of cents — or even dollars — in the future, as bitcoin adoption becomes a mainstream trend.
Bitcoin and cash payments are not so different in terms of transactions. The amount of bitcoin associated with all of the transaction inputs combined can be greater than the amount of money being spent, which creates “change.” With traditional fiat currency, change is issued to the customer in either bills or coins. With bitcoin, change is issued in the form of digital ownership of BTC associated with your wallet address. Should the amount of inputs be greater than the amount associated with the transaction outputs, an additional output to the originating address will be created for the “change” amount.
There are several ways to send a bitcoin transaction to another bitcoin user. First of all, you can ask the recipient’s bitcoin address and send the money through the bitcoin software on your computer or mobile device. For mobile users, there is an easier alternative in the form of scanning a QR code, generated by the recipient. Every type of bitcoin software allows users to create QR codes, which can include the wallet address to send funds to, as well as the total amount to be paid.
An example: Your bitcoin wallet address has received a total of 5 bitcoin over the course of a certain period of time, and you are sending 2 BTC to Joe. The bitcoin transaction will have one input (the unspent outputs of the bitcoin transaction through which you received those 5 BTC) and create two different outputs when you send money to Joe. The first output will be the transaction to Joe, for the full amount of 2 BTC. The second output will be the “change” transaction, which “returns” the unspent 3 BTC to your wallet address.