How Do Bitcoin Transactions Work?

Bitcoin transactions can be thought of as digital messages which are sent to the entire Bitcoin (BTC) network to be verified. Each transaction comes with a digital cryptographic signature that is tied to the owner’s wallet of the transaction and it acts as proof that you own the private keys that control the Bitcoins.

Satoshi, the anonymous creator of the Bitcoin network, actually defined Bitcoin as the chain of digital signatures that come together to form a blockchain. Satoshi went on to disappear from the Bitcoin network by 2011.

Bitcoin transactions are a way to makes the transfer of value between wallets possible. Without this, there would be no way to send BTC to anybody and there would be no Bitcoin economy.

In fact, in theory, Bitcoins do not actually exist and your Bitcoin network wallet does not even hold any physical or digital Bitcoin inside it. Instead, your Bitcoin network wallet will actually just be monitoring and recording all of your Bitcoins addresses as it keeps a record of all the transactions associated with that bitcoin address to produce your balance from the Bitcoin ledger – otherwise known as the blockchain.

This blockchain is stored on what is known as Bitcoin nodes that keep a record of every transaction that has ever been sent in the history of the Bitcoin network.

There aren’t actually any Bitcoins in existence. It is just a record of all the transactions that are sent between Bitcoin addresses which are all recorded on the Blockchain. It can be considered as a ledger that records all of the transactions that have ever been sent in the history of Bitcoin.

So, what is a bitcoin transaction?

Every time a Bitcoin is sent, it has to go through the same process each time. It has to be propagated, sent to the nodes, verified by miners, included in a block, and then receive a specific amount of confirmations after this block before being considered as final.

All bitcoin transactions have the same three components to it;

The Input: The Bitcoin wallet or Bitcoin address from where the Bitcoin is being sent from.

The Amount: The amount of BTC that is needed to be sent.

The output: The destination wallet Bitcoin address to where the Bitcoin must be sent.

Public keys and private keys

To send Bitcoin, you must have access to the public and private keys that are linked to that particular BTC address that is used.

The Bitcoin Public Keys used also known as Bitcoin Addresses. These are a random sequence of letters and numbers that act as the Bitcoin address for you to be able to receive any Bitcoin. You can pretty much think of this as an email address or a Twitter handle. If you want to receive an email from someone, you have to give them your email address. Also, if you want to Tweet somebody, you need to know their Twitter handles. These Bitcoin Public Keys are the addresses that you can share to receive funds from somebody else.

It is important to note that Bitcoin Public Keys are available for everybody to see on the blockchain. Anybody can use an explorer and enter your public key to see how many Bitcoins you hold in that particular bitcoin address.

Each and every Bitcoin Public Key has a corresponding Bitcoin Private Key that is attached to it.

The Bitcoin Private Key acts as the password to the BTC held at that specific wallet and you can only send BTC from a wallet if you have the specific private key that is assigned to it. As humans are notoriously bad at creating passwords, these Bitcoin Private Keys are created through mathematical and cryptographic technology to ensure that Private Keys cannot be backward engineered from Public Keys.

It is important that you keep this key private and you should never share your Bitcoin private keys to anybody. You should also keep a back up of this private key by using the old school pen and paper method and store it in a safe place. If somebody sees your private key then they have a way to steal your Bitcoins.

Initially, Bitcoin private keys were stored as a string of 64 letters and numbers which made it extremely difficult to remember and write down accurately. If you were to change one of these numbers/letters in the private key, it would become totally invalid.

As a result, Bitcoin wallets started to use a BIP39 standard that would produce a list of 12-worlds as a way to act as a seed phrase for the private key to unlock the Bitcoin wallet. This way, you simply would have to write these 12-words down to securely back up your wallet, however, it is still extremely important that you keep these words safe and never let anybody look at them. It is best to split the 12-words in half and store them in separate locations.

Broadcasting to the network

Once a transaction is sent, it is broadcast to all the nodes on the Bitcoin network where the miners conduct a verification of the transactions. Thye makes sure that the owner of the Bitcoin actually has access to the private keys through the digital signature.

Once a miner includes the transaction in a new block, it has been published and is verified.

