← head back

blockchaindiscussion

Blockchain tech 101

12/10/2022

Blockchain tech is a topic with many rabbit holes and one can spend days trying to make sense out of all of it. But if you skip all the jargon that is usually thrown around, there are only a few properties that make significant difference to the end user. These are transaction costs and transaction speed.

Transaction costs cover problems around the, often high, transaction fees that haunt popular blockchains and the ability of some systems to increase their capacity with demand. Transaction speed is about the delay between submitting a transaction and having it included in the blockchain and the extra delay that's sometimes necessary for that transaction to become irreversible.

Bellow we will dive into these two topics in details.

Basics 🖥

To understand what's really going on there are two calculations that are relevant and we have to keep in mind. Both of these calculations have to do with how transactions become valid in a decentralized blockchain ie. a blockchain where consumer computers can participate.

Every blockchain have nodes that do two things, create blocks and validate blocks created by other nodes. So if we aim for a decentralized blockchain we will need consumer computers that are able to perform these two function, at least the second one.

If these computers are to create new blocks they will need some time to process new transactions and then some more time for the newly created block to created and be sufficiently broadcasted in the network. So the maximum time for a block is block time = tx processing + block propagation and all this should happen before the next block is created.

In numbers:

  1. The average consumer computer can process around 200 transactions per second.
  2. It's best to let around 10 seconds for new blocks to propagate.

Hence, blockchains that aim at 12s block times can only process transactions for about 2 seconds if want consumer computers to follow and 2s allocated to processing means ~400 transactions which that's ~16.6 TPS (exactly the same as Ethereum).

Transaction costs 💰

Transaction costs and scalability wasn't always a dominant discussion in crypto. Before 2020's DeFi summer, the average Ethereum transaction cost under a dollar while Bitcoin's transaction cost a few dollars. After DeFi took off transaction costs are a different story, the average Ethereum transaction fees stayed above 10$ for months and above a hundred times at peak.

These costs are affected from various reasons but the most important one is the blockchain's capacity in transactions (called transactions per second or TPS). A blockchain with higher TPS can facilitate more transactions in one block, similarly when there is more supply, transactions cost more. In essence, blockchains create a market for transactions with constant supply which is the blockchain's capacity to facilitate transactions, and variable demand which is users looking for decentralize services (ie. to send money, supply liquidity for a yield, swap assets etc).

Transaction fees don't increase in all chains in the same ways. Chains that are used for more recreational purposes such as games have less spikes in their transaction costs. In contrast, chains that are used for DeFi, NFTs and other yield generating activities have more competition for transactions and consequently higher fees when demand is high. This effect is similar to elasticity in economics.

Note that even if some blockchains that achieved higher TPS sometimes put a minimum transaction cost. An example is Solana that currently have a minimum transaction fee of about $0.00025. That minimum exists mainly to prevent malicious actors from wasting transaction space to make the blockchain more expensive to store.

In Summary

Transaction costs are determined by supply and demand. Supply is constant and measure by TPS and demand is variable.

Transaction speed 🚅

Transaction speed measures the time needed for a transaction to get included in the blockchain. In practice, that's the time from submitting a transaction until the confirmation message comes up.

You might heard that Bitcoin transactions take 10 minutes on average to confirm and that Ethereum take around 15 seconds. That's because confirmation time is the about as the average block time. In other words, transaction speed or confirmation times are affected by journey transaction make until there are part of the blockchain.

When a user submits a new transaction, the transaction enters a transit state first. In this transit state nodes share the transaction with other nodes to increase the chances that the transaction is included in the next block. In the meantime if the transaction reaches a node that is run by a block explorer (like Etherscan), it will show as "Pending" on their website. When a new block is created from one of the nodes that has the transaction then the transaction is included and now be part of the blockchain (assuming the transaction fee is high enough).

Having fast transaction is great for users, but having them comes with a trade-off. Faster transaction times require faster block times which in turn require more powerful or fewer nodes to keep up with processing transactions.

Blockchains that have very high transaction speeds have so few nodes (sometimes <100) that they cannot afford many nodes to go offline. These chains usually have give fixed time for their nodes to make up their minds and if 66% is reached the block are final. Examples of such chains Avalanche, Solana, Algorand and most Cosmos chains.

There are chains that more flexible and if a node is late their opinion still counts. That inportant because in come cases the resulting block might change if there are a few nodes that their votes have not being counted at first. That's called a blockchain re-org. Examples of such blockchains are Bitcoin that , Ethereum and Cardano. These still process transactions when a portion of the validators go offline while projects but have to be slow to finalize as a trade-off.

A final observation on transaction speed is the effect of the blockchain consensus algorithm. Proof-of-work based blockchains such as Bitcoin have a probability component that makes the block time unpredictable. In contrast, Proof-of-stake based blockchains such as Ethereum (after the Merge) have constant block time.

In Summary

Transaction speed is a trade-off between been always available and been quick to confirm transactions.

Summary 💡

The two major components of blockchain technology are transaction speed and transaction costs.

Transaction costs are primarily determined by the capacity of a blockchain to more facilitate transactions. Higher TPS generally means lower transaction fees and lower TPS generally means higher transaction fees. That's because there's competition for block space competition which is a limited resource.

Blockchains with very fast block times cannot support thousands of nodes communicating correctly. In summary, achieving faster transaction speeds comes at the cost of having fewer nodes and hence risking the network uptime and censorship resistance.

Related Posts

Andreas Tzionis @

Github

Twitter

LinkedIn