0Chain Weekly Debrief — November 9, 2022

Tiago Souza
Zus Network

--

Happy Wednesday! With all the recent tumults in the markets regarding the FTX halting withdrawals it is important to highlight the importance of protecting your crypto funds with your own keys, ideally on cold storage.

AMA with our founder Saswata Basu

With that said, next Thursday on the 17th, we will have an exciting AMA with our founder Saswata Basu where he will talk about our rebranding of a new app ecosystem. We are very excited about this event and invite everyone to participate and ask questions!

This week’s Update and Fixes

Now let’s dive into this week’s update! Last week the team focused on fixing a few network stability issues. They also adjusted transaction costs and fixed a miner and sharders staking issue that existed for a while. Moreover, they fixed a chain stuck issue caused by optimizing the way to find missing MPT nodes when they grow large. Also, they refactored the processing of all events from a block with the transaction, now it will be possible to roll back events if any error happens. Although other issues were fixed, the PRs are awaiting code review to be then merged. Check for more details below:

Chain Stuck Issue

Fixed the chain stuck issue due to the missing nodes sync process failure. When the chain gets detected, the state syncing process will start to work. Previously, it would go through the whole MPT from the root to gather all missing nodes and then sync the missing nodes from the remote. However, this process would not work when the MPT size was too large because the missing nodes locating process would always timeout and nothing would be synced leaving the chain stuck. Instead, in this PR, the whole MPT checking process will be abandoned and the path for the missing node will be recorded when computing the block state facilitating the finding and syncing of the missed nodes. After applying this fix, the chain recovered from the stuck. This PR is still being reviewed.

Miner’s and sharder’s staking issue

Fixed miner’s and sharder’s staking issues. The load tests detected this issue weeks ago, but now the team was able to fix it. Offline miners and sharders were not allowed to stake, however, this was not necessary as these would not be rewarded by default. So it is safe for them to stake even when offline. Another problem was a bug in payFee transaction that failed to activate the pending delegate pools. This PR is being reviewed.

Fetching Missed Blocks

The team stopped sharders from fetching missed blocks after the block sync process was done. Fixed to process events in a transaction so that if any process is failed, it can roll back to avoid the event database getting interrupted.

GetStakePoolInfo

Moreover, they made GetStakePoolInfo generic by replacing the parameter blobber_id with provider info. These changes were also needed in clients and merged in PR https://github.com/0chain/gosdk/pull/595 and https://github.com/0chain/zboxcli/pull/309.

Fixed empty writeMarker

In addition, they fixed empty writeMarker, added VRF attack byzantine test cases, and validation for provider type String() method to avoid panic. Also, users will now be notified when their local time is not synced by checking the transaction creation date in the transaction API. Finally, the team fixed the slow block query for none exit rounds issue.

Blobber & gosdk Updates

Added move handler. This PR made the move operation atomic. Previously it would be a copy + delete. With this change, clients will not be charged for the copy operation.

In addition, the team fixed an issue where the admin username/password did not work as expected. Completed a workaround fix for the API consensus issue on blobber, updated blobber SDK. GetBlobbers() to return active ones only and added a removeAuthorizer method to zcnbridge. Lastly, fixing a panic issue and a sync issue that when checking for changes hashes, the remote hash should be checked to decide whether to upload or not. allocation.

Developer Resources

  • Interested in learning more about building on 0Chain or becoming a service provider? Check out our GitHub for access to repositories. Community ambassador Sculptex has created numerous tutorials to help get you started.
  • Try our BetaNet here! Users can create wallets and allocations, store files, send transactions, and share files.
  • Need help navigating creating wallets, allocations, or joining as a blobber? Check out our documentation page.
  • 0Chain’s API endpoints use simple and intuitive HTTP requests to interact with the blockchain in order to send/retrieve information to and from miners, sharders or blobbers in the active network.

About 0Chain

0Chain is a high-performance decentralized storage network designed to eliminate business threats such as censorship, privacy liability and data breaches. 0Chain helps entities achieve GDPR compliance, localization and tokenization, and monetizes private data sharing.

API| Docs | Telegram | Reddit | Twitter | Forum | GitHub

--

--