End of September Bluzelle DB Development Update
Progress on Bernoulli Release
As expected, the Bluzelle team is heavily focussed on the Bernoulli release slated for the end of 2018. Following is an update on the progress of the two key deliverables expected for Bernoulli:
PBFT consensus — This is the most important deliverable. PBFT is already close to completion for internal developers and is undergoing heavy testing now on our private developer testnet. PBFT is key to trustless computing that enables unknown and especially under-utilized computing resources to arbitrarily join the Bluzelle network as nodes to scale the network on the fly. Most importantly, when properly implemented, PBFT protects against attacks that might be conducted by bad actors, or even faults that could unintentionally occur. Farmers will be required to hold a public-private key-pair and will be identified and verifiable by their public key, with their transactions signed by their private key.
Permissioning — Bernoulli will have a major logistical change where every participant (both consumers and farmers) will have a public-private 256 bit key-pair, and will be expected to protect their private key. In the context of consumers using the database, every namespace will come with a concept of an owner, that determines who can perform the writable (create, update, and delete) operations on that namespace. This owner will be the initial creator of the namespace, but will be re-assignable by the owner via the Bluzelle API. Only transactions signed by the owner will be accepted for writable requests. Note that ALL read requests will be permitted. In the next release after Bernoulli (Curie), permissions will be augmented to allow hierarchies and multiple owners and even types of owners. Curie will include the ability to restrict read requests.
Also expected for Bernoulli are the following:
- Decentralized node discovery
- GUI CRUD client
- Data syndication
Major Code Update Coming Up
The Lovelace testnet has now been running for 2.5 months without fail. This is exciting news. At the same time, with the large improvements that the Bluzelle team and the community have made to improving the product, the time has come to update the testnet with our latest and greatest interim build. Expect a refresh of the testnet to reflect the latest code, sometime in mid October.
This code update will reflect:
- Significant improvements in our build process
- Refinement of our internal continuous integration processes
- Implementation of automated cyclomatic complexity checks
- An improved sprint development process
We have introduced a “chaos” module so that the network will be robustly tested against random test cases and environmental conditions, to enable us to pro-actively anticipate and build solid code that protects against such adverse conditions. We have also completed a Bluzelle C++ coding standard that will apply to all Bluzelle code and serve as a guide on recommended standards to follow for the greater Bluzelle development community.
As some of you have probably noticed, Bluzelle is shifting a larger focus onto the traditional software development community. By this, I mean developers building non-dApps. This includes all the different environments apart from blockchain. The list of this is long but includes mobile apps, node.js apps, cloud apps running on Lambda, Heroku, AWS, Azure, traditional enterprise apps, web developers building apps on PHP, Ruby, Python, and so forth. The Bluzelle DB is a general purpose key-value store, and is meant to leverage the best of trustless, decentralized technologies while still providing services that will put it in direct competition with the likes of existing key-value store databases such as Redis, etc. The disruptive technologies Bluzelle uses are the very same that power the blockchain. In Bluzelle’s case, our DB provides significant value to not just dApp developers but to any software developer that needs a database.
We are proud to announce the addition of a new senior-level engineer to the Bluzelle team. Look for an announcement specifically on this in the upcoming week.