On the 2nd of January, Vitalik Buterin posted an open invitation in the Ethereum Foundation blog.
“With the Ethereum blockchain reaching 1 million transactions per day, and both Ethereum and other blockchain projects frequently reaching their full transaction capacity, the need for scaling progress is becoming more and more clear and urgent. To that end, in addition to ongoing and upcoming work that is happening on scalability internally, we are starting two experimental subsidy schemes that we hope will empower more independent teams to collaborate with the Ethereum Research team”, – Ethereum Foundation Blog.
The subsidies for each program will range from $50,000 to $1 million and are intended to cover development costs.
Ethereum’s use case is to function as a decentralized platform that developers can use to build daps and run computations. In the last couple of years, the amount of transactions on the Ethereum network has exploded. This has congested the blockchain, slowing down all transactions and making computations much more expensive and time consuming to run.
How Casper paves the way for Sharding and solving Ethereum’s scalability issues
All Ethereum’s planned scalability solutions depend on Casper; a smart contract that will begin the cryptocurrency’s transition to a POS blockchain. Before Ethereum completely detaches the value of their coin from the consumption of computational resources and the cost of electricity it take to run them, they are implementing a hybrid POS/POW consensus algorithm.
Casper establishes a reward and escrow system for validators who stake ether in Casper and programmatically double check the blocks before they are added to Ethereum’s main chain.
This version of Casper is called Casper FFG (Friendly Finality Gadget). By incentivizing altruistic behavior with staked ether and cryptoeconomics the network can be further secured insuring finality.
This additional finality and the staking validators make it possible for Ethereum’s devs to address the scalability issues plaguing Ethereum with Sharding.
What is Sharding?
Since the blockchain is trustless, every node needs their own copy of the blockchain and every node needs to process every transaction. The transaction speed of the current Ethereum blockchain is bounded by O(c), where the variable c denotes the level of computational power available to one node.
The goal of sharding is to come up with a new mechanism, where only a small subset of nodes verifies transaction, allowing for the network to potentially authorise thousands of transactions simultaneously.
Eventual, Phases 2,3 and 4, Sharding will become a base-layer blockchain protocol written into the mainchain, but Phase 1, which is what is currently being worked on, will be implemented through an Ethereum contract called VMC (Validator Manager Contract.) This contract sets up collators, who are basically node that can accept transactions on specific shards.
“All shards share a common validator pool; this also means that anyone who signs up with the VMC as a validator could theoretically at any time be assigned the right to create a block on any shard. Each shard has a block size/gas limit of O(c), and so the total capacity of the system is O(c^2).” – Vitalik Buterin.
“There is no static set of nodes dedicated to validating specific sub-chains (except for everyday users’ clients running full nodes, but that’s just them watching chains they care about for their own purposes); instead, every time there’s a need to create a block in every sub-chain, a node gets randomly plucked out from the entire set of validators and given the opportunity to create a block. So, the level of decentralization of each sub-chain is basically equivalent to what it would be if there was only one sub-chain.”
It is basically a blockchain partition. Like a child chain, the shard maintains its own state and transaction history.
In phases 1 it won’t be possible to send information between shards, and the same could be said for an independent blockchain.