Blockchains for non-cryptocurrency applications don’t make sense

There’s a lot of hype going around about blockchains and pretty much everyone is attempting to put something (including physical assets) on the blockchain. However, most of these use-cases don’t make sense to me and I’d like to explain why.

Blockchains work for cryptocurrencies because the blockchain is the sole source of truth that proves whether you’re holding the asset. If the blockchain says you (or rather your private key) is entitled to a million coins, then you are indeed a millionnaire, because whoever wants to buy your coins (in exchange for some other asset/good/service) will consult the blockchain to validate that you indeed have those coins and that you transferred it to them during the trade. Later on, when they want to spend those coins, the recipient will in turn consult the blockchain to check whether they’ve been paid.

This breaks down horribly when dealing with real-world assets that don’t live entirely on the blockchain. Things like gold, energy, art, etc. In that case, the blockchain isn’t (and can’t) be the source of truth to prove you own an asset. If you’re selling a gold bar, it doesn’t really matter what someone’s blockchain is saying - the only thing that matters to the buyer is whether you’re giving him the physical gold bar.

A lot of companies are using “blockchain technology” (whatever that means, as it has a lot of different interpretations) to buzzword somehow buzzword do something buzzword to increase integrity and transparency buzzword and a lot of other things related to real-world assets. The main problem is that if the blockchain isn’t the source of truth, then someone is responsible for replicating the state of the blockchain onto the real world - that someone must be trusted, which breaks one of the big perks advertised by supporters of blockchains - decentralization and trustless-ness. It doesn’t matter whether the blockchain is bulletproof if the last link in the chain is a single party that must be trusted.

Furthermore, cryptocurrency blockchains protect their integrity by providing an incentive for many different parties to validate transactions (through proof-of-work or similar systems) in exchange for some of the cryptocurrency. Unless a malicious party controls more than 50% of the total mining power they are unable to compromise the system.

How does that work in an “internal” blockchain (in all these companies claiming to use “blockchain technology”)? Even if we assume there’s a real blockchain involved and it’s not just a buzzword, it provides no guarantee nor decentralization if the company is the only miner as they would from the start be in a position to “write” the blockchain however they see fit. At this point, why not just use a standard database?


Now read this

Storing OAuth credentials in Django models

A common requirement for my Django apps is to interact with third-party APIs on behalf of its users, most of which use OAuth for authentication. I now realise Python Social Auth is a solution but I wasn’t aware of it at the time. In any... Continue →