Züs’ Private Data Sharing | Weekly Debrief April 5, 2023

Tiago Souza
Zus Network

--

Are you wondering how to securely share private information? Look no further than Züs’ decentralized private data sharing technology that puts security and privacy at the forefront. Keep reading to discover how Züs’ private data sharing works and our weekly update on current developments.

App Demos Update

After conducting our final testing, we discovered a few minor UI/UX issues in Bolt and Atlus. However, we have resolved these issues and anticipate releasing the demos next week.

Mainnet Update

Our team is currently working on merging two major pull requests: one for transaction fees and another for block management. We are also making progress on resolving most of the issues related to the 0box server in our private repository, and we plan to focus on load and benchmark testing next week. However, our main challenge is identifying and fixing the MPT bug that occasionally occurs in adverse conditions on the blockchain. Additionally, we are working on implementing a two-phase commit process for the blobber for robust file operations.

Storm of the Week

Züs’ private data sharing technology

Züs’ private data sharing technology ensures complete privacy and security. Files are divided into fragments, encrypted, and distributed among multiple storage providers. All shared files are kept safe from prying eyes and only authorized users have access to the shared files. Recently we added the following infographic to our website homepage. “How does Private Data Sharing work?”

(1) First, you upload a file to the Züs’ network.

(2) The file is broken down into pieces, and

(3) each piece is individually encrypted and sent to the

© Züs network, which is our decentralized storage network, as no single server will hold more than one piece of the file.

(A) Then to share this file to a friend, a proxy key is generated for the recipient, which will be later used to decrypt the file.

(B) This key is sent to blobbers but not directly to the user.

(4) The blobber re-encrypts the data, which is a process that allows the sharing of the encrypted data.

(5) The recipient user then decrypts the data with their private key, and

(6) combines the pieces to be able to view the original file.

Transaction fee fix

Last week, our team made significant progress in improving the transaction fee system tests on 0chain. We are pleased to report that after several major fixes, the tests passed in all cases.

The first one is that the network was giving an incorrect estimated txn fee of value `1` to clients after running the global config updates system tests. The issue was that the network did not parse the `1 ZCN` to `1e10 SAS` when re-load the `max_fee` configs, check the commit here.

The second fix was on the miner’s block generating process. Previously, the txns packing would be stopped and an immediate return would be triggered if the txn fee validation failed when selecting txns from pools. However, the txn should be ignored to continue to the next one, otherwise, any txn with invalid txn fee will stop the block generating process.

Beyond the fixes on 0chain, the main fixes on system tests end were to adjust the timeout and set the default timeout period to 3 minutes. There are mainly two ways to run a test case: 1) either running with default timeout period or 2) running with a given timeout. Most of the remaining test cases failed due to the given timeout value being too short, even shorter than the default timeout value. So, the team updated it to run with a default timeout if the given time is shorter than the default one. In this way, they only need to manually adjust the timeout for just a few cases rather than most of it.

The next step is to update loadtest code to enable txn fee so that we can see how it goes on stress and chaos tests later on. The Devops team will help on doing this.

Testnet stuck issue

Meanwhile the blockchain team will start resolving the testnet stuck issue and conduct a protocol to unblock the network in the case it gets stuck. This is still in a discussing phase while doing some minor tests to confirm if the proposal could work as expected.

Other issues:

In addition to the txn fee system tests, the blockchain team closed about 20 PRs on 0chain repo, and 10 PRs in gosdk, and several PRs on zboxcli, zwalletcli repos. The following are the core PRs:

0chain

The team fixed the panic on event processing, extended benchmark tests with MPT hash root mismatch checking, and fixed random map accessing. Also, they added `storage_token_stake` field to the global snapshot to be used to calculate average write price. `AvgWritePrice = StorageTokenStake / StakedStorage`. And, added miner, sharder and blobber total rewards fields to global snapshots, subtracted the challenge pool on blobber reward, and fixed `getblobbers` endpoint returns `saved_data` always zero.

Moreover, the team set the blobber selection algorithm to `random selection` rather than select the algorithm with randomness, removed min lock and interestpoolsc settings. Also they fixed locked ZCN calculation on adding to write pool, a miner/sharder register issue from txn fee PR, conditional checks for readpool token movement, and added new `is_available` field to blobber.

Gosdk

In addition, the blockchain added `fee_stats` api to gosdk and `is_available` to blobber on gosdk. Also, they fixed wasm nonce issue, a move file error (return error rather than general `conensus_not_met` error). Finally, the team listed allocation with pagination, and checked for min blobbers before failing upload.

About Züs

Züs (formerly 0Chain) is the most private cloud. Build your privacy solution. Store for total protection.

Website | Telegram | Twitter | Discord | GitHub

--

--