In my most recent post, we discussed the Shanghai Upgrade and its importance in making the Ethereum blockchain more scalable, efficient, and secure. You can find that post here.
With groundbreaking developments happening to further improve the Ethereum network, it is important to hone in on some of the most important aspects being solved through these upgrades.
One of the main concerns surrounding the Ethereum network was its ability to scale. Prior to the merge, the network could only process 15 transactions per second. As more dApps were built on top of the Ethereum network, it became congested over time, resulting in absorbent gas fees to interact with the blockchain.
The ideal blockchain should be able to process thousands of transactions simultaneously and do so inexpensively. Therefore, it is critical that the Ethereum blockchain implements scaling solutions.
I'd like to introduce a new four-part series in which we will explore on-chain and off-chain Ethereum scaling solutions, including Sharding, Rollups, Sidechains, and State channels.
Without further ado, let's dive in...
Running Ethereum Nodes
After reading my post on the importance of Blockchain Nodes, we now know that nodes are responsible for verifying all transactions and forming consensus; that post can be found here. Each validating node keeps a copy of the Ethereum ledger. The problem lies in the fact that as storage needs increase, it becomes harder for a regular user to run a node locally. This introduces node operation solutions such as Blockdaemon, which provides full end-to-end node management and support for many different blockchains.
As storage requirements increase, it drives the cost of running a node up, with the ultimate danger being centralization. In the same breadth, having every node verify that each transaction isn’t scalable in the long run. Sharding offers a potential solution.
Ethereum Sharding
Traditionally, sharding has been closely associated with databases and can be described simply as the process of storing a large database across multiple machines.
As it relates to Ethereum, the goal is very much the same. Through Ethereum's series of upgrades, the network will be split into multiple instances or 'shards.' Each shard maintains its own independent state, including the storing of unique transactions, the balances of each wallet address, etc.
Because each shard processes its portion of the state of the overall network, this allows transactions to be processed and verified in parallel, rather than sequentially by each validating node. The end result is now a network that is able to process thousands of transactions much faster.
Features of Sharding
Easily deploy a node: Through sharding, validator nodes don't have to store all the network data themselves. They can now use data techniques to confirm that the data has been made available by the network as a whole. This results in a dramatic reduction in data storage costs by reducing hardware requirements.
Increased network participation: Since sharding will ultimately reduce hardware requirements, users will be able to run nodes on a personal laptop or phone. As the barriers to becoming a validator decrease, more people can easily run nodes. This ultimately improves the security of the Ethereum network. The more people who run nodes, the more decentralized the network is, creating a smaller attack surface area for potential bad actors.
How does this actually work?
Nodes on the Ethereum network are broken up into groups called shard chains, specifically 64 shard chains. Each shard chain is tasked with processing a subset of transactions on the Ethereum network. Within a given shard, validators are randomly assigned to vote on the validity of the blocks of transactions. Every block needs at least two-thirds of the assigned validators to sign off on it before being added to the main chain (Beacon Chain) via the Validator Manager Contract (VMC).
Now validator nodes on the main Beacon Chain simply check for the two-thirds sign-off of each submitted block. A deep dive into their sharding consensus mechanism can be found here.
Vitalik Buterin, co-founder of Ethereum, explained sharding in the following way:
“Imagine that Ethereum has been split into thousands of islands. Each island can do its own thing. Each of the islands has its own unique features and everyone belonging on that island i.e. the accounts, can interact with each other AND they can freely indulge in all its features. If they want to contact with other islands, they will have to use some sort of protocol.”
Sharding ultimately creates a way for each shard chain to store receipts of transactional data. Each group of validating nodes can process transactions in its own independent shard, separate from the other 63 shard chains. This creates parallel processing and ultimately significantly increases Ethereum’s bandwidth and transaction speed.
Danksharding
Now that we have a good understanding of Ethereum sharding, enter Danksharding. Danksharding is the newest design proposal for sharding on Ethereum. It was named after Dankrad Feist, the Ethereum researcher who proposed the idea.
Danksharding takes the same principle of splitting the Ethereum network into shards, but instead of using the shards to increase transaction throughput, it uses them to increase space for “blobs” of data. These binary large objects or data “blobs” are large, but are cheap to transact with because the blob data is stored on the consensus layer rather than the computation-heavy execution layer. At a high level, this innovation is more about blockspace (space on the blockchain that can be used to store information and run code). Danksharding aims to encourage rollups (L2 off-chain solutions) to use this space by reducing costs.
Danksharding works by utilizing “data availability sampling,” which allows nodes to verify data by sampling partial sets of data on the Ethereum network. The end result is that the Ethereum network will be able to process significantly more data than it could prior, leaving the network faster and cheaper to work with. A deeper dive into danksharding here.
Danksharding seemingly provides a promising solution to the scalability issue Ethereum currently faces. Darksharding is still a new concept being further explored, and much work is needed to see this come to the market.
Closing Remarks
Though sharding may offer a lasting solution as it relates to scaling and decentralization, security around Ethereum sharding is still in question. Since the solution proposes to split Ethereum into smaller instances, if these smaller networks were to be attacked, the greater network would be compromised; namely, through a Single-Shard Takeover Attack, where an attacker takes over the majority of validators in a single shard to create a malicious shard that can submit invalid transaction data.
Today, security is a major priority in the development of sharding and scaling solutions more broadly. Although there is no confirmed timeline for when sharding will be live on Ethereum, there have been talks that the solution could be rolled out later this year. The Ethereum roadmap can be found here.
Having a good understanding of where Ethereum is headed lays the groundwork for understanding how blockchain technology works broadly and the potential impact it could have moving forward. In this piece, we’ve uncovered on-chain scaling solutions through sharding, and its potential impact on the Ethereum network.
While this on-chain solution is still being developed, off-chain solutions have already hit the market in the form of layer 2 scaling solutions. In the next piece, we dive further into understanding Ethereum scaling solutions, looking at these off-chain solutions.
If you’re an investor or builder in the space and would like to connect, feel free to reach out to me at Ernest@Boldstart.vc or on twitter @ErnestAddison21

