The DB3 Network is a start-up project to build a decentralized, permissionless platform for programmable data processing. Compared with the current popular file-based “decentralized storage”(e.g. Arweave, Filecoin), it plays the role of a database in Web3, which improves the convenience of data use and facilitates effective data retrieval and access for users.

You can experience data reading and writing from the test network, become validators, participate in the PoS consensus, and earn income.

Network Roles

In our network, temporarily, there are four roles:

User:

Users claim data ownership in our network. You could write into, modify, delete, query, share with others, or assign the access right to a third party, all the above data operations are supported in our network. At the same time, these operations need to be paid for because they consume the network’s resources.

dAPP:

dApp mainly assumes the intermediary responsibility of users to query or write personal data, which is an essential foundation for the prosperity of the entire network. Users interact with the internal storage logic of DB3 through the agreed smart contract logic in dApp to complete the data operations as above-mentioned.

Wallet:

Users can pay through the wallet, and the wallet will record the user’s credit balance and complete some necessary signature interactions through the wallet.

Validator:

Validator undertakes two important responsibilities in our network. First, stake and broadcast to ensure node consensus; second, because the nodes owned by Validator can provide resources for data storage and computing, the Validator also undertakes similar node services. Therefore, an additional service fee will be received, similar to the Saas service in web2.

DB3 Network

The network will include three parts: storage shard chain, settlement chain, and computing layer. The three work together.

A KV storage engine in the storage shard chain records the interaction process between each user account and the bill generated by the writing or query data process. Each node in the computing layer performs calculations through DVM. The generated calculation results are verified through DVM in the Mempool; the nodes in the settlement chain are responsible for the settlement and summary of the bills output in the storage chain.

The interactive process is in the following:

TestNet Application Scenarios

The overall network mainly implements the above “storage shard chain.” Based on this, we tentatively summarize the following two cases:

Decentralized social dApp

It is recommended that dApp developers use our TestNet to store part of the social information in advance, such as user profiles, follower information, and tweet information. At the same time, we are also making progress in optimizing persistent storage based on the existing Merkle tree solution. When the optimization is completed, the developer can store all the information of the tweet content in the DB3 network; you can find the brief introduction in our sub-project issue. In our Phase 2 development stage, when we finish the DVM computing layer, users can write smart contracts to process and implement the logic in applications such as payment tokens and mint NFT.

The current SDK use case:

Submit a mutation: write a follower name to my personal namespace.

// import the db3js
import { DB3, generateMnemonic, generateKey } from "db3";
// config the db3 node
const db3_instance = new DB3("http://node1.db3.network");
// subimit your follower data and store in your namespace
const response = await db3_instance.submitMutation({ns: 'my_namespace', gasLimit: 0.3, data: [{follower: lily}]}, private_key);

MySQL Real-time Hot Back-up

To ensure the effect of data read&write performance, the current dApps still maintain a set of centralized databases, such as MySQL, as part of their services. At the same time, to reflect its decentralized permanent storage characteristics, MySQL will synchronize some data to Arweave. But this synchronization is often asynchronous and non-real-time, and it is not easy to recover from Arweave, let alone operations such as indexing and querying. This approach is often only assumed to prevent loss.

Using the DB3 network, you can conveniently carry out a real-time hot backup of the database and restore your data from the network at any time, ensuring the stability of your application services. This way, your infrastructure’s purity of “decentralization” is further improved.

What’s included in DB3 TestNet

Users can write and query data in the chain and generate account bills. Our current tool packs include:

What’s NOT included in DB3 TestNet

Joining DB3 TestNet

Become a Validator

For the time being, you can support our network by running a node without staking. No detailed documentation yet, but you can contact us; running a node helps keep our network alive and increases the decentralization of our testnet.

I want to build my first decentralized database

Following Getting started to write some data

I want to contribute to the code

Our Github

Browse some design docs; Start coding from goodfirstissue; Discuss with us according the WIPissue.

Also published here.