If you try to send Bitcoin to another person for the first time, you shall notice that you have been charged a bit extra than the usual amount. Suppose you send 5 Bitcoins to X. The transaction will cost you a bit more than 5 Bitcoins. That extra amount is termed as ‘Fees’ for a Bitcoin Transaction. So, it costs you 5 Bitcoin + Fees.
Same happens during trading bitcoins with any other altcoins. You will get charged a bit more than the usual traded amount.
Now, when I transacted with Bitcoins or sold it for altcoins for the first time, this question came to my mind that what are those fees? Why do they get charged? And exactly how much is the fee for a cryptocurrency transaction? Moreover, how to reduce the amount of fees charged?
So, being a complete newbie, I did a thorough research and dug up kind of interesting stuff! It is really fascinating how this entire system works. In this post, I would try my best to describe this whole thing, what I got to know, in my own words. I think this will help out those who have similar queries like me.
Firstly, this post isn’t about the details on Bitcoin Fee Calculations, rather, it is an approach from my side to make you understand HOW IT WORKS so that you can get to know it, rather than calculating it. The calculations are complex and available on Bitcoin Wiki already.
So, let’s start.
In my earlier post about How to Earn Money with Bitcoins, I have described the Bitcoin transaction and mining process already. I recommend you read that post first. It will help you understand this post better. The concepts I explained there regarding cryptocurrency and its encryption is easier to grasp and will help you here.
Why is a ‘Fee’ Important in Crypto Transaction?
Like I discussed in my previous post when you send bitcoins to someone, you create a ‘block’ with an encryption that contains the message that the transaction from you to that person is in pending state. A ‘miner’ or a computer with aggressive processing power, would then start to solve complex mathematical algorithms to ‘decrypt’ the encryption to complete the transfer. (Once again, I remind you, if you really missed my earlier post on Bitcoins, you should read it, I literally explained these from the grass-root level, it will be much easier to understand here.)
In that post, I mentioned that the person B won’t receive the entire amount you sent to him, as the miner would cut off some fees for the work it did. B will get a bit lesser amount.
Also, by this process of mining, the miners GENERATE BITCOINS as a reward for their work. This is separate from the bitcoins it took as fees.
So, what miners earn for mining is = Fees + Reward.
And this reward has a half-life of four years. What that means is, every four years, the reward amount falls by half. If a miner got 5 Bitcoins for mining a block in 2013, the same miner would get only 2.5 Bitcoins for mining the same block in 2017, and 1.25 Bitcoins in 2021 and so on. It keeps on decreasing.
It has also been calculated that, if this decrease in production of new bitcoins goes on like this, then, by 2140, all bitcoins will be mined and no more bitcoins will generate as rewards. And there will be a total of 21 Million Bitcoins, of which, 16 Million has already been mined. And the rest 5 Million would be mined over the next 100+ years.
So, if there are no rewards for the miner, why would they mine?
If you are a Gold Miner, and you know there is no gold left, then why would you mine? Same with the Bitcoin miners. If Bitcoin generation stops, they are not going to mine it.
And if they stop mining, all Bitcoin Transactions will stop, it won’t be successful. As the transactions will remain in an unconfirmed stage. In short, the entire Bitcoin ecosystem will fail.
So, there needs to be an income source for the miners to keep mining indefinitely, so that even after the rewards get reduced or no rewards remain, they keep on mining and keeps the Bitcoin ecosystem alive.
This is why the ‘Fees’ are taken by the miners. That’s the only income source for the miners after the rewards end. (But already the rewards decreased considerably in the last few years, becoming half again and again, so, even if there is a reward associated with Bitcoin Mining right now, the fees are relevant even today, to keep it stable).
I hope now it got cleared why Miners charge ‘Fees’ for every Bitcoin Transaction.
Now, let’s look at how this process happens. I mean, how is this fee charged during the transaction. To know it, we need to go in details about a sample crypto transaction.
How does a Bitcoin Transaction Occur?
Let’s break down a Bitcoin Transaction bit by bit. There is some interesting stuff to know here, and you will be surprised to know them.
The first thing to know about Bitcoins is that THERE IS NO EXISTENCE OF BITCOINS.Yes, you read that right. Bitcoin does not exist anywhere.
Yes, you read that right. Bitcoin does not exist anywhere.
It may be hard for you to perceive the concept of bitcoins, but, that’s the truth. There are no bitcoins anywhere in the true sense.
Think of this, previously you came to know that by the process of ‘mining’ or solving some complex mathematical problems, miners earn bitcoins. But, if bitcoins were truly some currency, how does solving some mathematical problems create currencies? Is it even possible?
I mean, ultimately, the computer processes some task it has been given to do. Say, you are copying some files from one drive to another drive, of massive volume, say a few TBs, then, think about the computer, doing the task for you. Inside the hardware, it is just doing some mathematics involving binary. So, by harvesting some data, how can you generate currency? Sounds weird!
That’s when you should realize that Bitcoins does not exist in the true sense.
Then what exists?
ONLY THE BITCOIN TRANSACTION RECORDS EXIST. The records of A transferring 2 Bitcoins to B exists in the blockchain. That record is digital information, which can be encrypted, and decrypted by the miners. That record is everything about the cryptocurrency.
Well, I am now in the depth of crypto transaction. I know it is hard for you to imagine this. I know that. So, using the above concept I said just now, I am reconstructing the steps necessary for a Bitcoin Transaction. (that is, not involving Bitcoins, but only the record of the transactions).
Step 1: A wants to send 2 Bitcoins to B. From his wallet, he creates a ‘send’ request to the Bitcoin Wallet Address of B.
Step 2: A Transaction Record gets created. (And not that some bitcoins start traveling from A towards B on the web. Nope. It is just a record of the transaction. Much like your bank statement passbook. It keeps the record of the transactions.
Step 3: The record gets encrypted with a private key.
Step 4: The miners decrypt the information and add to the blockchain (the library of transaction records). It usually takes 10 minutes per transaction. However, the concept of time is actually another story, I would come to that later. Generally, it takes 10 minutes.
Step 5: The ‘record’ is now available on the bitcoin wallet of B.
So, in the end, B did not get ‘Bitcoins’ in the true sense. He only got a record of the 2 BTC transaction from A. Similarly, if B gets 4 BTC from C, it will get another record of the transaction.
So, here’s the second point to keep in mind, A BITCOIN WALLET DOES NOT CONTAIN BITCOINS, BUT IT CONTAINS A RECORD OF THE TRANSACTIONS MADE TO AND FROM THAT WALLET.
So, it’s all about records. Starting from the Bitcoin Wallet to the entire Blockchain, everything is just a ‘Record’ of the transaction.
In my last post, I said, Blockchain (that keeps the record of all Bitcoin transactions till date) consists of small Blocks. These blocks are nothing but ‘Transaction Records.’ Yes, that’s precisely these records we talked above.
Like any other information, these ‘records’ are Digital Information and hence take up some space, measured in KB, or MB, or even GB. A ‘block’ can contain a transaction record of the maximum size of 1 Million Bytes.
The more transaction occurs, the more Blocks get added to the Blockchain, thus increasing its size. Want to know the size of the Blockchain currently? Click Here to find out a Graph of the Blockchain size that is growing over the years.
You must be wondering, why am I telling you all this? Well, there are reasons. In order to understand the fees for Bitcoin transaction, you must have a clear concept of all these. Of course, you can’t deny that you got to know some interesting stuff. Just to let you know, that, it doesn’t end here. There’s more to it.
The 3 Parts of a Bitcoin Transaction Record:
So, back to the place where I was saying that a Bitcoin Wallet is just like a Bank Passbook containing the transaction records of some bitcoins received to the wallet.
So, when a transaction from A to B is initiated, the transaction record includes these three parts.
The first part of the record is called Input. This contains the information about how the bitcoin wallet of A got the bitcoins that are being sent to B. Maybe A got the bitcoins from 5 different people, with 5 different amounts. These amounts never blend together, to sum up the total number of Bitcoins, Nope. They stay separately as distinct records. Each record is an input.
Think about your Bank Passbook again. It contains a lot of inputs.
This provides the information of the transaction amount. Like, how much bitcoins are sent in this transaction.
The output is nothing but the target wallet, means the Bitcoin wallet address of B. This is where the bitcoin record is supposed to be credited.
So these are the parts of a transaction record. But why I am saying this? Why is knowing it necessary? It’s important because the fees towards a transaction are somehow dependent on these factors. Let’s now check out on what basis is the fee calculated.
Bitcoin Fees Calculation Parameters:
Before I begin I have 2 things to say:
Firstly, knowing about Fees won’t be of much need to you. This is because you cannot actually modify or change the fee yourself during the transaction. It is dynamic. Another thing is nowadays, in all traditional wallets, the fee is calculated separately and gets deducted from your account automatically. There is no need of calculating it yourself. It all happens automatically as you transact.
Secondly, Notice I said Calculation Parameters, not the Calculation itself. So, I will be discussing the factors that lead to the amount of fee charged. I won’t actually go into the calculation itself. Why? It is complex and requires in-depth discussion about this technology. It follows some algorithm, and it operates according to it. That’s all. You can actually learn these from different Wiki Articles.
So, How is a Fee Calculated?
Again consider a Bitcoin Transaction. After the transaction is initiated, some miner has to process it and confirm it by adding it to the blockchain. Else, the transaction will remain in an unconfirmed state in the mempool.
So, what is a Mempool?
A mempool is a pool of unconfirmed transactions. A miner directly picks up transactions from this pool and adds it to the blockchain. It takes approximately 10 minutes to process a typical transaction, however, the time is not constant.
Well, like I said, the blockchain consists of information that takes up a space measurable in bytes. The bigger the size of the transaction, the more space it will take up in the block where it is mined. So, how much space a transaction takes?
Let me explain a misconception many people have, that is, the bigger amount of bitcoin you send, the more will be the transaction size. Nope, it is not. A transaction of 0.001 Btc may have a larger size than a transaction of 1000 Btc. It is possible.
Well, transaction size is calculated based on the inputs and outputs of a Bitcoin Wallet. (Yes, what we discussed above).
The Inputs of Bitcoin Wallet of A contains 1 Btc 100 times, constituting 100 Btc.
The Inputs of Bitcoin Wallet of B contains 10 Btc 10 times, constituting 100 Btc.
Now both A and B are asked to send 50 Btc to C and D respectively.
A will send in this pattern: 1 Btc, 1 Btc, 1 Btc… 50 Times.
B will send in this pattern: 10 Btc, 10 Btc, 10 Btc… 5 Times.
Now, say each Input Size is 1KB (Just consider it for the sake of illustration), then,
Transaction Size of A will be 50KB, whereas Transaction Size of B will be just 5KB.
Understood? Is the concept a bit clear now?
Let me put it like this, THE LESSER THE INPUTS OF A WALLET, THE LESSER IS THE TRANSACTION SIZE.
Well, in the above example, I just added up the input sizes to calculate the final size, but the actual calculation involves more complicated stuff. Let’s not go there. Just consider this as an illustration.
So, you got an idea about the ‘Size’ of a Bitcoin Transaction.
So, the more the size, the more space it will occupy in the Blockchain. And the more the size, the more resources a miner has to spend towards that transaction to confirm it. (Because, ultimately, the computer is solving complex mathematics, so the more the size, the longer it will be).
So, suppose you are a miner, you see two transactions one with enormous size, and one with lesser size. You will, of course, try to confirm the transaction with smaller size, because you don’t have to spend many resources for that, than what you need to confirm the transaction with a bigger size.
If every miner starts prioritizing the smaller sized transactions, then, the larger volume transactions will be left out unconfirmed.
So, to help that, we pay transaction fees to the miner.
If an incentive is given to the miner, it will happily do the task, to get the fee.
And the larger the size of the transaction, the more the fee is, which makes complete sense. So, even bigger volume transactions get confirmed, due to the fees structure.
Nowadays, the Wallet itself calculates the fees based on the size and the inputs and adds it up to the transaction, so that it gets processed in the specified time.
I hope now the concept of fees in Crypto Transaction is clear to all of you. Actually, it is very interesting if you dive into it. When I was reading these, I always wanted to include the actual transaction size calculation inside this article, but, it is so vast and requires so in-depth knowledge that it is beyond our scope of discussion at this moment.
Why is your Transaction Fee High?
So, after you do a few transaction and compare it with your friends, you may find out that your transaction fee is greater (or lower) than your friend. Why?
A higher transaction fee is generally because you have too many inputs of ‘SMALL SIZES.’ Like I stated in the example above of sending 50 Btc, which maybe your transaction required too many small sized inputs which added up the fee.
So, in general, bigger transactions have lesser fees in the long term. Suppose you add 1 Btc every day to your wallet for 1 year. And your friend adds 100 Btc once in their wallet. Your friend will incur very less fee than you when he tries to spend it.
So, the quality of your earlier transactions matters always. If you want to invest in crypto currencies, always try to invest whatever you need to spend at one time, rather than spending small amounts every day. Because the separate transactions are creating separate inputs which will incur more fees when you try to spend them.
Should I always need to pay a Fee?
Well, technically speaking, No. Paying fees is not mandatory. You can process a transaction without a fee also. But, a miner can only include about 1 million bytes of transaction size in one block. So, they prefer to choose transactions that pay higher fees. So, if you initiate a transaction without a fee, it has a greater chance to remain unconfirmed.
But well, maybe someday sometime some miner can do it without a fee. Then it will be confirmed. But there is no guarantee of that. So, paying a fee is good. Why would you want someone to work for you for free?
A transaction less than 1KB of size is Free without requiring any fees. But, well, how can you determine your transaction size so quickly? 😉
Why is a Bitcoin Transaction Stuck for a Long Time?
I guess I don’t need to answer it now. The reason is the fee. It might be that the Bitcoin per kilobyte (Btc/Kb) your transaction is offering as fees are much lower than other transactions in the mempool. So, yours is being left out unconfirmed and you are stuck. You need to wait till some miner comes to your rescue and processes it with lesser fees, as you cannot undo a transaction once started. Any changes to the mempool and the blockchain is PERMANENT.
But most of the popular wallets now dynamically calculates fees and includes it with the transaction, so that it gets processed within some time.
So What is the Actual Transaction Fee?
Well, no matter how many inputs you got, and how many bitcoins you transact, the Fees have a limited range, and it is very very small compared to the actual transaction amount.
But what is the amount?
Roughly, the fastest and the cheapest transaction fee is 240 Satoshis / Byte. (1 Satoshi = 0.00000001 Bitcoin). Like I said, it is too small. But this is the fee if you really wanted to know it.
(The value of Satoshi to USD or INR is dynamic and subject to market rates, so check out the rates yourself if you need to find out the actual rate at this moment. Here is a Satoshi to USD Converter.)
But you can’t really help yourself much with this information as you can’t find out your transaction size so easily before you actually initiate it. So, leave it on the wallet, let it do the calculations for you.
Here is a graph of Bitcoin Transaction Fees over a period in the past. Check it out.
Additionally, you can study this sample Bitcoin Transaction from BlockChain to find out the fees associated, and the Fee per Byte charged. Check it out.
Which Company’s Bitcoin Wallet should I use for Lesser Fees?
I got this question from many guys. But this is a somewhat meaningless question. It makes no sense.
The fees aren’t determined by the company whose wallet you are using. They don’t make it. Rather it is determined by the Inputs of your Wallet, so eventually, it is you who is behind it. You are the one who is responsible for the past transactions on your wallet. 😉
Resources to Learn More:
Please be aware that whatever I discussed the calculation part is just for illustration. I haven’t covered the actual Bitcoin fee calculation based on the inputs and outputs. Because my primary aim towards writing this article is to make you understand the concept, and not to actually perform it.
As you have learned about it now, if you are interested then you can go on and read about the actual fees associated. Below are some of the resources that will help you understand more about it. Check them out.
Bitcoin Wiki Article on Bitcoin Transaction: Click Here
Bitcoin Wiki Article on Transaction Fees: Click Here
BlockChain Website Article about Bitcoin Fees: Click Here
CoinDesk Article on Bitcoin Fees: Click Here
Bitcoin Fees Explained: Click Here
Study Unconfirmed Transactions and Fees: Click Here
Isn’t it fascinating how Bitcoin works?
Think of a world where you don’t have any cash, only have digital payments (say, using PayTM or PayPal Wallet). You go to a shopkeeper and buy something, the shopkeeper deducts the price from your wallet and adds to his wallet. So, in reality, no cash exchange took place, but just the amount which is displayed on the wallet got changed.
Your wallet amount now decreased, his wallet amount got increased. In your wallet, a record got created that you sent some amount to your friend’s wallet. Similarly, your friend’s wallet got a record of payment. But, no actual cash was there.
That’s exactly how Bitcoin Transaction works. There is no real Bitcoin, only the records.
Thank you for reading my post on Bitcoin Transaction and Fees. I hope your most common queries about it is now resolved. Don’t forget to share the post if you liked it. It will help out your friends and it will motivate me to write more contents like this.
Well, Bitcoin and this Cryptocurrency is a Dynamic World and it keeps on changing. We felt it will be better if all of us can meet somewhere together and interact amongst ourselves and talk about cryptocurrencies. So, we made CryptoHub. Don’t forget to join CryptoHub, our Cryptocurrency Facebook Group where we discuss our queries, ups, and downs, and important updates.
That’s all for now. I will be back soon with another exciting update. Till then, stay tuned!