Difference between Bluzelle and IPFS/Filecoin: data vs files

Neeraj Murarka
The Blueprint by Bluzelle
4 min readOct 17, 2017

Database Service is Missing Piece in Decentralized Internet

The new decentralized internet is missing a major component — a database service.

There’s rapid innovation in blockchain and frenetic activity in the decentralized storage space, in particular, thanks to IPFS/Filecoin, Storj, Sia, and Ethereum’s Swarm. But these solutions can only progress the decentralized so far.

Bluzelle fills a key gap in decentralised infrastructure. Whenever we are asked what is Bluzelle’s differentiator — and we get the question a lot — the answer is simple:

“Bluzelle is a database service while the rest of these are file services.”

Bluzelle is a quick, cheap and scalable decentralized database service ready for the world’s dApps.

In the internet world before decentralization, there were two primary data storage services — file storage and database storage.

File storage was achieved by the likes of DropBox, GoogleDrive, and web-based HTTP. Database storage was achieved with relational database management services like Oracle, SQL Server or Mongo, and so on.

Now, the introduction of blockchain technology demands a new database service — and here’s why:

Software generally deals with two types of data: files and data fields.

Files are relatively large (> 10KB), of arbitrary size, and their contents are not searchable or structured in any agnostic way. File storage services are optimized to deliver whole files, and lack the granularity required to do search and retrieval within files efficiently.

This is exacerbated by the fact that in new decentralized file storage services, files are broken up into chunks at arbitrary locations, with no regard or interest for the data in the file. Trying to access data when the underlying storage mechanism does not understand the nature of the data is extremely inefficient and error-prone.

Furthermore, some file storage services are immutable, which means the data stored to them can never be removed or changed. This poses a serious problem for companies, particularly when there is a need to adhere to legal and regulatory requirements such as the EU’s GDPR laws. For example, GDPR will require companies to be able to purge customer data completely from their systems.

Generally speaking, immutability of data is an unreasonable and unacceptable constraint in many data storage scenarios — and a deal-breaker in many software projects. It is no wonder that decentralized software companies were forced to resort to traditional cloud-based centralized databases. That is, before Bluzelle came along.

Data fields are typically small, of fixed size, and they are organized in groups and collections and structures to be searchable, for quick storage and retrieval. Data fields are stored in databases to achieve the best security, performance, and scalability metrics. Databases provide fundamental functions like create, read, update, and delete (CRUD). These functions are completely absent from file storage services.

As an example, to read a simple mailing address from a modest 10GB (10 billion bytes) file storing customer information on a file storage service like IPFS, the entire 10GB file would need to be downloaded first to your local machine. Then, the file would have to be searched for the right information.

Imagine a 1 Gbps (1 Gbps = 1 billion gigabits per second) download rate, which is a reasonable fast and modern network connection. The file’s 10 billion bytes is 80 billion bits (there are 8 bits in a byte), so downloading (ie: reading) this file alone would take 80 seconds every single time that “database” is accessed.

Now imagine a real database (ie: Bluzelle) that has the same 10GB of data in it. That same 32 byte (256 bits) mailing address will now take less than 100 milliseconds to be read from the network, because the Bluzelle database knows exactly what is being asked for and ONLY responds with the needed data.

The question of whether or not you can build a database on top of IPFS arises often. Technically, of course you can, if you are willing to accept the obvious and overwhelmingly impractical performance metrics outlined here for even the simplest of operations. For succintly, 80 seconds to get your data from the IPFS-based database architecture, vs 0.1 seconds for the proper Bluzelle architecture. This is precisely why a database is so very critical.

And that’s what led us to build Bluzelle. Similar to its file-storing counterparts, Bluzelle marries the best aspects of decentralization and the blockchain (scalability, uptime, security, redundancy, cost effectiveness, availability) together with decades-mature database science to deliver a future-proof, decentralized database ready for the world’s dApps.

If you are interested in this topic and would like to directly engage with our team, you can join our open Telegram group:

--

--