The receiver must then wait for a couple more blocks to be found until it is considered as confirmed and final.

Is Bitcoin transaction traceable?

Bitcoin is sometimes considered to be anonymous, however, this assumption is totally wrong.

All transactions are public for the network and can be found on the Blockchain. This means that all Bitcoin transactions can actually be linked back to where that BTC where was produced and sent through its entire timeline.

Also, Bitcoin transactions can be thought of as being pseudo-anonymous. You can remain anonymous to the point in which your BTC address is linked to your personal details.

For example, if you set up an account for an exchange, you need to provide them with your personal details to pass their Know Your Customer and Anti Money Laundering procedures. This usually takes a couple of days. Once you send Bitcoin from the exchange wallet to your personal wallet, the exchange can easily know it is you. Any further transactions you make from your personal wallet can then easily be tracked by the exchange themselves.

Even if you don’t sign up for an exchange, you still need to provide a Bitcoin address to receive Bitcoin. At this moment, your anonymity has been ruined because all transactions that are linked to the address that you hand out can be considered as tainted with your previous history.

This makes it very easy for Bitcoin transactions to be traced on the network through your address.

When things get slightly complicated with a large amount of Bitcoin wallets, blockchain investigation technology can easily be created to track every Bitcoin transaction and figure out who sent what Bitcoin to which address. This technology has often been used by authorities to track illicit activity that has been conducted in Bitcoin.

How long does a Bitcoin transaction take?

The time taken to send Bitcoin for confirmation can vary on a number of different factors. One of the factors involves how quickly the miners are mining new blocks. Another factor includes how many transactions are currently waiting to be processed.

All transactions have to be verified by the miners on the blockchain. The miners are actually creating new blocks on the blockchain in which transactions are grouped together and are published.

Block times

The underlying code within Bitcoin is constructed to make one block to be miner every 10 minutes on average. This is done through the difficulty adjusting mechanism which dictates how hard it is for miners to find new blocks.

When there are more miners mining on the blockchain and the hash rate increases, the difficulty adjusts according to the increased hash rate to make it more difficult for miners to find blocks to the tune that they will be finding them every 10 minutes.

However, this does not mean that it would take just 10 minutes to send Bitcoin from one address to another.

The Mempool

You see, the sizes of the blocks in the blockchain are limited to hold a capacity of 1MB  worth of transactions through the code in the protocol. Once a transaction is propagated it is firstly verified by all of the Nodes on the Bitcoin network that are available and then sent directly to the Mempool which pretty much acts as a waiting area for the transactions to be picked up by the miners.

All the transactions in the Mempool are in an unconfirmed state.

If there aren’t too many transactions that are waiting in the Mempool, your transaction should be picked up by the miner who mines the next block. However, if there are too many transactions in the Mempool then you will have to wait until there is space to be included in one of the next series of blocks.

Once the Mempool starts to fill up, miners start to choose to verify the transactions that have the highest fee first. This makes sense because the miners will earn more by processing these specific transactions. Once this pool fills up if your transaction has not been processed within 2 days, it usually gets removed from the pool and the amount is sent back to your wallet.

The Mempool prioritizes the transactions through a minimal transaction fee threshold. The transactions that have fees that are above the threshold are typically verified and confirmed first whilst the transactions with lower fees will have to wait for space to be available for their transaction to be verified.

How many confirmations are needed?

Well, this is very variable. If the network is functioning efficiently then a transaction usually takes around 30 minutes to be confirmed. This is because once a transaction has been published on the network and included in the first block it has just one confirmation. Usually, services require at least three confirmations before a transaction is considered to be final.

So, once the first confirmation comes in, the transaction sender would still need to wait for two additional blocks to be mined to receive two additional confirmations for their transaction.

Services tend to use 3 confirmations as it would mean that a bad actor within the system would have to change at least three different buried blocks to be able to reverse the transaction or spend the coins twice – which is pretty much impossible to do.

For larget sums, services often ask for 6 confirmations to ensure a 99.99% probability that the transaction is legitimately finalized.

How is a Bitcoin transaction verified?

