The Ethereum Platform Scalability Solution
Ethereum is the number two cryptocurrency by market cap and has been for some time. As of this post, Ethereum the coin is trading in the number 2 slot at $751 with a market cap of $158 Billion according to coinmarketcap.com. As ETH the coin is the second largest crypto, it has generated a large following. The fact Ethereum the platform allows ERC20 tokens to be launched on top of the Ethereum blockchain, has helped make the Ethereum platform wildly popular. Especially among new tech startups known as ICO’s. Unfortunately, Ethereum is running into the same problem as Bitcoin.
Both Bitcoin and Ethereum have exploded in recognition. As with any jump in popularity, each platform has seen a problem with becoming overwhelmed. Bitcoin combated this growing pain in two different ways.
Activating Segwit, and Forking into Bitcoin Cash.
Ethereum has already forked once, and the community at large would like to avoid another hard fork of the Ethereum blockchain if at all possible. Sharding is a new protocol proposed to scale the Ethereum blockchain network, without increasing block size with a dreaded hard fork. To learn how Sharding works, we must first be comfortable with the Ethereum network as well as blockchain peer to peer networks overall, which run on nodes.
A node is an entity on a blockchain network that performs a certain function under a specific set of rules. These rules that all nodes must abide by are referred to in the tech world as parameters. A parameter is a strict set of rules or protocols that each computer or node on the network cannot ignore. All nodes must follow their parameters, however, not all parameters are the same for each node. This would mean that in theory, one could program each node differently. The nodes job is to take in an input of information. Depending on the parameters set, utilizing, forwarding or storing said information is decided. This process determines the output of the node, which is possible an input on the next node in the chain.
A network such as the Ethereum blockchain network is a collection of these nodes which take information inputs, determine and execute tasks with them, and give a new output of said info. A network must be a collection of these nodes usually intertwined throughout each other. The parameters of each individual node may be different than those on a network creating individual and distinctive nodes within the larger network.
How does this work?
When an action is performed on the blockchain network, the nodes involved inform their neighboring nodes of the action. Say I want to send .5 ETH to my sister in Montana. After I input the address in my wallet and hit the send button, the node that I used will tell the node next to it and so on until all nodes on the Ethereum network are informed of the transaction.
So how is this a Scalability problem?
The Ethereum network works on a protocol called consensus. This means that when I sent the .5 ETH to my sister in another state, every node on the Ethereum network had to calculate the transaction until all network nodes came to the same conclusion making the transaction final. This worked well for a long time with no major issues. However, the Ethereum network is only capable of roughly 15 transactions per second. This is miniscule in comparison to the Visa network which is capable of 45,000 transactions per second. Clearly, if Ethereum was to become larger and capable of offering services to billions of people worldwide, something must be done.
So what is Sharding and how will it work?
Sharding is a proposed layer one solution to the immense scalability issue currently facing not only the Ethereum blockchain network but most cryptocurrency blockchains today. A layer one solution means that the protocol is introduced and run on the main Ethereum network as opposed to a Layer 2 solution, which involves off chain software.
Sharding will split the network nodes into different sections, each capable of handling its own batch of transactions. Nodes will still require accountability from other nodes on the network before a transaction is confirmed and completed, however, each section will be able to operate on problems independent of the other. This is a solution that will increase the computing power of the entire Ethereum network exponentially.
Sharding is a base solution to a large problem if the Ethereum network is to grow into its true potential. Sharding will increase transaction time without adding strain to the already existing nodes on the network. Sharding is only one solution aimed at growing, spreading, and scaling the Ethereum blockchain network to one day help the entire planet.
Image Credit: //pixabay.com/en/users/WorldSpectrum-7691421/