heroImg

Allocation Smart Contracts | Züs Weekly Debrief  (May 11th, 2022)

Chad Hanson
May 11, 2022
News & Updates

Happy Wednesday everyone! Hope you are all doing well. Despite the current trend in the crypto space, our team continues to build while releasing a few critical updates. This week, we saw some key PRs pushed through that have been worked on for long periods of time. As noted in the past, some of the key areas of focus prior to Active Set testing included PRs that addressed/optimized transaction nonce, allocation smart contracts, challenges, rewards, etc. One major milestone this week includes the merging of our transaction nonce. Let’s take a closer look at some of this week’s progress. Next week, you will see the return of some content from Sculptex. As he discusses one of his Proof of Concepts.


Non-Dev Team Updates

As reported by multiple community members on Telegram and Twitter, an issue was discovered on our landing pages for our wallet and storage application. The team is currently working with the devs to look into the issue and implement a solution. Thank you for your patience while we are working on it and we appreciate your help in reporting the issue.


Development Team Updates

Over the past week, the blockchain team closed nearly 15 PRs and 12 issues. They opened an additional 10 new PRs in the Züs repo. One of the main repos that were closed was the transaction nonce PR. One of the developers notes that the “transaction nonce PR took enormous time as we fixed several big issues together through it. It was a big multifunctional PR that will help the blockchain run smoothly. It required collaboration with the front-end team for UI implementation.” While the team continues to address other key components prior to Active Set testing, this is a major step forward and is the result of rigorous testing and debugging.

Transaction nonce is like a version number, similar to the nonce in Ethereum. This allows users to create an ordering of transactions. For example, if a transaction were to get stuck for some reason, such as too low of a gas fee, a user could submit another transaction with the same nonce and a higher gas. When the transaction with the higher gas fee goes through, the other transaction cannot be completed as a nonce cannot be reused.

Blobber Selection

Last week’s update discussed a few other PRs that were nearing completion, including the blobber selection randomness. As noted, this PR improves the manner in which miners challenge blobbers by increasing the likelihood that a blobber with a higher used capacity will be challenged more often. In addition to the completion of the challenges PR, we also saw the implementation of TTL of open challenges, which prevents challenges from infinitely piling up in memory which can impact node performance.

TTL PR includes the above-mentioned changes.

Other improvements on the blockchain end include the addition of the rewards table to the event db as well as fixing duplicate blobber block reward transactions. Through this, we ensure that historical reward information is available via API. Also that the network is rewarding service providers as per tokenomics outline. Some of the current dev updates include changes to the tokenomics, which promote blobber onboarding and network adoption. Also updates to allocation smart contracts. These will be released following the rebranding.

The team also fixed a goroutine leak issue that occurred on fetching blobbers from the MPT, which improves node performance and prevents overutilization of node resources (everyone’s favorite update: an optimization). This PR fixed a serialization issue for zcnsc and an issue that caused the zcnsc configuration not to load properly. The team also merged a PR that removes unused fields from the MPT object.

Testing

While many of these updates are being implemented and merged to different branches, our rigorous testing helps us identify issues that lead to a few of the optimizations noted above. As we have added in a few major PRs, including transaction nonce, the team was required to update some testing processes to include these new features. They have currently added more unit test cases for changeBlobber function as well as fixed the benchmark tests code.

Speed and Performance

Asides from the aforementioned code merge, the team continues to work on a few critical PRs. These will boost network speeds and performance. Despite still undergoing some work, the allocation PR is nearing completion with only a few minor changes remaining. This PR, which removes the ALL_BLOBBERS_KEY from the MPT, will help with performance gain. This is a major PR as it is related to all smart contracts that interact with blobbers. Just yesterday, we also updated our gitactions which helps with conductor tests. Our miner reward PR was just approved after rounds of testing and review.

Blobber Updates

The Blobber team continues to work alongside the blockchain team, closing 5 PRs and 4 issues on the blobber repo. These PRs/issues are not as many fixes, but rather continue to make progress on the ongoing disk utilization enhancement PR. This PR will address a variety of issues including one that tracks the amount of disk storage on the fly. As allocations are started or ended, and that space is occupied by data, we need accurate data streams tracking these metrics.

Meanwhile, a script was added to monitor the used capacity for blobbers. Other areas of completion and focus include limiting the number of files/directories in allocations, implementing a fix for blobber urls that would not update properly, and investigating the use of Request Body in the DELETE http header request. These updates work to improve the performance of blobbers to ensure the faster performance of the storage network and help prevent performance bottlenecking when the network scales.


About Züs

Züs is a high-performance storage platform that powers limitless applications. It’s a new way to earn passive income from storage.

Latest Articles
Tiago Souza
September 27, 2023

Cloud Cover AMA / Healthcare Data Privacy: Mark your calendars for Ecclesia #24, our upcoming Züs Cloud Cover AMA, scheduled for tomorrow, September 28th, at 9 AM PST. Join Saswata as he discusses the latest developments of Mainnet and the ongoing progress of the Active Set. Your participation is invaluable to us, and we welcome you […]