*For more granular tech questions on 0chain’s protocols, Prof. Tom Austin is doing our AMA this month! Please direct (and post) your questions in this Reddit thread: r/0chain/Tom_Austin_AMA . Questions close on October 15th!*

A lot of people ask, “What is the 0chain Protocol?”

The 0chain Protocol combines two main things: a Token Economic Protocol and a Consensus Protocol to achieve enterprise grade storage and blockchain services. There are a whole host of other areas the 0chain blockchain is innovating on — including: interoperability, governance, secure software wallet technology, decentralized computing, decentralized exchange, smart contracts, self-forking chains with customizable node sets (based on speed vs decentralization needs) — but for simplicity’s sake we can condense it into the aforementioned two main things: token economics and consensus.

How do our Token Economics work?

Everything in 0chain revolves around staking and locking your tokens for a fixed time period on both the Service Provider and User side. In every blockchain there is a Service Provider side and a User side. The Service Providers plug in all of the necessary “tech” required to provide the great services a blockchain can offer to the User. In Bitcoin, they run ASIC mining rigs to generate blocks and confirm transactions sent by the User. In 0chain, we run miners, sharders, and blobbers to generate blocks, store the blocks, and store data (structured and unstructured data) for the User.

Who exactly are the Service Providers in 0chain?

The Service Providers can be distilled down to: miners, sharders, and blobbers.

The miners stake (and lock) our ZCN token to mine blocks and earn rewards.

The sharders stake (and lock) ZCN to store the mined blocks (plus the structured data within those blocks) and earn rewards.

The blobbers stake (and lock) ZCN to store unstructured data (think things like photos or other files that you might upload to a service like iCloud or Dropbox) and earn rewards.

Who exactly are the Users in 0chain?

The Users can be distilled down to anyone who wants to use the 0chain services: file storage, data storage, transactions, eventually compute, etc. In order to use these services, the User will buy our ZCN token and stake it for a fixed time period. Once staked, they pay no “per transaction” fee on the services, unlike other blockchains (e.g., gas fees on Ethereum).

Think of the ZCN token as a “ticket” into the 0chain theme park. Once you’ve purchased the ticket— meaning, you have determined the scope of services you want, and acquire the requisite ZCN tokens (the network indicates to the User this “going market rate”) — you hand the ticket over to the 0chain theme park — meaning, you stake and lock up your ZCN for a fixed time period. After this point you can ride all of the rides for no cost — meaning, you can now send transactions, store data, run contracts, etc. for free.

Unlike every other theme park, however, 0chain returns your ticket — meaning, the network unlocks 100% of your staked ZCN and returns it to you. After you’re finished, you can then re-lock for another round of rides, or sell that ticket at market rate to the next User.

All of this creates a network in which:

The ZCN token is incredibly “rare”, due to both Service Providers and Users locking their ZCN for a fixed time period and thus removing it from the circulating supply.

The User, whether it be yourself, Enterprises, Grandma Sue, small startup companies, Exchanges, or Dapps, can convert services that are conventionally billed out as sunk costs into a recoupable cost. In other words, instead of paying per use and never getting your money back, you buy ZCN as your “ticket for services” and can sell it at the end of the term. ZCN is an asset that can later be sold on the market at completion of the fixed locking period.

Service Providers are paid out profitably from the reward scheme and, due to “token locking” taking tokens out of circulation, the impacts of inflating supply from mining rewards are drastically minimized (if not entirely eliminated/reversed, depending on network activity). For more information on mining profitability you can head over to this article here.

You can immerse yourself into our academic paper explaining the 0chain Economic Protocol here.

How does our Consensus Protocol work?

The 0chain Consensus is still being tested out, so there may be some slight changes upon mainnet launch. As of now, the general plan is to have a maximum pool of 1000 miners on the main chain. From this pool of 1000 miners, 100 miners and 30 sharders will be selected per round. There is no fixed time for each round, but the average length of a round is ~3 months.

The active set selection, the order in which miners are expected to generate blocks, as well as the order in which sharders are expected to store the blocks, are all executed randomly and algorithmically. Part of this algorithm enables miners to build up reputation, like an Uber driver, and this increases the likelihood of their selection. High reputations and high staking amounts (more collateral) improve your likelihood of selection. The better your chances of selection, the more profitable your mining operation will be. Altogether, the benefit of this selection process is it improves the decentralization of the network, it prevents “bad actors”, and incentivizes productive miners/sharders (and penalizes poor performing miners/sharders).

Once the active set is established, miners will generate blocks and sharders will store the blocks. This goes against almost all conventional consensus protocols, as miners usually handle both block generation and storing the blocks. By splitting these tasks up, we get a very fast and lightweight block generation process (and lightning fast finality!). Miners can focus on getting the blocks in quickly, and sharders can worry about keeping the blocks organized and stored on the ledger. Once the round is over, the active set is shuffled and re-selected from the pool of 1000 miners, and we begin the process once more.

How does dStorage interact with Consensus?

As mentioned previously, blobbers store all the files for users. It functions more like Uber, where the blobber sends their preferable “rate” for storage service. The blobber will agree to a certain rate of storage, say in GB, at a certain fixed rate of locked ZCN tokens. The blobber will send this to the miner. The user will login and see a “going rate” for storage service. All of the rate setting is handled on the backend between the blobbers and miners.

Once the User decides to use the service for the listed rates, an agreement is secured and a fixed locking period is determined. The User locks their tokens to receive the service, and the blobber locks their’s to provide the service. The User will then be able to upload files as they please, and the blobber will store them. To ensure they are being stored properly via the blockchain, the miners will also challenge the blobber periodically to make sure the blobber is storing data as they say they are. If the blobber passes the challenge, they are paid accordingly.

Reminder: this is a very simplified, 50,000 foot view on 0chain’s dStorage. For more technical details on how this will unfold, please check out our academic paper explaining the dStorage Protocol here.

Thanks for reading!

Hopefully this high level write-up either provides a nice starting point on 0chain’s sharder/miner/blobber mechanics, or adds a little more clarity on how everything will function together. Again, this only scratches this surface. There is so much more in store! We will have self-forking customizable chains that can select the consensus conditions (so if you want faster or more decentralization, you can create it and use our mining network to do so), this combined with interoperable chains and smart contracts creates a world of possibilities.

Thanks for reading through this brief layout of the primary ideas 0chain has built (and going live with very soon). If you are looking for more details on consensus and mining, we are targeting the release of these papers within the month (October/November 2018). If you are looking for more details on storage and token economics, please head over to www.0chain.net/research and check them out.

Also, please join our community and check out all of our 0chain media links:

Telegram: https://t.me/Ochain

Telegram Announcements Channel: https://t.me/ZCN_announcements

Twitter: https://twitter.com/0costcloud

Facebook: https://bit.ly/2P6hbh9

Reddit: https://www.reddit.com/r/0chain/