So, you have made up your mind: your company is going to start participating in the cryptocurrency game. You’ve read about it, you know how it works, and you know what kind of transactions you can make with it.
Despite how awesome it seems, the general public hasn’t really started using it, so the blockchain is not exactly on the same level as Paypal and Visa. It can be, though, so the (solvable) problem you now face is adjusting your blockchain application’s scalability.
What does scaling actually mean?
Currencies like Bitcoin and Ethereum have surprisingly slow transaction times. Paypal is capable of 193 transactions per second, and Visa can do 1,667—but Ethereum can only manage around 20 transactions per second while Bitcoin can do seven. Why so low? Suppose one person wants to send a Bitcoin amount to a friend. The transaction data is sent to a miner, and the transaction is complete when a miner puts the information in his or her block.
In the beginning, this system worked fine, but as cryptocurrencies increase in popularity, transactions become more time consuming because the miners can get swamped. In addition, miners become like trolls: you want your data to cross the bridge? A toll is necessary. According to Block Geeks, if you pay the lowest possible toll (transaction fee), the median wait time for a completed transaction is 13 minutes, and faster the more you pay.
Due to the slow transaction throughput, big companies like Amazon and Facebook cannot exactly walk onto the blockchain landscape because they need a lot more than the capacity for 20 transactions per second.
According to IOS, scaling up is so challenging because “every full node must store the entire ledger in order to participate” and “every participating node in the network is obligated to handle every transaction. Since all the participating nodes are essentially conducting the same work, the number of transactions the system can process will not exceed that of a single node. Moreover, the growing size of the blockchain increases the requirements and costs of storage space, bandwidth, and computational resources for a node to fully participate in the network.”
This increases the bridge-tolls, which may end up making blockchain participation something only available for those who can afford it—defeating the purpose of decentralization, one of the things that makes cryptocurrency so great.
Bandwidth is an issue, too. The “average Bitcoin transaction is about 250 bytes. A cable modem, running optimally at 10 megabits per second can, therefore, facilitate 5,000 Bitcoin transactions per second. Bitcoin is nowhere near this bandwidth cap.”
Bitcoin’s seven transactions per second come from the fact that Bitcoin blocks are only allowed to be 1MB in size (though it was just recently changed to 2MB, which will hopefully help) and that the constructed algorithms only allow for a new block every 10 minutes.
How can scalability be adjusted?
One method available the previously mentioned company IOS (Internet of Services). They offer “a solid infrastructure for online service providers. Its high TPS, scalable and secure blockchain, and privacy protection provide infinite possibilities for online service providers to serve their customer base.”
One of their methods for increasing blockchain’s reach is Efficient Distributed Sharding (EDS). It’s a technique that “partitions the entire IOS network into certain numbers of subspaces called shards. We can consider each shard as a miniature network that runs its own consensus protocol in parallel. Instead of having the entire network validating the same set of transactions, subsets of transactions can be handled by various consensus groups simultaneously.”
Think of it like the blockchain breaking down a transaction into lots of little pieces and distributing them down the network—this way, nodes are not doing the exact same work as one another and can handle an increased number of transactions.
You can use an off-chain state channel, which is a “two-way communication channel between participants which enable them to conduct interactions, which would normally appear on the blockchain, off the blockchain. What this will do is that it will decrease transaction time exponentially since you are no longer depended on a third party like a miner to validate your transaction,” according to Blockgeeks.
An example of a state channel is the Lighting Network. One of the minds behind the network, Jimmy Song, says it works “by creating a double-signed transaction. That is, we have a new check that requires both parties to sign off for it to be valid. The check specifies how much is being sent from one party to another.
As new micropayments are made from one party to the other, the amount on the check is changed and both parties sign the result.” This removes the necessity for a third-party miner. Once the transaction is signed off on, it will be broadcasted to the network. It’s certainly not perfect, though, so consider it carefully before using it.