QuarkChain (QKC), the ERC-20 token we're going to look into today, first appeared on my radar during one of my regular check for profitability of mining algorithms vs. my hashrate using WhatToMine. It recently jumped up to the top of the list and has been sat around there in the company of ETH, ETC and RVN as coins that my computer turns a little profit on. Then, a few days later I saw a post about the Kyber network adding QKC to their list of swappable tokens. My initial though was this is just another chain using the Ethash algorithm, however, upon taking a deeper diver I saw that there is a little more to it than that.
There are two main features that set QKC apart from being a straight up ETH copy both of which are quite exciting.
Firstly, the chain has implemented blockchain sharding technology. For those unaware what this is in effect it is a feature allowing the separation of side chains as a part of a main chain that can be governed by the needs of their own use case. That is to say side chains can be build around a purpose, rather than a '1 size fits all' mentality, indeed this on the cards as a future development for the ETH blockchain itself so to see it in action is interesting. Sharding is considered as a way to more efficiently use computational and storage workload to allow for higher throughput of transactions but making it so that a shard doesn't need to be responsible for the whole blockchain workload.
Secondly, QuarkChain have implemented a hybrid consensus protocol called Proof-of-Staked-Work, that is right PoSW. In doing so QuarkChain has adopted a PoS mechanism to be used along side PoW to incentivize individuals further by boasting up to 5 time the return of just mining ETH alone. Now I am a little skeptical by these numbers as I can imagine you need a few tokens to get started with the combined staking/mining and get those kind of rewards, but lets take a look at this process in a bit more detail.
So for QuarkChain there are two mining algorithms, the first is Ethash is the same as with ETH/ETC/CLO etc. and is used on the majority of the side chains as well as the root chain. Next there is a modified version of Ethash called Qkchash which is a CPU variant designed to support two of the side chains.
In addition to the PoW element miners can stake coins to earn a boost and maximize the profit output of their mining. What is nice about this is for miners with lower hashrates a decent stake can see you get considerably more returns for your hashing power than by mining alone. Indeed there is a handy calculator that gives an estimate of return relative to standard ETH mining based on your hashrate and stake.
Staking itself is performed via smart contract at the location below, this locks your tokens in for 3 days before you can extract them so not terrible when you look at some other staking lock-ins.
With our powers combined (PoSW)
If you don't get that reference then maybe I am getting a little old ;), or perhaps it is regional. Anyway, I took a quick look at the mining handbook (references at the bottom of the page) to see how the mining/staking would work to my understanding the flow is somewhat like this (with guides added as needed):
- ERC-20 token is transferred to the mainnet and converted to a QuarkChain coin for use within the ecosystem
- Next you find a chain you want to mine on using the calculator and your estimated hashrate, it will also give you a recommend staking amount
- From there you move the tokens to the appropriate chain public address in the wallet (http://mainnet.quarkchain.io/wallet) and stake them against that chain you plan to mine
- Then after staking you set up and mine to that same public mainnet address
- As you mine you're paid in QKC mainnet tokens
- When you want to withdraw you would need to unlock your stake and use the reverse token swapping process to get them back into ERC-20 tokens in order to be able to sell them via an exchange.
How the mining and staking interact with one another is actually quite interesting. Effectively, staking tokens against the chain broadcasts your intent to mine on that chain and incentivize regular mining with reduced difficulty. Reducing the difficulty means that you as a staked miner have a higher chance of mining blocks than if you were just going up against other miners with raw hashing power. Depending on how much you have staked you will see an allocation of blocks that can be mined on that chain in your wallet, this allows users to adjust their mining/staking amount to hit the sweet spot. Here is a brief example from the miner guide:
What about PoS or PoW exclusively
Interestingly this system seems to have been designed to take into consideration people who may have access to fund but no mining equipment and then other people who are in the reverse situation. Because the consensus mechanism allow for both it means you can actually form partnerships between stakers or miners to 'pool' your resources and to maximize efficiency of mining though staking which is a little different from traditional approaches. Or you can just go it alone.
The concepts suggested, a combination of PoS and PoW consensus mechanisms, is actually a nice trade off and allow for incentivization from both sides while tilting the PoW balance in favor of the energy efficiency gains you may see with an exclusively PoS system. That said as it currently stands the process to me seems a little clunky, there is the conversion of tokens (which looks to be facilitated by a third party), though using the qPocket wallet it seems like this process would be a little quicker. Plus the set up and directions provided by the QuarkChain team are not really as clear as they could be.
In terms of the on-chain developments I guess it remains to be seen what uptake will be like, one of the core goals of the project appears to be addressing high throughput of transactions and maintaining cost level. Which is, in part, addressed by the even distribution of mining resources over the shards as the number of shards increase. With a caveat being that the root chain would take up more resources in order to maintain its security. The combination of PoS also gives a mechanism by what QuarkChain could penalize malicious mining activity by confiscation of staked tokens, adding an additional level of security.
Definitely an interesting project to watch for the future, I may even have a go at mining this once I get my head around all the steps in the process.
Hope you enjoyed the guide, good luck y'all!
Donations Welcome (QKC): 0x46B756702b865AF30Cc0edba27e6d550e775A904