The block
Cryptocurrency blocks are filled packets of transactions. These transactions have inputs and outputs where the amount of input currency must be equal to the output amount, except when creating coins for investors, developers and/or miners is foreseen. This structure forms a ledger called a ledger that shows the transaction history since the beginning of the network.
A node that wants to mine a block must mount it through a shared storage of transactions called a mempool, usually choosing the transactions that pay the best rates. This block is used together with an increment to assemble a number through a method called hash function.
Finally, nodes compete to be the first to find a hash smaller than a specific target. The winner spreads his valid block over the network and takes the mining earnings. As soon as a contest ends, the new block enters the blockchain and a contest starts again, forming a cycle.
Limitations
The Bitcoin Network has known limits. A block takes an average of 10 minutes to enter the blockchain, reaching 4000 transactions, which leads to an approximate maximum value of 6.67 transactions per second.
Bitcoin-based forks and networks bring changes such as block size and block processing time to maximize scalability. As an example we have Bitcoin Cash which has a block size of 8 MB and an average transaction size of 480 bytes, which reveals an approximate maximum rate of 56 transactions per second.
Other variations try similar strategies, but do not come close to the 65,000 transactions per second of the payment giant VISA. Today cryptos that reach very high rates use other forms of consensus, such as Proof of Stake, which is gaining a lot of popularity with the EOS cryptocurrency, but there are many doubts about its security, and they do not have the massive experimental validation that bitcoin does. gave to Proof of Work.
Coins using proof of work do not increase their block size much beyond 8 MB and do not reduce the average block entry time much as blockchain forks can occur.
Forks happen when two nodes generate a valid block in the contest almost simultaneously, both transmit it to neighboring nodes, and the network splits based on which block the nodes receive first. These phenomena happen with a certain frequency but fortunately there are algorithms to decide which ledger will be continued, without the need for intervention.
Christian Decker and Roger Wattenhofer modeled the probability of forks happening on the bitcoin blockchain. This probability is directly related to the size of the block and the average time to close a contest.
If a blockchain has very large blocks and very low average tender time, the network generates forks faster than it handles them, being divided at all times into several sidechains with their own ledger.
It is also not ideal for the fork rate to be close to the treatment rate. Small forks can be almost harmless, but the problem becomes relevant when the network is separated into large forks and the blockchain can end up growing separately.
The only solution is intervention, where only one ledger will be selected, the parallel ledgers and their transactions will disappear as if they never happened. The losses are colossal because a lot of money ends up being circulated in parallel and suddenly the transactions are reversed. Obviously all the money spent on these transactions is not reversed with the blockchain and a good part will not be recovered.
Another concern regarding network splitting is 51% attacks. When the network is divided, the computational power is also divided, if a group has more than 50% of the computational power of the fork, it is possible to carry out double expenses, something that was already done even in the bitcoin blockchain when there was a great division into sidechains due to version upgrade problems.
Therefore stability and security issues make it impracticable to just change the block input time or its size. The network would not come close to performing VISA's 65,000 transactions per second without breaking, and even if it were enough to increase the blockchain speed by two or three times, the propagation of blocks in the network will be proportionally worse, with only one exchange taking place between speed and security.
To increase scalability to very high values requires more than balancing variables. It is necessary to review all network processes to find wastes of computational power and reassess the need for some steps.