I feel like I read somewhere back about blockchain databases but I can't seem to find anything too solid on the topic. This paper called Blockchain Databases doesn't offer much in terms of description. It is just a few pages, mentioning "Hashchains" and that "Blockchain databases are structured as mutual distributed ledgers (MDLs)", which doesn't mean much.

This one, vChain: Enabling Verifiable Boolean Range Queries over Blockchain Databases, mentions "From the database perspective, a blockchain can be seen as a database storing a large collection of timestamped data records". They also mentioned FlureeDB, working on a SQL blockchain database, and BigchainDB. Both of those projects have little in terms of describing implementation detail on how exactly the "blockchain technology" interfaces with "database". Further, they mention:

The data stored in the blockchain can be modeled as a sequence of blocks of temporal objects {o1, o2, · · · , on }. Each object oi is represented by ⟨ti ,Vi ,Wi⟩, where ti is the timestamp of the object, Vi is a multi-dimensional vector that represents one or more numerical attributes, and Wi is a set-valued attribute. To enable verifiable query processing, an authenticated data structure (ADS) is constructed and embedded into each block by the miners (to be detailed in Sections 5-7). We consider two forms of Boolean range queries: (historical) time-window queries and subscription queries.

In the FlureeDB paper, it states:

FlureeDB is a protocol token whose blockchain stores a series of point-in-time facts as atomic units we call Flakes. Every Flake is — and forever will be — unique. Flakes can be thought of as events asserting (or retracting) a fact at a particular point in time. A block is a collection of Flakes as a single atomic transaction, and represents each state change of the blockchain.


Every database is a separate blockchain, and groups of databases are placed into shards


When submitting a transaction, a user will spend their own tokens unless the database has established rules that allow it to spend tokens that it holds. FlureeDB allows a rich permission model that can control exactly what pieces of data can be modified by whom and also which transactions must be paid for by the transacting user. [NOT DESCRIBED]

Still after at least browsing through these papers I don't see any descriptions of how the data storage of database records works in a blockchain / Merkle tree.

My question is specifically, how blockchain applies at the level of storage. I would like to know how the concept of a table, record, column, and value, and relations/links between data, are generally accounted for in a blockchain. That's pretty much the only thing I don't see in any of these resources, how the data model is implemented in the blockchain.

Maybe this Filecoin paper will be helpful.

  • 1
    As far as I understand it, a blockchain only guarantees that old values are not tampered with (or if they are, you can detect it). There is no concept of "tables" or "columns" in a blockchain.
    – user1822
    Jan 14, 2019 at 6:58
  • Possibly related: dba.stackexchange.com/questions/18700/what-is-a-database
    – mustaccio
    Jan 14, 2019 at 15:22


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.