Blockchain Limitations And Performance Issues
Have you noticed that when we talk about blockchain performance, we usually name approximate numbers? Where do 1000, 100,000 tx per second and other round numbers come from? Why don’t blockchain developers proudly claim 3,423 tx/sec on their websites after each blockchain code update?
The truth is that it’s close to impossible to give an accurate numerical performance estimate of a system that consists of tens and hundreds of computers, especially when they are scattered across the planet and connected by a network. A number of tx/sec will not reflect a huge variety of states of a large decentralized network.
Blockchain performance measurement is even more complicated than that of traditional services, for example, distributed databases. Let’s figure out why.
Below is a rough sequence of steps that the client software spends time on:
- The user prepares and signs a transaction.
- The user sends a transaction to the network and waits for confirmation of acceptance.
- Network replicates information between network participants
- Some of the participants generate new blocks including a user transaction and
replicatenewblocks between network participants
- The user receives information about a new block with his transaction from the
network Clienttransaction preparation Anyblockchain transaction is digitally signed. Any data change request always involves small non-zero fees. Thus, transaction costs in blockchain are higher than in standard databases: a signature check must be paid by the processor work time, an increased transaction size – by the network bandwidth, any changes in the blockchain – by storage size . Peerto Peer networking Whena transaction is ready, the user sends it to the p2p network, through which all blockchain nodes communicate. In other words, the user sends it any available computer from the list of so-called peers – computers that do not trust each other. Having received a transaction, the peer immediately begins to distribute it between random peer neighbors from the list. After several transfers, a lot of peers have a transaction copy. Then computers that produce blocks (also called miners, block producers or BPs for short) include the transaction in the next block and distribute it across the network .Asa result, information is distributed over the network twice.
Nowadays blockchains are reliable networks with malicious-resistant transactions. They are slower than their centralized counterparts — we cannot speak about millions of transactions per second. If you see messages about a million tx/sec, ask about the architecture. The creators of the ultra-fast “blockchains” often keep back a little, since millions of tx/sec usually mean middleware connection. In fact, such software is nothing but a common centralized service that meets such speeds requirements. In most cases, this is a L2 solution (Lightning, Plasma) or solutions that promise to assemble many parallel chains.