2017-12-01
An article from SPIEGEL got some folks interested in a WFP innovation accelerator project using blockchain technology which is aimed to make food distribution in refugee camps more efficient and secure.
As I am a bit invested in the idea of blockchain personally, I’d like to express some thoughts to shift the hyped up view to a bit more rational level. Let’s see the claims from WFP:
This can speed up transactions while lowering the chance of fraud or data mismanagement. The ledger records transactions in a secure manner that cannot be changed. It allows any two parties to transact directly, and removes the need for third-party intermediaries such as banks. (via)
1) speed up transactions
If you change a cash/ecard registry for an iris scanner, sure things may speed up, but this has nothing to do with blockchain technology; a standard SQL database can process simple data like a purchase of a product in a few milliseconds - how (and why) should this be speed up?
2) lowering the chance of fraud or data mismanagement
A common claim because of the blockchain idea itself - this idea means: every transaction contains the hash of the previous transaction. A hash is a cryptographic “fingerprint”, if you will. If you change something in transaction A (e.g. the amount of goods), the hash of it will also change. So, if transaction A is changed, transaction B will report an error because the saved hash of transaction A (when it wasn’t changed) is now different to the new one (with the changes).
This is a very powerful feature, if you use consensus algorithms. Those are used in the decentralized way of operating of blockchains (meaning: not one entity has the database on a server controlled by this entity, but many entities - called nodes - have copies of the database). So, the consensus algorithms make sure that every node has the same copy of the database. So, if I have 10 nodes and one of them tries to make a fraudulent change to the database, 9 nodes will agree that this fraud and will roll back the change. This results in a immutable chain of transactions.
A powerful idea with some practical problems:
* Who will take part in a small blockchain like the WFP uses for food distribution? What’s the incentive? Who will act as nodes? Anyone? Couldn’t just someone rent 100 servers to change the blockchain simultaneously to just overpower the nodes provided by the WFP? * It will prevent fraud by protecting the database in a clever way - yet, it will be unable to prevent fraud on the human level (pressure someone to enter wrong numbers at the beginning, steal from someone after the transaction is done, make someone use their credits in a way they wouldn’t normally) * A blockchain without nodes is essentially a kind of low-tech database. Important services like food distribution should be build upon technology which is scalable and future-proof - conventional SQL databases have been around for 30+ years and are still in heavy use. Where will blockchain be in small projects like this in 30 years?
3) The ledger records transactions in a secure manner that cannot be changed. See 2). Personally I would be careful about making definitive statements regarding IT-security.
4) It allows any two parties to transact directly, and removes the need for third-party intermediaries such as banks. This is interesting particularly in example of WFP. As I understood the food distribution relied on ecards with a PIN; so the WFP may rely a vendor who sold the ecard-solution - in the same way WFP now relies on the vendor of the iris scanner. Currently, I can not see any other intermediary which would be cut out of the operation.
The original argument (no intermediaries) may aim at the bitcoin currency which is hyped as well these days. There are no intermediaries like banks needed, that’s true - kind of. In fact you’d have to pay a transaction fee to the “miners” of maybe 3-5 EUR per transaction. The miners - in the bitcoin world - do the calculations for the consensus (among other things). As the bitcoin blockchain grew (to about 140GB as of now) the cryptographic calculations became more complex and time consuming. In fact so time consuming that your ordinary laptop couldn’t contribute anything substantial. These highly specialized miners with their highly specialized hardware get rewarded from the network to keep all the transactions flowing (because if no one is doing the calculations, no transaction would finish). And you pay for those rewards (in bitcoin). A fraction of your transaction will be a fee - in fact, a fee whose amount will determine how fast your transaction is processed (minimal fee = you could well wait for a few days, weeks or forever).
In this case, the functions the blockchain is after (fast transactions, no fraud, no intermediaries), could well be realised with conventional database using cryptographic signatures and a well though-out replication scheme.
I am not about “keeping this darn new stuff down to use ye good ol’ SQL database” but I think there is an aura around this technology which promises people to solve problems magically - it will not.
But I am also keen on using this clever piece of technology in appropriate places. And to my best guess the people from WFP have already heard criticism like mine and built their solution with this in mind. Yet, I just have a strong interest in keeping the discussion on a rational level without getting “non-tech” people too hyped up.
Addendum:
I’d like to point out a talk from Radia Perlman on bitcoin/blockchain which has some interesting points. My favorite one is: isn’t the decentralized way of keeping billions of transactions a huge waste of computing resources? (Not particularly useful for the WFP case, I know.)