Join Bluzelle Beta testing and get going for free

By Neeraj Murarka

Bluzelle is a NoSQL key-value store database, comparable to Redis. The database is a test network, and should be used for staging, development, and testing only. It is free to use.

After a year of solid work, our team is proud to introduce the beta version of the Bluzelle database. With this release, our objective is for all developers to discover the benefits of a decentralized database. The internal release name for the beta is “Bernoulli”, named in honour of the Swiss mathematician and physicist, Daniel Bernoulli.

Below, I’ll go into the new features of the beta release, and get into the specifics on how to use Bluzelle.

CRUD operations

The database has a CRUD API that provides the four fundamental functions:

Create a new key value pair Read an existing key value pair Update an existing key value pair Delete an existing key value pair

Read speed

Data is replicated across all the nodes in the Bluzelle network and spread across the Internet. Currently, we have seven nodes that are located in:

California Ireland Germany Singapore Hong Kong

The network is by design geographically spread out to achieve our goal of having the data available as close as possible to where the demand for that data is coming from. This minimizes latency, improves performance, and is a key aspect of Bluzelle’s most important goal — faster READS than any other cloud database in the world. As more nodes join the network (using the Bluzelle trustless consensus engine mentioned below), the density of nodes scattered across the planet will increase, thereby reducing the round-trip time for database requests. As the network grows, we expect the globe to be saturated with nodes storing and managing data for Bluzelle customers. These nodes will cooperate to ensure that data is available as close as possible to where demand is, maximizing performance.

Key Features

The Bluzelle beta brings three key features of interest to developers:

1. Bluzelle PBFT consensus engine: This is the algorithm we have implemented that allows all nodes to maintain the same state machine and to propagate transitions to this state machine performantly and accurately across the network. PBFT simultaneously accounts for network issues, outages, and most importantly, faults and attacks that might come about from nodes. Keep in mind that as a trustless network, nodes are not vetted. Once 3rd party (non-Bluzelle-hosted) nodes join the network, PBFT will be especially critical.

2. Permissioning: Utilizing the PBFT consensus engine’s own security models that are predicated on public key asymmetric cryptography, the beta requires every client and every node on the network to have their own 256 bit public/private keypair. Every CRUD operation must be signed by the requestor’s private key, thereby proving their identity. This signing is done implicitly by the CRUD API, and is transparent to the developer. The developer can read from any database they know of (identified by the database UUID), but can only perform creates/updates/deletes on databases they own. A database itself can be created initially by its owner, deleted later on, and have writers assigned to it or removed from it. Identities of owners and writers are always defined by the public key of the party. Only owners can manage who the writers are, and delete the database itself.

3. Bluzelle Studio: This is our official web-based CRUD client, specifically built for the Bluzelle beta. To use it, you provide the name of the database (UUID), and specify the local file on your machine that stores the private key PEM file that will be used to sign your requests. Once logged in, CRUD operations and permissioning operations become available to you, depending on your access permissions to that database. Note that your PEM file and its contents are only ever used for localized signing — the key itself is never transmitted over the wire.





Library Support

Currently, the Bluzelle beta has support for Javascript applications, including node.js. In coming months, we will be adding support for Python, C#, Ruby, PHP, Go, and Ethereum Solidity-based smart contracts.

Quick Roadmap Synopsis

Bluzelle’s next major release will be our general-availability (GA) database product. It is internally named Curie, in honour of the physicist, Marie Skłodowska Curie. It will be released at the end of June, 2019, in observance of Bluzelle’s protocol of shipping major releases every six months.

Over the next six months, Bluzelle will be routinely updating the beta with bug fixes and iterative improvements, all that lead up to the GA product. Your feedback in the next six months will be very valuable. Expect releases in June to be even closer to the GA feature set.

Join The Bluzelle Beta Program

We invite you to take part in the Bluzelle beta testing. With the support of beta testers, we are able to elevate our DB solution to a higher quality level before launching our main product. As a participant, you can share your ideas, and together, we can create the best product possible. Enjoy the following benefits through the beta testing: