The 0Chain platform was announced in 2017, and a beta version of the network was launched in 2020. The platform was created for decentralized storage of large amounts of data and conducting transactions. The most significant features of the platform include high-performance data storage, private and anonymous sharing, immutable ledger that allows GDPR compliance. The platform is constantly evolving, and its team creates new products: storage for businesses and individuals, a wallet, a data lake based on Oracle and AWS cloud services.
The platform development required a strong team with experience developing platforms based on blockchain technologies and decentralized data storage.
Product Owner
Project manager
UI / UX Designers
Analysts
Developers
QA
Android, iOS, Golang, Vue JS, Docker, Nginx, MySQL
The idea behind the 0Chain is close to our EVEN Network blockchain, so we were ready to start our cooperation immediately. Both teams create high-speed blockchains with low transaction costs and efficient distributed data storage. Both platforms are also written in the high-performance Golang programming language. At the same time, the architecture and implementation of the 0Chain platform are original. To participate in the 0Chain project, we dedicated experienced specialists from our team with a high level of expertise.
We develop two types of nodes in the blockchain network — miners and sharders. Miners produce blocks and confirm them via consensus algorithms. Sharders store blocks and distribute metadata of the blocks included in the chain over the network.
In 0Chain, the process of block generation is called a round. The process starts with the random selection of higher and lower rank generators. They produce a block and distribute it over the network for verification and notarization. Other miners respond by sending block verification tickets. Once receiving a sufficient number of tickets, the block is considered finalized, in other words, accepted in the network. Then it is distributed among network participants as a finalized block.
We have implemented Byzantine tests for the consensus protocol for miners and sharders when producing a chain of blocks. In particular, we tested the tolerance to network faults — nodes must restart and continue to participate in the process effectively: receive and save finalized blocks, participate in voting in the current and following rounds. We carried out load testing in context when messages were re-sent and measured the consequent speed of the network. We modeled interaction within the network, the behavior of malicious nodes, detected and fixed the incorrect operation of nodes.
We worked in a test environment deployed in Docker containers using Kubernetes clustering technologies. The beta version of the 0Chain network is now publicly available, and its official release is expected shortly.
As our cooperation develops and new versions of the 0Chain platform are released, we will add more information to this case.