Understanding Ethereum — Pertinent problems,Scalability, and Possible Solutions.
Blockchain offers an innovative solution for safe and decentralized payment transfers. The cryptocurrencies developed with the aid of blockchain technology have fairly revolutionized the way we have been making transactions and has infused a level of security and transparency which otherwise is regulated and controlled. Ethereum, goes beyond being just a platform for peer to peer digital currency transfer and offers greater flexibility and wider application of the blockchain technology through smart contracts. This has made it one of the most popular blockchain and has led to exponentially increased traffic in recent years on its blockchain. With smart contract several other cryptocurrencies have been developed on top of Ethereum’s blockchain and a lot of businesses rely on this technology for their business transactions and day to day transfers.The major issue with these developments is that it has adversely affected the transaction processing speed of the Ethereum blockchain which in turn poses a viable threat to the scalability of this technology.
It is found that the number of transactions per second on Ethereum blockchain is very low and in fact the congestion makes transaction verification a lengthy process and often the users have to wait for hours. With the growing blockchain the size of blocks are also increasing and as every node has to have the complete data blockchain state for verifying and processing a transaction it is becoming increasingly difficult and time-consuming to process the transactions. The challenges to make the transactions quicker and seamless are well defined and complex in nature, however, there are actionable solutions to the problem. Though certain solutions compromise with the level of decentralization that the platform offers they still make the transaction processing faster and more secure. There is a pressing need to develop explore innovative and tested solutions to make Ethereum’s Blockchain scalable by improving the transaction processing speed.
In recent years cryptocurrencies powered by the revolutionary Blockchain technology have become increasingly popular as they offer relatively secure and quicker transactions. The core idea behind the development of cryptocurrencies has been security, anonymity, and fast and seamless transactions (Bonneau et al, 2015). While Bitcoin was the first cryptocurrency that gained popularity, following the suit was Ethereum with its Ether token. Revolutionizing the entire crypto market Ethereum was developed to make the entire process of making transactions fully decentralized. It went beyond the popular function of existing cryptocurrencies (example bitcoin) which was limited to peer to peer transfer of digital tokens. Moreover with smart contracts feature it created a wide range of opportunities for people to make use of alternative digital currencies. A smart contract is a special protocol intended to contribute, verify or implement the negotiation or performance of the contract. Smart contracts allow to perform credible transactions without third parties. These transactions are trackable and irreversible (Tar, 2017)
Blockchain and TPS (Transaction Processing Speeds)
To understand the slow transaction speed of Ethereum blockchain it is important to understand the concepts of Blockchain, mining and smart contract.
Brief explanation of blockchain, mining, and smart contract.
Blockchain is a decentralized ledger which records all transactions and stores it in blocks. Once a block is full, it creates a new block. Any user can get this ledger, verify, and read it. Any computer or computing device with this ledger is referred to as the node. Whenever a new transaction occurs in the blockchain of any node it sends updated blockchain to other nodes for verification according to the rules defined in smart contract. This process of cross-checking blockchains, verifying the transaction and finding a new block for the blockchain is referred as mining and machines that do this work are called miners. It is not possible to transfer any coin safely, efficiently, and cheaply without having large number of miners dedicated for that coin. It is important to incentivize mining of cryptocurrencies to ensure large number of people mine otherwise any corporation with large number of mining machines can corrupt the blockchain. To achieve this goal miners are provided with a small fraction of coin for every transaction verifications done by them and for playing their rule to solve mathematical equation to find a new block of the blockchain. The value of incentive received by miners depends on several factors including value of the coin, number of unlock coins, total number of miners, total number of transactions per second and nature of smart contract.Remove
Transaction Processing speed comparison
Aided by the blockchain technology a number of cryptocurrencies are exchanging ownership in the market. Estimates say that there are over 1400 cryptocurrencies which are exchanging ownership on popular crypto exchanges and more are in use for a range of purposes. Given the nature of cryptocurrencies and the fact that anonymity is the key attribute it is not possible to have an exact figure. Apart from making a decentralized currency and ensuring secure transactions one of the most important feature which is often talked about in relation to cryptocurrencies is fast transactions. However, the fact is that in general if we compare the transaction speeds that is offered by existing transaction mechanisms (visa, paypal ) that facilitate transactions for fiat currencies we see that in practicality none of the cryptocurrencies are even close to their transaction processing speeds.
While Visa can process 24000 transactions per second and paypal can process about 200 transactions per second, the most popular cryptocurrency Bitcoin processes only 7 transactions per second on an average. Though bitcoin cash has shown to process upto 60 transactions per second it is still very slow when compared to Visa or Paypal. To address the issue of slow transaction speeds and make crypto transactions quicker Ripple is the only blockchain based currency with a decent transaction speed which they claim to be upto 1500 transactions per second. “This makes ripple second only to VISA (popular peer to peer transfer) in terms of transaction speed as Ripple proves to be faster than paypal by over 300%. Paypal with 218 million active users is still the most popular peer to peer fund transfer service provider.” But then amidst all the cryptocurrencies Ethereum is relatively very slow with a transaction speed of only upto 20 transactions per second. Though Ethereum outperforms bitcoin in transaction speeds and was developed with a claim to offer better transaction speeds than that of Bitcoins, with growing congestion on the Ethereum’s blockchain it has failed to keep up to the higher transaction speeds. Often, the transactions are not processed and takes hours to get verified.
Ethereum is not just a cryptocurrency that is developed with the aid of the blockchain technology. It is much more.
What is Ethereum?
Ethereum is not just another cryptocurrency and unlike other popular cryptocurrencies it was not developed only for peer to peer payment transfer. The Ethereum foundation explains Ethereum as “a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference.” (Ethereum Foundation 2016).
Ethereum’s platform is built for greater flexibility and has enhanced functionality. It allows the users to program smart contracts and also develop their own cryptocurrencies based on top of Ethereum’s blockchain. While the most popular cryptocurrency Bitcoin is written in C++ and other cryptocurrencies are written in a particular programming language Ethereum is not programmed in one particular language but in Turing complete language which includes seven different types of languages.
How it works ?
Ethereum works on proof of work basis. The blocks are created and added to the Ethereum’s blockchain only when the mathematical equations are solved and thus ensuring the validity of a transaction. Though this proof of work model makes transactions and transfers on Ethereum’s blockchain secure it is not ideal and has its drawbacks. This model has nothing for the miners and also there is nothing at stake to deter fraudulent activities (Janin, Ethereum For Investors Part II, 2015). To understand the transactions on Ethereum’s Blockchain it is also important to understand the types of users that can be a part of its blockchain.Unlike other cryptocurrencies there are two types of users or participants on Ethereum blockchain:
- External Users — As blockchain is a distributed ledger and anybody can be a member or account holder the external accounts or users are any entity who can send or receive Ethereum’s Ether token and can make transactions like any other cryptocurrency.
- Smart contract accounts — This is the feature that defines Ethereum’s functionality making it different from other popular cryptocurrencies. The smart contract accounts or users can also make transactions exactly like external users, however, on top of that they can run a customised and dedicated program to administer different functions or activities by running the smart contract program. This is what enables individuals or business entities to develop their own currency but on top of Ethereum’s blockchain.
There are solutions which are being proposed to make Ethereum’s Blockchain scalable and also the creators of Ethereum blockchain are considering options to improve the transaction processing speed on their Blockchain Network. According to a report they are considering Sharding to improve the speed and creating data-link layers or “layer 2” protocols that send most transactions off-chain and only interact with the underlying blockchain in order to enter and exit from the layer-2 system, as well as in the case of attacks on the system.
- Sharding : With sharding the aim is to make sure that every node doesn’t have to process all the data to verify and process a transaction. The complete blockchain state can be separated and divided into different shards. Once the blockchain is divided into shards the need to store all the data by every node can be compromised as every node as only a part of the state would be required to be stored by particular nodes. Now when the transactions are initiated on the blockchain they will not be directed to all the nodes but only to those depending on the shard they affect. It is categorized in such a manner that each shard only processes a part of the entire state. As Allison explains his article that Sharding is about creating multiple isolated sub-environments within a single blockchain, so instead of having a single global state of the entire blockchain, where any message can trigger any contract which can update any database anywhere, you have got separate worlds (Allison, 2016). However, there has to be a communication or command mechanism that establishes an automatic seamless communication between the shards.
— Off chain Computations: Off chain computation is a concept that allows for a layer apart from the Blockchain where all the computation or solving of complex mathematical equation takes place. This would not only take the load off the Ethereum Blockchain but also help decrease the cost of transaction verification and processing. This works in a way that not every node in the Blockchain participates in the computations rather particular participants in the blockchain perform the complex computations along with a deposit. If the solution is correct then the participant gets the reward and also keeps the deposit. If the solution is incorrect the deposit is forfeited. The offchain computation calls for a verification and therefore there are verifiers who verify the solutions. This mechanism would ensure that the tasks that account for slower transaction speeds on the Ethereum’s blockchain are performed separately by adding a seperate layer to the blockchain. Miller explains in this comprehensive article that Off-chain transactions can be processed in less than a second and by taking transactions off-chain, an enhanced level of privacy can be achieved by keeping information off the publicly recorded ledger (Miller 2018). A popular example of off chain solution is Raiden network which is becoming popular though still it is being researched and there’s more to be done
— From proof of work to proof of stake — As explained earlier Bitcoins and Ethereum both have a proof of work mechanism where complex mathematical equations have to be solved for verification and processing of transactions. This takes time and is also an important reason for slower transaction speed on Ethereum’s blockchain. The proof work work has its own drawbacks and hence a proposed solution to have improved transaction speeds and a scalable and more secure solution is to have proof of stake. Proof of stake means that instead of solving complex which miners solve and produce as proof of work to get rewards in tokens generated there will be validators who will own ethers and will put their own ethers at stake to validate a transaction and in case they fail they lose their owned ethers. The other prominent difference between the proof of work model and proof of stake is that in proof of stake the validators will not earn ethers but unlike the miners they will be getting a transaction fee for validating and processing the transactions. The proof of stake will considerably increase the transaction speed.
— Storage mechanism : One of the biggest challenges in achieving fast transaction speed for Ethereum is to cut down the data and load which is increasing on the nodes. Currently every node has to store all the data on the blockchain. Therefore a decentralized storage mechanism that share the load of the data could help make the transaction processing more efficient and quicker. A decentralized data storing mechanism which can be integrated to the blockchain allowing the nodes to store only that data which is frequently and locally used will take the load off the nodes and make transaction processing faster. The complete blockchain data can be stored on cloud and each node only has to store and load relevant data for particular transaction processing which are more frequent. This kind of storage mechanism can make Ethereum scalable and there’s a need to focus on such solutions.
Recently I reviewed three upcoming ICOs — Lightstreams, UNcloak, and TIM. While Lightstreams has developed its own protocol which we can say is an optimization of the existing Ethereum Blockchain to provide cost-effective and quick data transfer and sharing TIM (The Internet of Money) have tried to explain hard why they can achieve TPS (transaction processing speed) of 100–100 million per second. While Lightstreams rely on sharding, TIM also relies on sharding but coupled with other technologies like quantum secure cryptography and proof of belongingness, integrating GPS with blockchain which allows their network to make clusters separated by vertical shards. Also, It is important to understand that making blockchain a effective and practical mainstream reality there’s more to be considered — storage, security, costs etc.
Blockchain technology can play a significant role in disrupting the fintech industry, the way we make transactions and Ethereum in particular provides a host of opportunities with its applications. However, the slow transaction speed which is largely due to the processes involved in functioning of Ethereum’s blockchain while ensuring the decentralized nature of the platform is a major issue that has to be identified to the core. With cryptocurrencies gaining popularity amongst individual and group investors the traffic and congestion on Ethereum’s blockchain will further increase. Also, with smart contracts startups and businesses are creating their own tokens to raise funds through their ICOs. This calls for faster transaction verification and processing to make the blockchain and businesses relying on the technology scalable and sustainable. While some research and innovative solution to this crisis is convincing it is yet to be thoroughly tested. Further research is required to explore the possibilities and performance of the proposed solutions.