The less fees the better right? Wrong. It may be counterintuitive at first, but fees are actually very important to the health of a cryptocurrency network. If the aim is to build the next generation of financial networks, then security is paramount.
One of the things that fees do, is provide security for the network. However, with a typical Ethereum transaction costing upwards of $20.00 worth of ETH, it is possible for fees to get out of hand.
In this letter, I’ll be breaking down exactly how fees work in bitcoin, and comparing it against other fee schemas. Namely, fees in TradFi, fees in Ethereum (too high), and fees in Solana (too low).
Fees in Bitcoin
The first thing you need to understand about fees on Bitcoin, is that no one sets the fee. Like everything else in Bitcoin, there is no central authority for fees. Instead, fees are set by the free market.
If you want to send bitcoin, then you can attach a fee to the transaction as an incentive for the miners to include it in a block. The higher the fee, the higher the incentive.
Transactions are simply data, and the size of data is measured in bytes, kilobytes, and megabytes. Although the size of each transaction varies, the average transaction is about 420 bytes. Since every bitcoin block can fit 1MB worth of data inside of it, about 2,500 transactions can fit inside a single block.
All of this is to say that block space is a commodity. If there is more demand to have transactions included (& approved) sooner, then this translates into more demand for block space, and thus higher average fees for transactions.
Nothing is stopping someone from broadcasting a transaction with a less than average fee, but then they will have to wait for a miner to include their transaction. Depending on network traffic, they could be waiting tens of minutes, to hours.
Fees are an anti-spam mechanism
Ultimately what fees do is prevent spam on the network. In a hypothetical scenario, one way to attack bitcoin would be to broadcast a billion transactions at once. If bitcoin had 0 fees, then it would simply have to start including every single transaction.
At 7 transactions per second (tx/s), it would take the Bitcoin Network 4.5 years (1,000,000,000 / (7 * 60 * 60 * 24 * 365)) in order to process every transaction. So by charging fees, and making it reasonably expensive to send a bitcoin transaction, spamming or attacking the network through the outlined method becomes costly.
Put another way, there is a strong disincentive to attack the network, as it would come at a significant cost to the attacker.
When Fees get too High
High fees take place in periods wherein there is high demand to send a transaction. The highest average fee for bitcoin was $62.79 worth of bitcoin on April 21, 2021. Much too high. The second highest fee for bitcoin was $45.68 worth of bitcoin on December 27th, 2017.
To be clear, in both cases, high fees were reported for a period of 2 - 4 months straight. There were brief periods of very high fees, within periods of higher than average fees (more than $5.00 worth of bitcoin).
These periods of high fees are rather intermittent, but it is an indication of two larger problems.
What happens when bitcoin tries to take on a global load of transactions?
What happens if someone wants to pay for a $3.00 coffee?
How Bitcoin Scales
I’ve written on this topic before, and answered both of these questions in previous newsletters of mine. For the sake of keeping the thread, the way that bitcoin scales is through sidechains, centralized exchanges, and the lightning network.
Fees on Ethereum
Ethereum generally works the very same way as bitcoin does. It has a limited block size, and publishes a block roughly every 20-30 seconds. Block space is in demand and so people are willing to pay more to have their transaction included in the next block.
Now, Ethereum processes many more transactions than Bitcoin does, and each transaction is likely to be larger in size. The reason for both of these things is because Ethereum has a wider range of use cases than Bitcoin.
There are smart contracts that enable users to send/receive ETH or any other token. Users can swap tokens, vote on governance proposals, and mint NFTs. These different operations have different transaction sizes, and thus have different fees associated with them.
In general, the fees for Ethereum have been the following in the last 12-18 months.
Send ETH: $10-20 worth of ETH
Send ERC20 Token: $40 - $80 worth of ETH
Swap Two Tokens: $100 - $200+ worth of ETH
The fee chart for simply sending ETH looks like this.
Ethereum’s Scaling Solution
I don’t exactly see how Ethereum gets around this. There are upgrades coming to Ethereum, but they have been promised for years and there is no guarantee that they will be effective at reduce fees long term.
Ethereum has taken a similar approach to bitcoin, and offloaded some of the demand for transactions onto layer-2 solutions. Additionally, the transition to proof of stake is likely to help with scalability, but with unknown consequences from a security perspective.
Regardless, as a result of consistently high fees for a prolonged period of time, users who wish to use smart contracts to engage in DeFi or NFTs are searching for other cheaper networks to use. This is the consequences of fees being too high.
Fees on Solana
Solana works completely different than Bitcoin and Ethereum. They work on a system called proof-of-history and claim to be able to process thousands of transactions per second, with every transaction fee being far less than a penny per transaction. I would argue that Solana has their fees too low.
As we covered before, fees act as an anti-spam mechanism. Reasonable fees make it expensive to attack the network. So we shouldn’t be surprised to know that in the last 6 months, Solana has gone offline 3 times from DDoS attacks.
This just means that attackers spammed the network to the point where it became unusable for regular users. Then in a twist of irony, the development team responsible for building Solana contacted the validator network (consisting of 21 nodes) and got them to shut down the network to be restarted later. The problems with this scenario are obvious.
Solana is able to be attacked because it has low fees
It doesn’t matter if fees are low, if the users cant use the network
If the network can be shut down by the development team / validator network, then it isn’t decentralized
My conclusion is that low fees makes storing money on Solana unsafe.
The Goldilocks Zone of Fees
So there is obviously a sweet spot for fees. But this sweet spot also depends on other factors such as block size, block time, and consensus mechanism. So the Goldilocks zone of fees is also the Goldilocks zone for the way that the whole blockchain is put together.
Trying to remain as objective as possible, I do think that bitcoin has it mostly right.
Bitcoin has a 1MB block size keeping the overall size of the blockchain low, allowing anyone with $100 to run a node.
This block size is large enough to enable 2,500 transactions every 10 minutes, and small enough to have fees be consistently between $1 and $5 worth of BTC
I do think that $1 worth of BTC is high though. Ideally a bitcoin transaction always costs less than $1. I believe the lightning network will eventually be used for the majority of transactions, with the base layer of bitcoin only being touched for important transactions.
I hope this letter has given you a broader understanding of the context behind fees. It’s a challenging problem to solve both technically, and architecturally. The fact that bitcoin has it more or less correct is a testament to the design capabilities of Satoshi Nakamoto.
As always, please let me know how you found this letter, and leave questions in an email or in the comments.
Regards,
Keegan