Happy Wednesday! Yesterday, we released a teaser video, check it out on our website. With all that is about to come, the team and our beloved community is feeling very excited. In this update we cover some as exciting new about MPT reading updates.
Now let’s dive into our weekly update! Last week, the blockchain team mainly focused on fixing a newly detected state hash mismatch error. This error caused the network to be stuck. They made a fix to prevent the potential state hash mismatch error when computing a block state. In addition, the team closed several PRs and issues on Züs, blobber, and gosdk repos. Also, the team continued working on the unit test/system for batch-update PR, which is expected to close in the next few days, leaving the focus on the blobber upload issue. More details about the fixes are below:
State hash mismatch error fix: this error was mainly caused by the concurrent MPT reading. The responses were handled in random order, therefore leading to different states getting compounded among miners/sharders. To avoid similar potential errors in the future, the team implemented a safe way to get items from MPT reading concurrently.
Also, they detected new places that did not return the invalid state error of ‘node not found’ upward hence; miners that have full state will have different computed states from miners that do not have the state fully synced. Since this type of error is recurring, in this PR, the team implemented a state context errors variable to record all possible ‘node not found’ errors when accessing the MPT, so the errors are recorded automatically. The team will check the errors immediately after computing the state; in this way, the invalid state errors can be caught automatically, and save time.
Optimized how sharders are rewarded, so only the sharders who are online and provided service are rewarded. Fixed a bug in the saving state pool when committing read markers because the stake pool was being saved to the wrong ID when moving tokens.
Implemented an unconfirmed txn pool review diagnostic page.
Fixed unit test errors, lint errors, and updated with the latest staging code.
Fixed API tests in system tests, and a bug on removing blobber from allocation.
Separated validators’ keys from blobbers. Previously, validator and blobber pairs shared the same wallet key, which would cause the transactions to fail due to past transaction nonce errors.
Added API in blobber to serve challenge timings history, which will be used for chart visualization during load tests and potentially on the blobbers’ page as a table.
Fixed part of the blobber upload issue along with a bunch of code refactoring.
Fixed errors in gosdk request consensus code.
Hope you all enjoyed the update! Stay tuned for the next and very exciting days ahead!
Züs is a high-performance storage platform that powers limitless applications. It’s a new way to earn passive income from storage.