In Bitcoin and most cryptocurrencies, users need to pay a nominal fee to make transactions, or in other words, send tokens to another digital wallet. This fee is used to economically reward other participants in the cryptocurrency network that verify the integrity of past and future transactions.
Once verified, new transactions are time stamped and added to a public ledger known as a blockchain. This process is facilitated by a large pool of miners, who also compete for the aforementioned transaction fee. At present, miners on the Bitcoin network are also economically incentivized in the form of block rewards, which introduces new BTC into circulation.
As time progresses, block rewards will eventually cease to exist, with transaction fees taking over as the only source of income for miners. This is because Bitcoin has a fixed supply of 21 million tokens.
In This Article:
- Understanding Bitcoin Wallets
- Decoding Bitcoin Transactions and Bitcoin Fees
- Nodes and Miners: Maintaining Network Integrity
- Mempool: A Transaction ‘Waiting Area’
- Bitcoin Transaction Fees and You: Doing the Math
- The Blockchain Scalability Problem
- How Block Rewards Work
- Tweaking Block Size and Interval: Imperfect Scalability?
- Bitcoin Scaling Solutions: What Didn’t Work
- The Lightning Network: Scaling Done Right?
Understanding Bitcoin Wallets
A Bitcoin wallet is similar to any physical wallet that you would use to store money in the form of banknotes and coins, but differs in one key way – it is completely digital. These wallets are used to send and receive units of digital currency back and forth, and usually reside on an electronic device such as a mobile phone or computer.
Bitcoin wallets can be likened to a bank account, which is also often used for wealth management and transfer. Contrary to popular misconceptions, a digital wallet does not store cryptocurrency. Instead, it provides an interface to access and authenticate the user with the Bitcoin blockchain. Every digital token wallet consists of two sets of keys, referred to as public and private keys. The public key is used to accept incoming transactions, while the private key is a secret alphanumeric string used to prove ownership of the user’s wealth.
A user can share their public key with another user to receive funds in their wallet, similar to how email addresses work. Meanwhile; the private key, is the digital signature that verifies or approves an outgoing transaction from a digital currency wallet. Without the private key, you cannot spend Bitcoin or other cryptocurrencies you own. That’s why, keeping your private key secure is extremely important. If a third party gains access to the private key, they have complete access to the wallet and any tokens held in it. A colloquial phrase in the Bitcoin community goes; “Not your keys, not your Bitcoin.”
A Bitcoin wallet address is an encrypted version of its corresponding public key. The public key is 256 bits long and derived from the private key. Both the keys are related to each other and you need them to complete Bitcoin transactions. Every Bitcoin wallet stores a set of keys, a Bitcoin address and a log of all incoming and outgoing transactions. There are different types of wallet such as cold wallet, paper wallet, digital wallet, and hot wallet.
Decoding Bitcoin Transactions
Now that we’re familiar with cryptocurrency wallets and how they interface with the underlying blockchain, let’s take a look at how transactions work.
Unlike fiat currency, there is no physical handover of money in crypto transactions and no central authority to verify their existence or transfer. In the case of fiat currency, funds are stored in a bank and the bank verifies whether there are sufficient funds in the account before allowing any user to make a payment. When money is sent from one bank account to another, the transaction is settled between the two banks and funds deposited in the receiver’s account after being withdrawn from the sender’s account.
Bitcoin, like most other cryptocurrencies, is decentralized and does not involve any bank-like authority. When a user requests a transaction, multiple network participants check the ownership of digital tokens being sent. The same process also checks whether the tokens have been sent to someone else by the same account and if they are included in any pending transaction. This is done to avoid the problem of double spending. Once the ownership of digital tokens in the wallet is successfully ascertained, the transaction is sent for processing.
Every Bitcoin transaction is composed of three components, namely the transaction input, transaction output, and amount. This is very similar to a traditional wire transfer where the three major components are the sender’s account number, the receiver’s account number, and the fund to be transferred. The wallet from which the payment is made is referred to as the transaction input. The wallet which receives the Bitcoin is known as transaction output. The number of Bitcoin transferred in the process is the amount. In a wire transfer, the total amount consists of the amount to be sent plus a small charge. Similarly in a digital currency transaction, an outgoing transaction is composed of the Bitcoin to be transferred and a small transaction fee.
Nodes and Miners: Maintaining Network Integrity
Nodes in a digital currency network can be thought of as similar to bank branches. Simply put, a node is a computer that maintains an up-to-date copy of the blockchain and relays any new information to other nodes on the network.
Some nodes on the network may also participate in the process of verifying each new transaction, rather than simply maintaining past records. These computers are colloquially called ‘miners’. A miner uses computational power to solve mathematical puzzles that help verify the integrity of incoming transactions.
Given that a copy of the Bitcoin blockchain is distributed among nodes all over the world, the technology offers an unprecedented level of transparency. Unlike the banking system, blockchains allow you to view any wallet’s token balance and past transactions.
While traditional bank transfers can take up to two working days, the same transaction can be completed on the Bitcoin blockchain within minutes. This is because digital currencies do not come with the overhead of human verification, trusted authorities like central banks, and other similar processes.
Cryptocurrency transactions are grouped in a block, and new blocks are added to the blockchain roughly every ten minutes. Bitcoin has a fixed block size, which means that only a limited number of transactions can be processed every few minutes. Any leftover transactions that do not fit in one block will have to wait until they are picked up by a miner. This is because miners have the capability to pick and choose transactions based on the reward they receive for doing so. The sender always has the choice to pay a higher than average fee to prioritize their transaction over others.
A transaction needs to be recognized by a minimum of three to six nodes to be considered as complete and added to the blockchain. As its name suggests, the blockchain is simply a long and ordered series of blocks. The Bitcoin blockchain has been growing ever since its inception 2009, and is now almost 300GB in size.
Let’s now explore the aspect of transaction fees in greater detail….
Mempool: A Transaction ‘Waiting Area’
The mempool is the ‘pool’ where all unconfirmed Bitcoin transactions are kept before being batched for processing by miners. It can be thought of as a waiting area for all new transactions. When there is a large influx of new transactions, there is a corresponding rise in the number of transactions pending in the mempool.
In a wire transfer, a fee is charged by the bank for facilitating the payment. Bitcoin, meanwhile, requires a user-decided fee to be attached to each transaction. As mentioned above, a miner picks transactions that best incentivize them for their efforts. If the transaction pool is empty, they will usually include any and all transactions in their mined blocks. During busier times though, low-fee transactions can be neglected for several hours and even days at a time before a miner includes it in a block.
It is important to remember that users can select the transaction fees of their respective transaction. Miners are incentivized to prioritize the processing of transactions with a high fee. While an individual can also set transaction fee to zero, their transaction may never be processed by a miner, unless an altruistic one comes along. As a result, transaction fees vary depending on network traffic, similar to a highway that could get congested from time to pay. In other words, the fee a user has to pay will be low if there are only a few pending transactions in the mempool and high if there is a large backlog of transactions.
The mempool was adopted under Bitcoin Improvement Proposal No. 35 (BIP 35) to allow different nodes to access each other’s mempool and prioritize transaction processing. Bitcoin Improvement Proposals (BIPs) are software upgrades undertaken by the Bitcoin core development team to ensure the network is modernized with time. Ever since BIP 35 was implemented, miners can decide the order in which they wish to process new transactions.
Transaction Fees and You: Doing the Math
Now that we’ve talked about the technical aspects of transaction fees, let’s figure out how much a sample transaction would cost you. Bitcoin fees are commonly calculated in satoshis per byte, where Satoshi is the smallest unit of Bitcoin, roughly one millionth of a BTC or 0.00000001 BTC.
In contrast to a wire transfer, the transaction fees you pay on the Bitcoin network does not depend on the amount you’re transferring. Instead, the size of the transaction (in bytes) is what matters. Naturally, this complicates matters quite a bit since determining your transaction size relies on knowing the number of inputs and outputs, which is all but impossible to find in some cryptocurrency wallets.
Once you know your transaction’s size though, the rest of the calculation is quite straightforward. Let’s assume we’re working with a basic transaction containing one input and two outputs, which is around 250 bytes in size.
At a fee of 2 Satoshi/byte, that 250 byte transaction would simply cost you 500 Satoshi or 0.000005 BTC. At $6,000 per BTC, that would result in a fee of $0.03. However, setting a fee this low could cause your transaction to get stuck in the mempool for a few hours, even on relatively uncongested days. Setting a slightly higher fee of around 5-8 Satoshi/byte could help your transaction move along faster.
However, if the mempool is particularly busy on that day, you may have to go even higher. Online charts, including the one shown above, can help you understand the number of transactions stuck in the mempool and how much you need to pay if you’re in a hurry.
While this may seem complicated to the average individual, the good news is that most modern cryptocurrency wallets have fee calculators built in. A handful of them even check the mempool for you in order to suggest appropriate fees for ‘fast’, ‘medium’, and ‘slow’ transaction processing times. Do note that a few wallets tend to err on the side of caution and you may end up paying more than necessary, which is why checking the mempool for yourself is always a good starting point.
The Blockchain Scalability Problem
The average transaction fee at any given point in time depends on the economics of supply and demand. There is a direct correlation between the number of pending transactions and transaction fees. However, this correlation has led many to question the viability of cryptocurrencies as a financial tool for the masses and caused a widespread rift in the cryptocurrency community.
While Bitcoin transactions are relatively inexpensive right now, the network has witnessed several bottlenecks in the past, even pushing fees to double digits. This blockchain scalability debate has been the point of much contention among developers and users. While several solutions exist to make the Bitcoin blockchain scale better, almost all of them compromise on other important aspects such as decentralization and security.
Bitcoin Cash is an offshoot digital currency to Bitcoin that aims to solve the scalability problem by introducing a larger block size than Bitcoin. However, the project has not been able to establish itself as a definitively superior alternative to the world’s largest cryptocurrency due to low adoption and market skepticism.
As we’ve seen, transaction fees and block rewards are two ways in which miners profit from maintaining the network and keeping it safe. Historically, a rise in the popularity of Bitcoin has also caused transaction fees to go up. This is because the number of Bitcoin users and wallets have risen over the years, while the blockchain’s transaction processing capabilities have remained largely unchanged. There has been a four fold increase in the number of Bitcoin wallets between Q3 2016 and Q4 2019. A corresponding rise in the number of daily Bitcoin transactions can also be observed for the same time period.
How Block Rewards Work
Satoshi Nakamoto, the pseudonymous founder of Bitcoin, famously decided the cryptocurrency would have a fixed supply, with a limit of 21 million BTC.
Historically, central banks and the US Federal Reserve have been known to print new currency in times of crisis. New Bitcoin, on the other hand, can only be added to the network through the process of mining. Mining Bitcoin is a computationally intensive process and requires the use of powerful hardware.
Miners receive block rewards for verifying and adding new transaction blocks to the blockchain. The first Bitcoin block was mined on January 03, 2009 with a block reward of 50 BTC. It took six days for the next Bitcoin block to be mined on the network.
Since then, block rewards have been halved periodically to slow down the creation of new Bitcoin. The reward is halved after every 210,000 blocks, with two halvings recorded so far. The first halving event occurred at block height 210,000 on November 29, 2012, while the second took place on July 10, 2016 at block height 420,000. It is expected that there will be 64 block reward halvings before it goes down to zero and the 21 millionth Bitcoin is mined.
Block rewards will eventually go down to zero when the last Bitcoin is mined. At that time, transaction fees will serve as the only source of income for miners.
Tweaking Block Size and Interval: Imperfect Scalability?
The block interval can be understood to be the time difference between two successfully mined blocks. Coinmetrics reported a consistent rise in block time on March 20, 2020. The time interval between two consecutive blocks had risen from 10 minutes to 13 minutes and some blocks were taking as long as 90 minutes to be processed. This could lead to some delay in the next Bitcoin halving. The reason for this increase in block interval is yet to be clearly ascertained but it is possible that miners are withdrawing computational resources at a slow rate.
Bitcoin’s block interval and block size have been the subject of a long debate in the cryptocurrency ecosystem. These characteristics limit Bitcoin to a mere 7 transactions per second. For comparison, Visa’s payment gateway claims that it can handle upto 56,000 transactions per second.
Furthermore, a consistent rise in the number of users has already led to a slowdown in the Bitcoin network. It gave rise to prolonged periods of slow transaction speeds and high transaction fees. Statistics show that a rise in the number of pending transactions in mempool corresponds to a sharp increase in transaction fees. Discussions surrounding the cryptocurrency’s scaling problem have now reached a tipping point.
Digital currency developers and researchers have increasingly turned to three solutions, including increasing the block size, decreasing the block interval and developing off chain scaling solutions such as the Lightning Network. As we shall discover in the following sections of this article though, the vast majority of proposed solutions never saw the light of day.
Bitcoin Scaling Solutions: What Didn’t Work
There have been numerous arguments about shortening the block interval and increasing the block size of Bitcoin through a BIP to introduce better scaling. However, Bitcoin maximalists have always rejected these proposals, claiming that doing so would be in direct violation of the original Bitcoin philosophy outlined in its white paper.
The standoff between two sides of the ideology peaked in July 2017 when, under the leadership of Roger Ver, some members of the Bitcoin community created Bitcoin Cash. The breakaway community strongly believed that Bitcoin was on the path to becoming an investment option rather than a currency.
Bitcoin Cash has the same block interval as that of Bitcoin but differs in terms of size, with an original limit of 8MB as compared to Bitcoin’s block size of 1MB. Since then, the block size of Bitcoin Cash has increased to 32MB through numerous software upgrades.
Detractors of BCH, meanwhile, argue that a small block size keeps the blockchain’s overall size in check. By making storage of the Bitcoin blockchain viable, the aspect of decentralization is not compromised. A bigger block size makes it so that the blockchain can only be stored by bigger institutions.
During the scaling debate, some proposals argued for a block size as high as 32MB. This proposal was shot down by the Bitcoin development team because such an increase could lead to the concentration of mining activities, pushing out of small miners and reduction in the number of full nodes. Fewer nodes could lead to centralization and threaten the fundamental principles of the digital currency.
Another Bitcoin scaling proposal SegWit2x was proposed as part of BIP-141 but never adopted. Under the proposal, the size of each block would be increased from 1MB to 2MB. Previous Bitcoin Improvement Proposals were soft forks as they did not tinker with the basic protocol of the digital currency. SegWit2x was termed as a hard fork because it would modify the block size. A common consensus on the proposal was never reached due to fears of centralization in mining and the idea was shelved in late 2017.
How SegWit Increased Block Efficiency
The Bitcoin development team made it clear that there shall be no modifications to the cryptocurrency’s basic structure. Any proposals to improve transaction speed in the network should carefully account for all fundamental philosophies. After a while and much deliberation, the community settled on implementing Segregated Witnesses, or SegWit.
Every transaction consists of two components, a header and the transaction’s body. The sender’s signature is included in the header, which cumulatively takes up a considerable amount of space in each block. SegWit proposed the separation of signature data from transaction data to reduce the size of every transaction. This would lead to more transactions being included in each block, thereby improving efficiency across the network.
On July 21, 2017, through software upgrade BIP-91, the activation of SegWit at block height 477,120 was achieved.
The Lightning Network: Scaling Done Right?
The addition of SegWit laid the foundation for an off-chain scaling solution called the Lightning Network, which aims to make Bitcoin economically viable for micropayments. The Lightning Network is an off chain scaling solution, which means that transactions are processed off the main Bitcoin blockchain.
In any payment network, cryptocurrency or otherwise, micropayments tend to constitute a large number of total transactions. Micropayments involve common day-to-day transactions, usually between individuals or consumers and retailers.
In Bitcoin, a large influx of these micropayments could lead to a slowdown across the network and a subsequent rise in transaction fees for everyone. The Lightning Network was developed to settle these small payments off-chain, thereby leaving more space for bigger transactions. The Lightning Network relies on the creation of multiple payment ‘channels’. Two users can open a payment channel between each other and send or receive an endless number of payments as long as the channel is open.
In the absence of Lightning Network, every transaction completed between these two users would be logged to the blockchain. This would, in turn, require them to pay a transaction fee each time and potentially contribute to a network-wide slowdown. With the Lightning Network, however, only the opening and closing balances of the two wallets would be broadcast to the network. As a result, fewer pending transactions enter the mempool and the blockchain transaction fee is only paid once.
As of March 2020, the Lightning Network has grown to 11,976 nodes, with around 35,936 active channels between nodes. The total number of successful micropayments processed on the Lightning Network total to 924.02 BTC. For many, the Lightning Network has already proven itself viable as a solution to the Bitcoin scalability problem. However, others believe that it still has to stand the test of time and mass adoption.
In summary, the transaction fee you pay depends entirely on the size of the transaction, which is often out of your control. Thankfully though, if you’re using a standalone hardware or software wallet, as you probably should, most of them are now able to suggest the optimal fee based on current network conditions.
For the foreseeable future, the economics of transaction fees and mining rewards should remain largely unchanged. Having said that, history has shown that the price of Bitcoin undergoes a sharp price rise after each block halving event. The next such halving is scheduled to occur sometime in May 2020. While miners will receive lower compensation per block mined, they have no real control over either that fact or the amount collected from transaction fees.
Therefore, the only major factor that could increase transaction fees is a sudden new wave of mainstream adoption and price movement. Back in late 2017, for reference, users were paying as much as $28 per transaction. With the passage of time though, second layer solutions like the Lightning Network will only grow in popularity and viability, making transaction fees less of a concern for the average Bitcoin user.