All you need to know about - Blockchain Speed
Is TPS really what it is being used for

All you need to know about - Blockchain Speed


Is TPS really a measure of blockchain speed? Is Solana really the fastest blockchain? Can blockchain networks be faster than it is today? Well stick around to know more! This article is inspired by the study conducted by Cardano engineers, especially their Chief technical architect Duncan Coutts and Neil Davies where they discuss the reality of transactions per second (TPS) in building a global financial operating system. I highly recommend watching their presentation 'Lies, damned lies and (TPS) benchmark' to learn more. Also I'd like to recommend watching this video made by CoinBuero, a YouTube channel run by Guy, for further understanding this concept with further simplification. This article borrows heavily from this video as well.

Blockchain Trilemma

In my previous articles, I have had briefly touched upon the concept of blockchain trilemma. You may skip over to the next section if you are already aware of it. It is essential to understand this concept in order to follow this article. Okay so what is it? It is proposed as a theory by Vitalik Buterin, the creator of Ethereum and is considered as THE problem to solve in order to evolve into the next phase of blockchain revolution. Many 'ETH killers' have claimed to have solved this puzzle but as you will read in the upcoming sections, that is not the case.

Trilemma

Blockchain trilemma is a SET of three main interconnected properties that all developers encounter when building blockchains (we are talking about blockchain networks like Ethereum or Polka Dot, and not cryptocurrency). It states that creators are forced to sacrifice one ‘aspect’ of the trilemma for the sake of the other two in the set such that if one try to also improve the third part, then the other two aspects will suffer. Now what is this set of three aspects? It is decentralization (creating a blockchain system that does not rely on a central point of control), security (defense mechanisms that prevent bad actors from taking over the network) and scalability (ability of the blockchain to accommodate a higher volume of transactions without increases the network fees or block time).

Ethereum

Let's take a fictional blockchain network - Blockchain X - as an example to understand this theory better. Blockchain X is a decentralized network with 2000 nodes run by miners across the whole world and it is somewhat scalable with a capability to handle 2000 transactions per second (TPS). It is also secure because it uses a proof of stake consensus algorithm such that malicious actors need to take control of 51% of all the nodes around the world (i.e. in this case 1000 nodes) within a tiny amount of time in order to carry out a hack which is virtually impossible due to the level of decentralization. In order to settle a transaction, 50% of the network first needs to agree on the validity of the transaction, which basically means at least 50% of the nodes i.e. 1000 nodes in the network has to agree that a transaction is genuine before marking it as valid. This is not a problem when the concurrent users are within the limit, say 1000 or 2000 users. But when the number of users concurrently accessing the network increases to a million, it dramatically congests the network such that it is no longer possible to efficiently get 2000 nodes to check each and every transaction which also pushes the gas fees up (just like Uber cab fees at peak hours).

Solving the Blockchain Trilemma

So in order our imaginary Blockchain X to remain operational, it either has to:

  • 1. Reduce the number of transactions per second it can handle
  • 2. Reduce the number of nodes required to confirm a transaction
  • 3. Change the consensys algorithm such that less number of nodes are required to confirm a transaction

To put things to perspective: the first option sacrifices scalability, second option sacrifices decentralization and the third option sacrifices scalability. Bitcoin and Ethereum knowingly chose decentralization and security over scalability. In an effort to aid scalability, there exists a set of solutions known as layer 2 solutions. What are they? Well, it introduces a parallel side chain, alongside the main blockchain network, which will handle the scalability aspect whereas the main network still ensures decentralization and security. Examples are Lightening network for Bitcoin and Polygon network for Ethereum. Now why can't these layer 2 solutions on it's own handle all three aspects of the trilemma? Because of the blockchain trilemma.

Polygon

There are blockchain networks that claims to be high performant but like these layer 2 solutions, they sacrifice decentralization. Yes, under the hood, Polygon and Lightening networks chose scalability & security over decentralization and it is arguably centralized. Polygon's main network for instance has got 100 validator nodes where each validator node requires multiple supporters to stake their MATIC (Polygon's cryptocurrency) but the plasma chains, i.e. side chains of polygon which runs it's dApps and smart contracts, has got only about 7 such nodes. 7 nodes controlling all the smart contracts in the network sounds pretty centralized to my ears. Polka Dot is another example. It has got about 300 validator nodes which validates Dot transactions, the cryptocurrency of Polka Dot network. 300 validator nodes appears pretty decentralized, isn't it? Well like Polygon, Polka Dot's smart contracts are run on parallel chains, which they call as Parachains. Each of these Parachains only use 10 validators.

Defining Blockchain Speed

Defining a cryptocurrency's speed as it's ability to process and store data makes it easy to calculate the real transaction speed of any cryptocurrency using three metrics:

  • Block Size - How big each block is
  • Block Time - How frequently each block is made
  • Average Transaction Size - How large the average transaction on the blockchain network tends to be

Cardano

But it is not easy to find out these metrics for all blockchain networks because some of them, for example Monero, changes the block size to accommodate the transaction demand making it's TPS to oscillate between 4 and 2,000. Ethereum is increasing it's block size over the years to accommodate the transaction demand as well. it has got a block size of 71,428 bytes, block time of around 13 seconds and average transaction size is around 5,000 bytes. Cardano blockchain has got a speed of around 200 TPS which is calculated from its block size of 2 mega bytes, block time of 20 seconds, and average transaction size of 500 bytes. Ethereum's average transaction size is higher than that of Cardano's is due to the fact that Ethereum has got smart contracts on it's network whereas Cardano is yet to implement this feature. Cardano too has implemented a dual chain architecture as Cardano settlement layer and Cardano implementation layer, which separates the smart contract data from transaction data and it is similar to the Parachain concept of Polka Dot.

Ada

