- Sharding is an exciting scaling technique being explored by many networks, including the Ethereum community. It is still largely in research mode, with few early implementations of sharding already available.
- This technique scales a blockchain horizontally by splitting it up into many smaller shards, each of which processes its own transactions and stores its own data while still retaining its connection to a ‘main chain’
- With LiquidChains developers can now spin up feature-rich, custom shards in minutes and seamlessly connect it to a public network (if they want to.) If you’re an Ethereum developer that needs to scale right now, get in touch with us about harnessing LiquidChains to create a custom shard for your dApp!
Recently, LiquidChains was launched as a novel approach to blockchain scaling that allows everyone to create their own custom chain in minutes, and seamlessly connect it to a public ledger (if they want to.) LiquidChains is a blockchain-as-a-service (BAAS) solution that unlocks new avenues of possibility for blockchain developers by giving them the power to launch blockchains configured specifically for their use-case, without sacrificing on the compatibility and interoperability of public networks.
Creating multiple instances of a similar LiquidChain that could run in parallel while interoperating seamlessly with one another lays the groundwork for sharding-as-a-service to emerge on the DAPP Network. But that’s not all. Each individual shard can harness the powerful services already functional on the DAPP Network, such as using vRAM for shared memory between chains and LiquidOracles as a way of reading crucial datasets into the shards etc.
Sharding is one of the pillars of Serenity, Ethereum’s much-anticipated network upgrade also known as Eth2.0. In the first phase, which is expected to launch this July, Ethereum will introduce a new Proof-of-Stake chain (the ‘Beacon’ chain) that will run in parallel to the current Ethereum Network. Following the switch to PoS, the next step on the Eth2.0 roadmap is sharding — a mechanism for allowing parallel transaction processing that could significantly scale throughput.
While sharding is at least a year out on the Ethereum roadmap, developers have an urgency to scale their applications and accommodate more capacity today.
With LiquidChains tech, developers can build functional sharding solutions today.
Having multiple, feature-rich shards running in parallel and connected via #DAPPNetwork IBC could bring unprecedented scale to blockchain! ( Click to Tweet )
What Is Sharding?
What Is This Sharding You Speak Of?
A Look At the Scaling Technique That Is Transforming Blockchain.
For blockchain networks, sharding offers a way to scale horizontally without harming the decentralization and security of a network. A sharded blockchain is split into many smaller chains, or shards, each with its own set of validators and pool of network resources. Each shard processes its own transactions and keeps a record of all validated transactions locally. The ‘main chain’ serves as a ‘ledger of ledgers’ by holding proofs of all transactions that happen on every shard. It is important to note that the ‘main chain’ does not store all the transaction data that gets processed on the various shards — that would defeat the entire purpose of sharding and take us back to the unscalable model with which we began.
Rather, LiquidChains shards submit Merkle proofs of every new ledger entry to the ‘main chain.’ Instead of serving as a detailed ledger filled with transaction details, the ‘main chain’ is used to store the state of each shard. This way, the history of each shard lives on a ‘main chain’ and can always be replayed in the event of any dispute. Such a ‘divide and conquer’ scheme splits up the load on a network into smaller, manageable pieces that still retain the ability to interface with one another.
The DAPP Network adopted a similar strategy already upon release. vRAM, a proprietary service that was first to go live on the DAPP Network, provided a way around the storage limitations on the EOS blockchain by using only a subset of selected DSP nodes to index data instead of having the information replicated across the entire network.
The foundations of the #DAPPNetwork were built with horizontal scalability in mind.
Now every developer can harness these scalable foundations to build sharded networks that support exponentially more capacity! ( Click to Tweet )
Why Should I Shard Using the DAPP Network?
The DAPP Network has the potential to solve some of the crucial challenges of sharding schemes including:
- Single Shard Attack
- Cross-shard Communication
- Data Availability
- Trustless Functionality
Single Shard Attack
While splitting up a single blockchain into many smaller shards can scale capacity significantly, it also introduces a new attack vector known as a single shard attack. In a single network, attackers would have to gain a majority of the total voting power in order to disrupt the network. However, once that network is split up into smaller shards, it becomes a lot easier for attackers to take over the voting power of a single shard and submit false information to the ‘main chain.’
On the DAPP Network, the validating entities known as DAPP Service Providers could help mitigate against the risk of a single shard attack. While anyone can be a DSP, network creators are free to select any number and configuration of DSPs that match their specific requirements. Chain creators stake DAPP tokens towards whichever DSPs they choose to serve as validators on their chain, with the service level agreement available on-chain. This creates a natural incentive for DSPs to remain honest, since the chain creator can monitor their performance directly on-chain and unstake from them should they fail to meet their service level agreement.
Additionally, network participants can seamlessly set up their own DSP node in order to verify that no fishy business takes place on their shard. Anyone can spin up their own DSP node and access the chain to prevent the other DSPs from colluding to process invalid transactions, double spend or provide false information via the LiquidOracles service.
Once sharding is implemented on any given network, each individual shard effectively becomes its own blockchain with its own state, resource pool and storage device. The challenge then becomes to enable cross-shard communication so that users are free to send transactions to anyone else on the network. Otherwise the entire purpose of sharding is defeated.
On the DAPP Network, each LiquidChain is automatically connected to the entire DAPP Network for the purpose of procuring DAPP Network services such as vRAM, LiquidOracles, LiquidScheduler and more. Furthermore, with LiquidLink, blockchains can enable cross-shard communication in a trustless fashion. This is not limited to cross-shard token transfer only. Rather, shards could exchange arbitrary data sets between one another and even operate smart contracts on a different shard.
We’ve already explained how shards only send Merkle proofs of their transactions and data to the ‘main chain’, not the full set of information. This creates a challenge for any new node on the ‘main chain’ that wants to take a closer look at the transactions or data on a particular shard.
On the DAPP Network, the vRAM System can act as shared memory between the different shards. Full data sets from each shard can live on abundant IPFS storage, with the DSPs passing the pointers to the data between shards. When a node wishes to download a piece of data, it then uses the relevant pointer, which is stored on-chain, to access the full data from IPFS. The pointer is also the hash of the data itself, and so it is also used to validate the integrity of the data received. If a DSP were to tamper with the data, this dishonest behaviour could easily be detected by comparing the hash of the new file to the hash/pointer stored on-chain.
Even if a sharding scheme could be implemented without a hitch in such a way as to exponentially increase the throughput of a specific blockchain, the upgraded chain would still lack crucial features that would need to be procured from various third-parties.
Sharding on the DAPP Network is different by nature. Each individual shard can automatically choose from a range of trustless functionalities available on the DAPP Network and integrate them into their chain.
Some of these features include:
- Random number generation: Assigning validators to different shards based on a random sampling of validators is one means of protecting against a single shard attack, since potential attackers have no way of knowing ahead of time which shard they will be assigned to.. DSPs can fulfil this crucial task of supplying random numbers that are unpredictable and uncorruptable by offering the LiquidHarmony service available on the DAPP Network.
- Price feeds for DeFi dApps: The LiquidOracles service enables DeFi apps to source credible price information directly into their smart contracts.
- Task automation: With the LiquidScheduler service running on the DAPP Network, developers can finally automate key functions within their dApps without compromising on trustlessness and decentralization
The Evolution of Ethereum Scaling
Under the first iteration, a stubborn limit of 15 transactions per second prevented Ethereum from reaching any meaningful scale. The Ethereum community is working on the cutting-edge of cryptography, releasing solutions such as Raiden, Plasma and optimistic rollups. Most of the scaling innovations involve some variation of the same model: Running a second-layer of interoperable sidechains that are used for computations and processing, while using the Ethereum mainnet (or Beacon Chain in the case of sharding) as a public ledger for recording state and as a liquidity hub.
In that regard, LiquidChains follows a similar scaling principle to popular technologies like sharding, plasma and optimistic rollups. These all involve running a second-layer of interoperable sidechains that are used for computations and processing, while using the Ethereum mainnet (or Beacon Chain in the case of sharding) as a public ledger for recording state and as a liquidity hub.
Focused on accelerating the roll-out of Eth2.0, the Ethereum community has turned its focus to sharding as the scaling mechanism that will underpin the future of their protocol.
As it works to replicate sharding’s success in transforming traditional databases, the DAPP Network could provide the fuel that fires this powerful scaling technique into prime time.
Sharding is no longer merely a theory — it’s possible today. If you’re an Ethereum developer that needs to scale right now, get in touch with us about harnessing LiquidChains to create a custom shard for your dApp!