HACKER Q&A
📣 not_a_noogler

Why Prefer Blockchain over Distributed DBs?


As an engineer myself, I haven't been really able to understand what advantages do blockchains offer over general distributed databases? It can be lack of knowledge as well but to me blockchains just seem like extremely inefficient form of DBs

The only comment I have seen is that they allow decentralization. But then why would it make sense for them to use for private companies, banks etc. ?

Note than I am not talking about Bitcoin, Ethereum etc. I am more interested in the basic tech on which these platforms are built.


  👤 dist1ll Accepted Answer ✓
Strictly speaking, blockchains are closer to logs than arbitrary databases, because we need strict ordering of events in blockchains. The distinction between blockchain and distributed logs isn't binary, but exists on a spectrum. It's all about the threat model.

PoW consenus that you see in Bitcoin has extreme adversarial assumptions. Raft is on the other side of the spectrum; it's just bare-bones state machine replication and simply trusts the elected leader.

The thing is, your adversarial model can lie somewhere in between these extremes. That can be the case for bank networks or supply-chain management and isn't necessarily inefficient (Hyperledger Fabric). I'm not really familiar with private blockchains, I think they are just a rebranding of public key infrastructure.

I personally think permissionless DLTs are much more interesting, and actually deliver on our expectations of decentralization. Whether certain flavors of PoS will be sustainable is yet to be seen.


👤 jqpabc123
But then why would it make sense for them to use for private companies, banks etc.

In most cases it doesn't. For the most part, it is a solution in search of a problem.

Blockchain is a horribly inefficient write once database. It basically trades efficiency for decentralization.

The obvious problem is who pays for this inefficiency. If a central authority pays, any "decentralization" is just a ruse.

The only practical way found thus far to pay and still maintain any real decentralization is by minting money --- crypto. Unless you are or want to be involved with crypto, you probably don't need blockchain.


👤 billconan
Many distributed db doesn't have role based access control?

Imaging I want to build a p2p forum. There is an administrator, multiple moderators, members and visitors.

Visitors can only have read access. members can post, moderators can delete. administrator can promote members to moderators.

Can this be supported by distributed db?

I have checked a few, I didn't see they support that. Most assume the peers have the same permissions to access the db. They may be useful in a trusted environment, not in a untrusted environment.


👤 bradknowles
See also: NIST's answer to “Do you need a blockchain?” (2018) https://news.ycombinator.com/item?id=31192131