This way of defining the blockchain speed dictates that the theoretical limit of the blockchain speed or the cryptocurrency speed is fundamentally set by the internet speed around the world which is, at the moment around 100 Mbps for download and 50 Mbps for upload on an average. This means that there is still something that can be tuned in order to increase the blockchain speed. But how fast is 'fast enough'? Well before we discuss that, we need to get a better understanding of block size and block time.

Understanding Block Size & Block Time

Time taken to transfer cryptocurrency from one wallet to another and to execute smart contracts in a decentralized application on the blockchain network is not the same; in fact the latter takes much more time in comparison. For this reason, many of these networks implement the side chain concept like we saw in the Polka Dot and Polygon example. But, most of these networks conveniently 'hides' this fact in their documentation and advertise only the main chain transaction per second as the speed of it's network. We need to dig deeper in order to find out the exact speed. Also to add, most of the Ethereum alternatives implement a version of EVM (Ethereum Virtual Machine) to run smart contracts, which in itself has got a max speed of about 300 TPS even when it runs on a single node.

Cardano

Each block on Bitcoin blockchain can hold 1 MB of data, i.e. about 1 million bytes (this is comparatively small in size) whereas the size of an average Bitcoin transaction is about 400 bytes. That means each of these blocks can fit about 25,000 to 27,000 transaction data within them. Considering the fact that Bitcoin adds a block to it's blockchain every 10 minutes, it's TPS is calculated to be 5. Now why is Bitcoin's block size so small (1 MB) and block time (10 minutes) so low? Well it's because the priority is given to decentralization and security over scalability. Bitcoin is designed in such a way that every 10 minutes, a block is added to the Bitcoin blockchain regardless of the number of transactions within it. This means - over time, the size of blockchain grows rapidly. At the moment, the total size of Bitcoin blockchain is around 360 GB. Every single node, even the new ones, needs to download this huge amount of data consisting of all the previous transaction history in order to run the blockchain operations accurately. If we are to increase the block size, then that would mean the total amount data stored on the blockchain would also increase, drastically. Okay then why don't we decrease the block time then to say 6 seconds from 10 minute? That would bring down the amount of block size too right? Well, yes if we do that, it can potentially increase the TPS to 500 but here's the kicker - 6 seconds is simply not enough for enough nodes to validate the transactions within that block. This would result in breaking up of the Bitcoin network into multiple different blockchains with conflicting transaction history.

Cardano

Did Solana REALLY Solve The Blockchain Trilemma?

As cryptocurrency is proposed as an alternative to the fiat currency, the least expectation from it would be to match the speed of Visa transactions. Visa, on a rough estimate has got around 4 billion active cards around the globe and to cater to such a large user base, it has built the capacity to process 65,000 transactions per second; realistically though they only process about 2000 transactions per second on a daily basis. At the time of writing this article, there is only one blockchain network that can match this level of throughput and that network is Solana which boasts a whooping 50,000 to 65,000 TPS EVEN for smart contract transactions. I have an article written about Solana; so if you are interested to know more about it, do check it out.

Solana

Now you may be wondering - how did Solana solve the blockchain trilemma to become the fastest blockchain network out there? Well, the truth is - they didn't. Like how bitcoin sacrificed scalability, Solana sacrificed security. This has caused several outages which were subjected to criticism from it's critics. An average Solana block size is about 512 bytes. When we factor in the 50,000 TPS and do the calculations, we can observe that Solana is creating insane amount of transaction history data EVERY SINGLE DAY which is evident from it's current data size of over 2 Tera Bytes accumulated within a span of just a year which is way too higher than the total data accumulated by the top ten blockchain networks COMBINED. In order to address this concern, Solana has partnered with Arweave - a decentralized crypto data storage network - to archive it's transactional data and it's validators will only store the last two days worth of data.

Bitcoin

So can we close the case of blockchain speed with the Solana network in place? Not really. Why? Because there is another metric called transaction confirmation apart from the three aspects we have discussed . If you have send any crypto from any exchange, you might have noticed that you need to wait for a certain number of 'confirmations' before the coins get credited to your account. Confirmations refer to the number of blocks that are being created on the network ever since one made a transaction. Why are they doing this? This is done to make sure that the transaction is 'final' before they send you the coins and the likelihood of the finality increases with each confirmation or each block that gets created. This finality varies from crypto to crypto and also block time also plays a big role in deciding the confirmations required. For example - Bitcoin requires 6 confirmations to get a 99.9% finality. Solana's block time is about 400 ms, but it's finality is much much longer (though they claim sub-second finality but it's disputed or vaguely supported) due to it's consensys mechanism. On Binance, for instance, Solana transactions require about 2 minutes before finalizing the transactions. Algorand, XRP, Stellar, Cosmos or any other blockchain network that use Tendermint consensys mechanism has a comparatively better finality. The more secure the network is, the less confirmations are required for finality. 

Conclusion

In this article, we've briefly discussed about the blockchain speed and how the blockchain trilemma affects it. We have seen ways to work around this trilemma by introducing parallel side chain as we have seen in the examples of Polygon, Polka Dot and Cardano. We have briefly touched upon how the blockchain speed is determined and what are the major factors that influence the blockchain speed. We have also seen what Solana did to achieve it's insane TPS and how they are dealing with it. I hope this article have helped you to understand the blockchain speed. Have a nice day ahead.

If you are planning to buy or trade crypto, I recommend giving the KuCoin exchange (referral link enabled) a try. They got some great offers for various coins in terms of lending and staking. Do check it out, if you haven't already.

Couple of other articles which you might be interested in:

How do you rate this article?


108

0

Mishal Alexander
Mishal Alexander

Crypto Enthusiast | Budding Blockchain Developer |


What You Should Know
What You Should Know

Welcome to my blog, people.

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.