The problem of blockchain scalability
Any fast-growing blockchain sooner or later faces the problem of scalability. The decentralization and security of blockchain are ensured by reaching a consensus between nodes and storing all the blockchain data in each node. Just imagine what a huge amount of data is growing every day, like a snowball! It is not surprising that transactions speed is the chief casualty, as it could be seen in the Bitcoin blockchain.
Sharding is one way to solve the problem of blockchain scalability. The essence of this technology is that a database is divided into separate small parts (shards), which are stored on different servers (nodes).
And there are some problems. Nodes need to know where the shards are stored so that there are no data overlapping or data loss. To do this, the nodes have to exchange information about the shards they store.
The second problem is that the data inside the shards should be consistent with each other, as well as with the global blockchain.
Although shards are stored on different nodes, their data should not conflict with the data of the entire blockchain.
All these network operations, which ensure the exchange of data about the shards between the nodes and the validation of data both within the shards themselves and in relation to the global blockchain, require non-trivial solutions from blockchain developers.
The introduction of sharding was announced by Ethereum at the end of 2017, but it has not yet been implemented.
Sharding mechanism in DapCash
The developers of DapCash thought out the problem of blockchain scalability already at the stage of designing the blockchain platform. Sharding in the project is implemented as follows:
1) At the so-called “zero” level, there is a main blockchain (Golden chain), which is responsible for the exchange of messages between the nodes that store shards, for maintaining the global state of the network. In the Golden blockchain, transactions and user data are not stored since this chain is fundamental to maintain all the blockchain architecture. The golden blockchain is the topmost level for all other consensuses.
2) At the next level, there is a silver blockchain (Silver chain), which can be divided into shards. A shard of the silver blockchain stores transactions and state of a single client. Thus, the user doesn’t have to store the entire blockchain – he/she can store only the shard that comprises information related to this user – transactions, messages, smart contracts, states, etc. All transactions of the same client are always in the same shard.
Communication between nodes storing shards is carried out through the consensus of the golden blockchain.
3) In the subsequent levels, sharded chains can also exist. You can store unlimited amounts of data in them. In addition, you can create your own blockchains – independent shards with own consensus and token.
A shard in DapCash blockchain is something like a “shitcoin” which has a gateway to the main network. Tokens issued during the ICO and bought at the token sale can “flow” into other blockchain networks. The tokens obtained during the ICO automatically become the coins of a new shard (shitcoins). And such a shitcoin is immediately traded on the internal exchange.
The similar mechanism of shards is announced only at TON yet. As for DapCash, this mechanism is developed independently and is already being implemented in the related Kelvin project. Sharded blockchains designed for different purposes – it is, in fact, the substitute of Ethereum’s forks.