It’s been a busy few months, and we are seeing the light at the end of the tunnel! In the process of getting ready for mainnet launch, the team has just rewired some critical components to the core protocol.

BOSS Storage Paper (https://drive.google.com/file/d/1tNjb_OvX93s47QQ2gFrfeUBdmP0PcL9k/view)

To read the specifics on this fresh layout, please check out our new papers on the 0chain storage protocol (BOSS — Blockhain Observable Storage System) and the 0chain token reward protocol.

The team elected to wait until these modifications were ready for release before addressing the third AMA from October. Now that these are completed, we’re happy to share the answers for the AMA.

Before diving in, it’s worth noting that the answers to these questions will be clarified in text and only text. It was great to get the team on camera for the first two AMAs, but due to the project ramping up on development efforts they’ll be quite tied up in the foreseeable future. As a result, Derick Fiebiger (Operations Director) will now be fielding questions for brief, weekly AMAs that will answer key community questions from the main telegram channel (www.t.me/Ochain).

With all of that clarified, let’s hop into AMA #3!

“Good questions. We’ve had some revisions to our token reward protocol. There will be a paper on the new token reward system shortly, but here is the short version: In our old design, miners/blobbers/sharders were rewarded with newly generated tokens being produced for a variety of tasks, similar to the way coinbase transaction work in Bitcoin. However, that made it difficult to connect some of the pieces effectively. In our new version, clients lock tokens to reward miners/sharders/blobbers directly for their work. So the basic concept of the economy is still the same — clients lock tokens and service providers get newly minted ZCN — but the two events are more directly connected. This makes our system more flexible overall, since if service providers are not happy with their compensation, clients can lock more ZCN to increase the service providers’ reward. As a consequence of the change in our token rewards protocol, some of the assumptions in our storage protocol have changed. For instance, generation attacks are much less of a concern than they were in our initial version. We’ve also added in some improvements to our design that we developed. We are working on a new draft of our storage protocol paper, which should be released at the same time as the token reward protocol paper.” - Prof. Tom Austin, author of 0chain’s Storage Protocol, complimenting the 0chain community on their questions:

____________________

The questions asked are derived from: https://www.reddit.com/r/0chain/comments/9kq5ah/topic_prep_conference_call_volume_3_featuring/. Below, co-founders Tom Austin and Saswata Basu team up to provide the answers.

Cryptolover165 asks: Sadly the global testnet has no subsecond finality anymore and is a little bit slower. I heard that there are plans to bring the finality-time back to subsecond finality again. How are these plans progressing? Will we see subsecond finality at or before mainnet?

Saswata:

Yes we have innovated in our communication logic between miners to achieve subsecond steady state block finality on a public network. We expect to show something in December.

sleepysnailss asks: Will it be possible to mine when using my notebook for normal usage, running in the background ?

Saswata:

Yes, theoretically, but practically you will be too slow to get any blocks generated successfully. A high bandwidth internet connection (~1–10 GBPS) will be needed to successfully participate.

digitalgandalf91 asks: How does 0chain tech compare to Dfinity? What are some of the similarities, advantages and disadvantages of each protocol?

Saswata:

The 0chain consensus protocol can be characterized as a variant of Dfinity. Advantages are faster finality, less energy waste, and security of network is based on stake. 0chain has faster finality due to our smaller active node set and faster communication protocols. Additionally, inactive pool nodes do not need to be connected to the network, sparing stakeholders on energy and cost resources.

Cryptolover165 asks: I would like to ask how the 0chain system will solve the following spam attack and how it solves spam in general? Lets say a possible competitor of 0chain buys now or later huge amounts of 0chain while the tokens are still pretty cheap. The competitor then locks these tokens to get a huge amount of free transactions. He will then use these transactions to spam the system. When all these transactions are used he will wait until his tokens unlock and then spam the system again. The 0chain system will be flooded with spam attacks again and again. Yes the 0chain system governance could be flexible and reduce the number of transactions that users per locked tokens get to reduce the spam but then the legit users will also suffer because they will also get less transactions. A centralized solution would be easy but it is not allowed to freeze assets because it is a decentralized system. I could imagine a vote system where miners vote to punish a malicious attacker but this wouldn’t help because the attacker holds many tokens to counter the vote. It is also difficult to determine if the spammer is rly an attacker or if he just uses the 0chain system in its full capacity for his own legit reasons. Spam attack scenarios are pretty common discussed in crypto so I think that the team already has a good solution for them. I just hope that these solutions are perfectly decentralized.

Tom:

In our new token reward protocol, miners lock tokens to generate transaction rewards for clients. If an attacker tries to generate a large number of transactions, they will drive up the “price” in terms of the tokens needed to lock transactions. Granted, if an attacker is has enough tokens, they can still flood the market with transactions, but their actions will raise the number of tokens required to lock per transaction. In doing so, they make the attack more expensive to carry out. (They also weaken their overall holdings in the system as a result — see the paper for more details).

If the number of tokens to lock gets extremely high, a client can also elect to sacrifice tokens to increase their transaction’s priority. We don’t expect that to be used typically, but it does give a client an option to get their transaction through if another client is attempting this DoS attack.

sculptex asks: Thanks for answering all my previous questions. I still have concerns about storage though. Currently you have 2 types stated, file and block and you also allow for incremental uploads where only blobber has Merkel tree. To be able to make changes to block does entire Merkel tree need to be regenerated?

Tom:

The files are divided into chunks before erasure coding. Only the Merkle tree for the chunk that changed needs to be regenerated.

Cryptolover165 asks: Does the team have plans for Ledger Nano S or other hardware wallets compatibility at or after mainnet release?

Saswata:

Yes, our plan is to integrate with those hardware wallets.

digitalgandalf91 asks: In this (https://medium.com/0chain/0chain-simplified-the-50-000-foot-view-50de0b78a131) medium article it says: ‘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).’’ I am having difficulty understanding how having a reputation based on amount staked and better equipment leads to more decentralization. In feel like it leads to exactly the opposite, more centralization. If a few high-net worth ZCN holders start mine from the beginning and start building reputation (which is what will probably happen) nobody will ever be able to come close to their ‘’position’’. How will new miners over time be able to build enough reputation to compare to the early miners with large staking bags? Will they be able to achieve the same profitability? Or is mining profitability the same for all selected nodes, so in essence, you only need to cross the selection barrier and then you have the same % reward as other nodes, no matter with bigger or smaller stake? Does what I asked above all depends because of customizable chains that can select the consensus conditions?

Saswata:

Miner selection is based on stake. Miners are shuffled out based on reputation. Reputation is based on your earnings relative to others in the current period. If your payout is less than others because of poor infrastructure, then you will be shuffled out.

Cryptolover165 asks: How does the “system” encourage blobbers (and miners and sharders) to regularly upgrade their hardware as technology evolves (new SSD, gpu, cpu, …) ? As far as I have understood better hardware doesn’t auomatically mean higher reward because rewards are coherently with staked tokens and not with performance of the used hardware. I heared that there will be a reputation system which somehow encourages miners, blobbers and sharders to have better hardware so can you go in detail about it?

Saswata:

The system encourages miners/sharders/blobbers to upgrade their equipment otherwise their payout or reputation will suffer and will not be selected as often.

Seder1 asks: I know this should be about the tech but I think it would be really interesting to know how this all started? From the idea onwards. What made you pursue this path and build this innovative tech? What is your personal opinion about the impact and disruption 0chain project can cause in the enterprise grade cloud and what do you think 0chain can shoot for in the most optimistic scenario regarding adoption?

Saswata:

It started when I was doing an agtech AI/IoT startup, and the difficulty of putting data on the blockchain that is inexpensive, fast, and scalable. Today the only successful implementation of blockchain is in fintech and supply chain. If we’re successful in having enterprise adopt dStorage as a preferred solution for a secure cloud storage at a lower IT cost, then it would be a huge impact to the enterprise industry

Cryptolover165 asks: Are there any roaming ideas to integrate an artificial intelligence into the future 0chain system to make it more effective?

Saswata:

Yes eventually once we have more data.

Cryptolover165 asks: Are there any plans to make 0chain transactions anonymous (like Monero for example) in the future?

Saswata:

Yes perhaps as a forked chain.

sculptex asks: Can you give us some more details about staking tokens? I assume amount is staked by client in advance for chunk of potential dstorage/dapp etc. but value (e.g. dstorage gb per zcn) can fluctuate during staking period. So after zcn increase, another client could secure much more dstorage for same zcn stake. So isn’t this a disincentive for long-term staking by client?

Tom:

Yes, but that is what makes the system work. Essentially, when clients lock tokens, they have temporarily spent them, but regain them after the locking period. So clients pay for services by sacrificing liquidity.

We actually use the term “staking” to mean something slightly different. Service providers “stake” tokens, which also locks them for some period of time. However, the service providers immediately gain some additional tokens to ensure that they do not have a disincentive to stake (provided that they don’t attempt to cheat the system). Unlike with locked tokens, however, staked tokens can be seized if the providers do not live up to their terms of service. (We had previously discussed having clients stake their tokens as well, but we’ve discarded this idea).

hansoncl asks: With Fidelity launching ‘Fidelity Digital Asset Services,’ and also having investments in block chain and AI startups, what impact do you think this will have on the crypto marketplaces and their influence with tech? What are you working on to make ZCN a more accessible option for the average person?

Saswata:

Our storage and secure wallet would be expected to make ZCN more accessible to the average person. Institutional infrastructure like Fidelity will help increase the purchasability and liquidity crypto assets.

sculptex asks: At end of staking period, will client have to download all data and re-upload or will 0chain have mechanism to facilitate this internally?

Tom:

For any blobbers that are continuing in their relation with the client, the data does not need to be re-uploaded. The client will need to re-upload for any new blobbers.

sculptex asks: Also if client and blobber have different staking periods how is this managed with no impact to client?

Tom:

One of the advantages of our token reward protocol is that these events are disconnected. Clients lock tokens to reward blobbers, but the mechanism for giving the rewards to the blobbers takes place over the period of their service agreement.

sculptex asks: For blobber challenge rewards, does type of data (frequently changed vs static) or amount staked affect rewards?

Tom:

With our revised storage protocol, clients release rewards with every chunk of data they upload, without regard for how much total data is stored with the blobber. So 100 MB of data uploaded 10 times costs the same as 1 GB of data uploaded once and never updated.

sculptex asks: How is this also protected from inflation/deflation? Is there any circumstance where client or blobber can ‘finish’ stake period early?

Tom:

Excellent question. This was the fundamental reason for the revision of our token reward protocol.

The client and blobber negotiate their terms at the start of their agreement. If the price of ZCN has changed dramatically, blobbers will adjust their prices accordingly. This design protects both parties from fluctuations in the ZCN price.

sculptex asks: Is there any circumstance where client or blobber can ‘finish’ stake period early? Even for unused portion?

Tom:

When a client locks tokens, they create a “pool” of rewards earmarked for the blobber. For every service provided, the blobber may draw a portion of these funds.

When the service period ends (either by the client canceling the agreement or by its normal expiration), any remaining rewards are given to the client instead. Their initial tokens remain locked, but they can spend the reward tokens as they wish. (If desired, they can transfer those tokens to a reward pool for a new blobber, making it as if they had locked their tokens for the new blobber all along).

Of course, clients could abuse this mechanism to reward themselves with new tokens. Rather than attempting to stop these shenanigans, we’ve embraced it — any token holder can lock tokens to reward themselves with new tokens. As a result of this design, things like generation attacks are no longer a major concern, allowing us to be more flexible in other parts of our storage protocol design.

sculptex asks: Considering erasure encoded across many blobbers, this seems a lot of work would be needed for a tiny change? Would it be better to define storage types (static unchanging, frequently changed, public, private etc.) and have different protocols for each? Obviously, unchanging data is easiest and could be identified by zero writes (other than initial).

Tom:

For the sake of simplicity, we want to minimize the variants in our protocol as much as possible, at least as far as the blockchain is concerned.

That said, the blobber and client are free to negotiate different modes, as long as it still fits with the protocol that we have established. We envision that developers on the 0Chain network might create alternate storage systems that still fit with our protocol design.

sculptex asks: What is overhead of erasure encoding model proposed? I have read around 60% is typical, this needs to be included in storage calculations.

Tom:

The overheard depends on the erasure coding setting. 10/16 erasure coding leads to 60% overhead. The client will have to bear the overhead . It will contribute towards storage quota allocated for the client.

sculptex asks: Please clarify what happens if client read/write allocation runs out.

Tom:

Clients may lock additional tokens to allocate more reads/writes. This action does not require the blobbers’ approval.

sculptex asks: Please clarify how price is negotiated for storage and how this works with multiple ‘random’ blobbers for erasure encoding purposes? If ‘cheapest’ blobber used for example.

Tom:

Because of the new token reward protocol, the blobbers no longer need to be selected at random. Clients and blobbers can negotiate directly.

____________________

Thanks for reading! 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/