Every transaction involves and input and output function. Each and every input function has a reference to the previous transaction output of where the BTC came from and it also has a digital signature attached to it to verify they did indeed own the BTC.

Transactions are verified through what is known as digital signatures. These signatures sing the transaction message and it ensures that the transaction sender owns the BTC they are trying to send as the digital signature can only be generated from a hash of the Private Key. The signature algorithm that is used is the Elliptic Curve Digital Signature Algorithm (ECDSA).

What is the Bitcoin transaction fee?

When you send a bitcoin transaction on the blockchain you must pay a transaction fee every time. This is the cost associated with the transaction and is paid to the miner for validating the transaction and publishing it into the next block.

The transaction fee varies from time to time and you can even pay a higher transaction fee to ensure that your transaction is picked up first and included in the next block by the miner. This is because the miners put a lot of resources into their mining operations which cost a lot of money and therefore they are incentivized to pick up the transactions that are willing to pay the highest fees first.

Once a block is found by a miner, they publish all the transactions that they can fit into that block to fill it up to the 1MB block size. They then receive all the transaction fees from all of the individual transactions that are in that block. In addition to this, the miner also receives what is known as a ‘block reward’ for every block found. This is freshly minted BTC that get released into circulation through the miners. Currently, the block reward is set at 6.25 BTC per block and it halves every 4 years or so through the Bitcoin codebase.

Typically, the transaction fees are very stagnant and remain the same for long periods of time. However, when the Mempool starts to fill up, there is usually a competition between the transaction fee market as the transactions with the highest fees are always picked up first. Once the Mempool fills up, the average transaction fee starts to increase and senders will have to pay this increased transaction fee in order to be able to send a transaction.

Eventually, the transaction fee market will reach a point that is too high at which point senders are unwilling to pay. This causes the number of new transactions to be reduced as fewer people will be sending new transactions at these high fees. In this case, the miners will simply clear out the Mempool which, in turn, brings down the transaction fee market to bring in new transactions.

December 2017 scenario

An example of transaction fees exploding was seen during December 2017 when the transaction fees reached an astronomical level of $60 per transaction. Bitcoin exploded in the mainstream as it went as high as $20,000 causing a herd of new investors to jump on board. However, Bitcoin can only process around 5 transactions per second and it was unable to handle the flood of new transactions that entered the network.

This caused the Mempool to fill up very quickly and the transaction fee market caused the fees to increase as high as $60. This meant that you had to pay $60 in fees for every transaction, even if the transaction amount was just $10. The transaction fees remained quite high for a period of around 2 weeks when the miners were working on clearing the Memepool and eventually then dropped back to around $7 by the end of January 2018.

Post-halving scenario

There are indications that the BTC transaction fee surge will be reversed after the halving. Miners will get half of the rewards they are getting before the halving event. As per Blockchain.com data, the amount of unconfirmed requests has been on the rise for the few weeks after the halving. From April 11 until May 14, Bitcoin (BTC) transaction fees increased by more than 1,250% from $0.38 to $5.16. While Bitcoin transaction fees have since fallen by 33.3% to sit at roughly $3.44 as of this writing, fees have increased by 36.5% since the block reward halving on May 11.

As we go to press, transaction fees have seen anomalous volatility amid Bitcoin’s third halving, increasing over 800% in one month. The difficulty to mine Bitcoin declined again as the hashrate of the Bitcoin network slipped. It means it has become easier for miners to mine BTC because fewer miners are active on the network due to falling prices.

While the fee does not depend on the amount you’re sending, it does depend on network conditions at the time and the data size of your transaction. Because a block on the bitcoin blockchain can only contain up to 1 MB of information, there is a limited number of transactions that can be included in any given block.

Here’s a valid sample:

Bitcoin does not distinguish between the value of each input. Each input must be digitally signed for the transaction to be valid. Signing an input requires a certain number of bytes (file space). Signing one input results in small transaction sizes. Signing 10,000 inputs result in large transaction size.

If your wallet has a balance of $70 and only $20 can be sent, then your wallet balance is made up of, for example, pennies and dimes instead of ten and twenty-dollar bills. You likely accumulated the $70 in many smaller transactions rather than in just a few larger transactions.

 

About the author