It has been an exciting week here at Züs, as we continue to push the boundaries of technology. The week, we have implemented several new updates to blockchain. We also discuss the topic decentralized identity management in Web3. Keep reading to find out more.
Mainnet and Apps Update:
We are actively working to improve backend upload and download speeds, with an expected completion by the end of this week for implementation across all apps. The integration of backend changes for the streaming feature is also targeted for resolution within the same timeframe.
Regarding the release of Chalk, substantial progress has been made, and we anticipate a likely release by the end of the following week. Successful load tests have been conducted, and this week we will proceed with chaos and DDoS testing, followed by app tests. Once these tests have been successfully cleared, we will then engage the active set.
Taking a conservative approach, we acknowledge the potential for adjustments to the timeline and unforeseen challenges that may arise during the process. Our top priority remains the delivery of reliable and optimized performance for our users.
Storm of the week:
Decentralized Identity Management in Web3
In the context of the Web3 world, issues surrounding identification emerge as significant concerns. How does one verify their identity while ensuring data security and privacy? Moreover, in a decentralized internet era, who holds authority over these identities? These questions are discussed in the article from Coindesk: To Identify or Not in a Web3 World
How Züs solves Decentralized Identity Management in Web3
As a response to this article, I argue that the most secure and effective solution to this identity issue in the Web3 world may lie within blockchain-based decentralized storage systems, such as Züs:
- User-Controlled Data: Züs Network operates on a decentralized data storage model, ensuring users have full control over their information. This model enhances privacy as users can decide when and with whom their identity information is shared.
- Data Encryption: Züs leverages robust encryption measures to secure user data. The data stored on the network is encrypted, ensuring the privacy and security of the user’s identification information.
- Blockchain Verification: Utilizing blockchain’s inherent nature, Züs can provide immutable records that offer a reliable form of identification. In this scenario, a user’s public key can act as a unique identifier that’s verifiable via a blockchain explorer.
- Private Sharing: Züs also facilitates secure data sharing. When users need to verify their identity, they can do so without surrendering control over their personal data.
Therefore, with decentralized control, data encryption, verifiable blockchain records, and private sharing, Züs Network presents a comprehensive solution for identity management in the Web3 landscape. Users can share their information, when necessary, without having to trust a third-party service with their data. It assures users can authenticate their identities while maintaining the utmost privacy and control over their personal data.
Last week, the team focused on closing backend issues in the 0chain, blobber, and gosdk repositories. Also, the team closed a few old PRs that had been open for weeks or even months by fixing system tests and minor errors. In total, 16 PRs were closed in 0chain, 11 PRs in gosdk, and 7 PRs in blobber. Let’s explore the details below:
The team merged the future transactions limit PR, which involved a discussion about whether to process “past transactions” immediately when detected, ignore them, or postpone the process until block finalization and handle it in a separate worker. The decision was made to remove the past transactions immediately upon detection to avoid potential duplicate nonce attacks and simplify the implementation. You can find detailed information about the discussion in the PR.
Furthermore, the dev team fixed and merged the panic/recover issue caused by transaction value int64 overflow. Previously, the team did not check the value of the submitted transaction when receiving it, which could introduce int64 overflow and cause a panic when the smart contract tries to store the overflowed value in the event database. The issue was fixed by checking if the transaction value is greater than the max token supply during both the receipt and packing of the transaction.
Max token supply
There was also a discussion about whether to add the max token supply constant to the github.com/0chain/common/currency package. After considering that the max token supply is data and the currency package works as a utility package, it was decided to hold the constant in the 0chain repository. The recent overflows detected were either due to invalid data causing int64 overflow or incorrect usage of the currency package (failure to check errors). Therefore, as long as the currency package is used correctly, it should be sufficient to detect token overflow issues. Further details can be found in the PR.
Fixed the negative write pool value in the event database, which was a similar issue to the transaction value overflow. It was partially fixed in the above-mentioned PR 2462 and completely resolved in PR.
Replacement of Cassandra with rocksdb
Another significant PR that was merged involved the complete replacement of cassandra with rocksdb. This decision was made due to recent issues with saving transaction data into cassandra, causing sharders to panic during system tests. The removal of cassandra simplifies the sharder deployment process and speeds up the sharders’ boot-up speed, consequently improving the network deployment speed. Additionally, the replacement with rocksdb may offer benefits in terms of read/write speed, which will be evaluated through benchmark tests. The PR also includes the upgrade of rocksdb to the latest version and a change in the gorocksdb wrapper to github.com/linxGnu/grocksdb. Further details can be found in the PR.
Beyond the fixes mentioned above, the following are the core fixes in both 0chain, gosdk, and blobber repositories:
- Fixed allocation duration becoming too short
- Added functionality to get blobbers by IDs
- Fixed conductor tests CICD
- Fixed conductor tests issues
- Removed foreign keys on users
- Removed storage.root_dir config to simplify the blocks storage usage
- Fixed panic in conductor tests due to double close of channels
- Fixed negative write pool
- Removed commit meta
- Fixed s3_migration_cli_branch input issue
- Upgraded bls-go-binary to v1.30.4
- MultiOp conflicts fix
- Bridge.yaml to config.yaml refactor
- Passed custom txnFee for burnZCN smart contract
- Exposed wasm updateAllocationWithRepair
- Fixed submit transaction return error early
All in all, Züs is an innovative solution to decentralized identity management in Web3 with its decentralized control, data encryption, verifiable blockchain records, and private sharing. The Züs team has worked tirelessly over the past few months, closing issues, providing fixes and updates to the blockchain to ensure our platform meets the highest industry standards. Keep your eyes peeled for further updates as we anticipate a new era of blockchain storage.