0Chain Weekly Debrief — September 22, 2021
Welcome back to week two of the 0Chain weekly debrief! This week, we dive into our progress on marketing (branding, website), on development of the core blockchain, 0Box, 0Wallet, and the Magma smart-contract. We are excited to share that we will have new liquidity options in the near future! Finally, our IT Ambassador Sculptex dives into Erasure Coding, an integral component of our storage network.
Non-Dev Updates
General Overview
Over the past week, the 0Chain marketing and communications team continues to work with our existing partners and potential new partners to streamline integration processes as well to explore new areas of potential collaboration. We also anticipate a new liquidity campaign in the near future.
Community
Over the coming weeks, we will be increasing our social activity and invite you to join! Each week, we hope to feature different thoughts, ideas, or artwork that our community displays. This past week, Space Force legend Ratnoid chimes in with what he hopes to hear more about in the coming future. Stay tuned for a thread soon!
Content (Tutorials, Website, Interface, Branding)
The first draft for the narratives was finalized for the interactive content. Additionally, the first iteration of the new logo was issued, which has been sent back with some recommendations for modification. Also, a new liquidity campaign is in its final strategy stage, exploring various ways to add more clarity to the campaign and its benefits.
The finalization of narratives creates a framework for which to build the interactive content off. This interactive content will be immensely beneficial in educating all sectors as to the basics of 0Chain and how it works. As 0Chain can be more easily understood by new audiences, we can execute more effective social scaling. The recommended adjustments to the logo will better match the new direction and marketing themes of the overall rebrand. A refined marketing strategy for the new liquidity resource will help community members to onboard and to limit points of confusion should any arise.
Growth (Partnerships, Exchanges, Liquidity/DeFi)
Our team has ramped up collaboration with our partners at this time, with an allotment of six developers working on integration points and features. While the dev team ramps up the integration processes, the business team continues to expand upon our potential use-cases with potential consumers and partners. We continue to build out test platforms with our partners, including storage allocation as well as potential NFT storage.
Development Team Updates
General Overview
This week we have released major and minor bug fixes across all layers, including our core blockchain and CLI applications. Regression test suite coverage for the entire system continues to increase in addition to the bug fix and feature work, ensuring we do not regress in future and crucially that our user experience and feature set matches our expectations.
0Chain is an enterprise solution for enterprise customers. The developments in this week alone have made the system more robust and feature-rich, improving on our already solid foundation.
0Box
This week, the team has compiled and summarized a list of issues and improvements for open source release. Following successful progress on the Android app last week, the team continues working with 0Box IOS/Mac video streaming. Continued efforts are being made to release our apps with the least amount of bugs, both for Android and IOS, to achieve an outstanding customer experience.
0Wallet
This week, the 0Wallet team has made progress on its current list of bugs and improvements. The team continues to work on both bugs as well as areas of improvement in order to streamline UX and UI. At this point, the team is over half way through its most recent optimization process. Similar to 0Box, these are important steps in order to release the app with as few bugs as possible while also enabling users to simply understand and use the applications.
Blockchain
This week, the core blockchain team has made progress on a few View Change issues while also addressing magic block issues and TPS issues that could lead to slow blocks or stalling of the network. In terms of View Change, we fixed the issue causing new miners to join slowly. This fix has enabled newly joined miners to start work immediately once View Change occurs when testing in the local network. While the team continues to dive into VC issues, these will be tested on a larger scale prior to launch with the Active Set.
A recent discovery of an issue with the ‘latest finalized magic block’ could cause the blockchain to get stuck. This situation arises if miners are on different ‘latest finalized magic block’, they could not verify the ‘VRF share’ with each other, then the blockchain would get stuck. (VRF is verifiable random function, used to generate random numbers that all nodes agree on — without this you could get a blockchain stall due to lack of consensus).
Recent updates on improving transactions with new code updates has resulted in significant reduction in transaction times, cutting the time by over 33%. In addition, the team has identified bottlenecks that limited the TPS; this remains a task to be completed over the coming weeks.
Magma
The Magma team continues its investigation into Magma smart contracts in order to optimize efficiency and align with network goals. This past week has been intensive on bringing new developers up to speed while also combing through code in order allow Magma smart contracts to run smoothly and without issue upon launch. Over the next coming weeks, we will expand upon our progress and anticipate more “fun” updates as this week is mainly code investigation.
Sculptex’s Use Case of The Week
A fundamental feature of the 0Chain storage platform is Erasure Coding of data. In summary, the Erasure Coding ensures our storage solution is able to retrieve data more efficiently, while requiring less pieces for its retrieval. Therefore, it makes it a more cost-efficient solution that can pair well along an economic model that is more transparent and reliable for all users. Fair warning: this week’s dive is rather technical. Enjoy!
Simple Parity Example
We need to store 2 binary digits between three data ‘nodes’, A, B and C. A and B store a digit each then C is (odd) Parity. If A and B are the same then C is 1. If A and B are different then C is 0. So possible ABC are; 001,010,100,111
As you can see there is always an odd number of 1s.
If A or B fails, you can still determine its value by seeing what value would be required to make the odd Parity. This would be equivalent to a 2/3 (2 of 3) or 2+1 in Erasure Coding. It is 66% efficient and has a failure tolerance of 1. If you had just had 3 duplicate copies of the original data instead to provide a failure tolerance of 2, the efficiency would be 33%.
Reed Solomon Erasure Coding
Reed Solomon Erasure Coding is a bit more complex as it encodes all parts in a certain way that you can reconstruct the data from any mix of the (Data) required number of parts. It still uses the Data/Total (or Data+Parity) notation. With EC10/15 (10+5), any 10 from the 15 total can be used to reconstruct the data. So this would tolerate up to any 5 node failures and still be able to reconstruct the data from the remaining 10. It still has the same efficiency of 66% as the 2+1 parity example (excluding inefficiency of small files) but the chances of >5 failures compared to >1 are exponentially smaller. By comparison, 6x duplication of data would also give a failure tolerance of 5 but only 17% efficiency!
Of course with more nodes, the chances of at least one node failing does increase substantially, so using very high EC ratios is a bad idea and ends up decreasing efficiency. The key to minimising this effect is to ensure node Reliability.
Reliability
Of course, failures do happen and Hard Drive failures are typically around 1% per annum. But on evaluating other distributed storage platforms, I discovered the node failure/unavailability rate to be an order of magnitude above this failure rate. It didn’t take much to realize that by appealing to home users with spare storage, those platforms are attracting casual providers with no commitment. Sia allows a node to be offline for the whole of a contract period but they still get rewarded as long as they are online for the last day! Storj doesn’t require any collateral and delays its payments instead, but this has the effect of node operators not feeling discouraged.
I believe that staking requirements along with the integral challenge protocol with real-time monitoring and rewards will provide the ideal reward mechanism, ensuring high reliability while giving high transparency to end-users.
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.