Troy McConaghy
    Mar 12 · 1 min read
  1. Decentralization isn’t an all-or-nothing property, it’s a continuum. Even if a single company runs all the nodes, they can have each one operated by a different employee, in a different business unit, in a different country, for example.
  2. There are two general approaches to adding immutability to MongoDB using code. One is to try and do it in the application layer. The problem with that is that the MongoDB database is one logical database, so anyone who manages to gain admin-like privileges on one node can change or delete records across the entire database: there is a single point of failure, making its “decentralization” dubious. (In BigchainDB, each node has an independent MongoDB database, so corrupting one doesn’t affect the others.) The other way would be to fork MongoDB to make it so it can’t change or delete existing records. Go ahead, it will take hundreds of coder hours to do that and in the end all you have is something similar to Datomic or HBase. Why not just use one of those instead? Of course, those still have the central admin problem, so you’d probably want to fork…
  3. Yes, almost any database can be used to track and manage asset transfers. You would have to add that thing where only the true owner of an asset can make the transfer happen (by providing a valid cryptographic signature), but that’s totally doable in the application-level code (or maybe in the database’s internal scripting language). It all takes time and BigchainDB has that out of the box.

    Troy McConaghy

    Written by

    user advocate, technical writer, infrastructure plumber, information architect, developer