Quarkchain is arguably the hottest ICO of this year.
The hype is one of the greatest I’ve ever seen in this space! And I'm a veteran!So, what is behind all this excitement? My intention in this post is to, in a couple of pages, make you have a pretty good grasp of the idea behind the project, and have an overview of how the technology is going to work. Quarkchain approaches the problems that the generation 2.0 of the blockchain technology are facing in a very straight forward and easy to understand manner. In short, their goal is to increase the speed of the transactions, but in a manner that guarantees security and decentralization to the network. Also, to improve the quality of experience for users and developers, Quarkchain also has some other goals, such as the following: ⇨ Enabling seamless cross-shard transaction for user quality of experience (QoE); ⇨ Simple account management for clients; ⇨ Open standard to support various Dapps; In my opinion, the most interesting part of the Quarkchain Project is their System Architecture, and I consider it the main reason for why they are going to be able to reach their objectives. Today, blockchain generation 2.0 have the following approach: each block have to work as a ledger (which includes current ledger state, performs transactions, and records results), and each block also have to confirm the result of the transactions from ledger and then mine the block to reach desired difficulty. So, instead of doing that, QuarkChain adopts the divide-and-conquer idea to separate the two main functions in two layers and thus enhance the scalability while guaranteeing the security. The detailed design is explained next:
⇨ QuarkChain contains an elastic sharding blockchain layer, which contains a list of minor blockchains (shards). Each shard processes a sub-set of all transactions independently. Therefore, as the number of shards increases, shards can process more transactions concurrently. As a result, the system capacity increases as the number of shards increases;
⇨ QuarkChain has a root blockchain (rootchain) that confirms all blocks from sharded blockchains. The root blockchain does not process any transactions (since it is not economically efficient), but its block has sufficiently strong difficulty so that reverting any transaction, i.e., the transactions in root blockchain, is not economically efficient;
⇨ QuarkChain network is also designed to support additional shards in an active network. Adding more shards is easy and fast, while users barely sense this (the users may feel faster processing of transactions if the network is congested before adding shards).
Therefore, as it’s now easy to see, unlike many existing approaches that attempt to address the scalability problem by enhancing existing systems, QuarkChain is designed for scalability from the beginning. QuarkChain believes in the following values: usability (fast, simple), decentralization (public participation), and safety (reliable).
So now it’s time to understand how they are going to achieve decentralization: on Quarkchain, it won’t be necessary for the nodes to run a super-full all by themselves. If that was the case, centralization would be massive, since on a high-throughput blockchain system, running such a node would be extremely expensive. What Quarkchain does to solve that is to allow multiple honest nodes in a cluster to run as a super-full node. Each node in the cluster only validates a sub-set of chains. As long as the union of their sub-sets cover root blockchain and minor blockchains, we can conclude that they are able to fully validate the whole blockchains without acquiring an expensive machine!All right! That was a brief overview! My next post probably is also going to be about Quarkchain! I want to focus more on how exactly sharding will happen, in regarding to cross-shard transactions, and also describe the account management for clients. So stay tuned and follow my blog! Cheers!