It’s The Problem, Not The Solution
Berkshire-Hathaway this week described cryptocurrencies as “asinine and poisonous”. My argument here is not about what that bitcoin seismograph is going to do tomorrow, next week or next year. It is about misappropriation of the technology that underpins it. If you’d prefer, this guy makes my point from an analyst’s perspective
I am a software engineer. I make stuff work. I get called a “coder”, which can be either the highest of compliments or the deepest of insults dependent on the caller. Corporate Earth literally spends or loses in revenue TRILLIONS of bucks a year either struggling to synchronise data both within and across corporations, or suffering from their failure to do so. I have an order note, you have an invoice. This pattern is everywhere.
Such a global issue might sound like the job for the magic of Blockchain. If it can make money out of nothing, can order transactions universally, then surely it can help us synchronise our data. Well alas not.
Universal ordering is a very cool trick indeed. The mesh of cryptographic techniques required to make this happen makes someone like me gawk, wince, and then actually giggle as they pick their way through it. There are of course ecological issues about how this is all done, but lets park the nimbyism outside for now. There are alternatives to Proof of Work in the oven. May be they will taste good when someone actually launches a real currency with them. The snag with respect to my title line is that to date we only have one known use case for this work of true genius that gives us this universal ordering. And that is to maintain a universally interchangeable vector, i.e. to detect and prevent double spending on an account, then we can have a cryptocurrency.
Now this doesn’t mean you can’t fork the bitcoin code, chuck out the inconvenient PoW part that wastes power, call it a “private blockchain” and use it to store data. You have to chuck PoW else apart from a DBMS that’s as fast as a three legged pig on a ketamine overdose, you will have a database that actually costs significant money to use on a per write basis, and thus even more to use inefficiently. That may sound like a reasonable imposition, but from an engineering perspective it’s a ridiculous proposition. I have to come up with a hard business case every time I want to write to the DB.
Lots of people are doing this moneyless blockchain in their pilots, so please read on of you have read stuff like “cryptocurrencies is just the beginning” . There are no sound technical grounds for doing it, other than that your boss may love the idea. The hardcore cryptocurrency brigade, which includes Ethereum, don’t even think you have a blockchain anyway now, you broke it when you dumped PoW and now everyone has to promise not to play dirty. We also have the counter situation to having to restrict usage to high value tasks. Now I get to screw the whole network over with no apparent cost to myself. Any of these systems would have to be heavily policed.
If I don’t have any genuine use for the ordering, the only justification for this is this immutability claim. Immutability means it can’t be rubbed out and can’t be changed. Doing this on the universal ledger is all part of the wonders of blockchain. But if we aren’t playing some global currency game, i.e. it’s just between us what was said, and in what order, then making the network validate this and everyone to keep a copy is massive overkill and frankly redundant.
If we want to be able to prove that someone said something, we get them to digitally sign it with their Verisign keys. If we need ordering of this we get them to either number or timestamp it and then sign it. Only if we need this ordering to be universal do we need to start getting the BFT machine out. Sure, your boss is delighted that he can stick “blockchain” on Companies House, but really that is all that you have achieved.
Cloud computing is available to all. It provides near asteroid-proof resilience (note to British Airways, it can also defend against cleaning ladies). Give me your signed copy and I will put it in my asteroid proof database so it doesn’t get lost. Nobody else need know anything, or have to do anything on my behalf. That is as immutable as anyone could reasonably need in these private circumstances. If Verisign fails then your data verification is going to be the last of your worries.
The problem with Byzantine Fault Tolerant systems is even deeper though. You see you can’t really run them on bling, not unless this bling can be taken down to the local power station and exchanged for the electricity needed to participate in this democracy. Even with proof of stake or proof of trust or any other devilishly cool invention that is currently or may ever be dreamed up, or just proof of nothing as in the case of our “permissioned” stuff, you still need some global network to participate. They need a reason to do this to pay for the fuel bill, and the accountant for the depreciation of the kit.
Getting back to the job in hand, which is just making sure we are certain both or all sides are “on the same page”, once you want to apply constraints and rules to this page/document/contract, which we do, we hit a classical problem of obfuscation. Using blockchain we have to publish these rules to the network, they can’t be hidden. This is completely unacceptable in most business cases.
I know the boss and everyone else on the board isn’t going to like this, they just issued themselves shed loads of new shares in anticipation of the execution of the do-it-with-blockchain command you were issued and they are ready to tell the world and cash in. Profiteering in the bitcoin casino is one thing. There are instances of the above I could list which are tantamount to fraud.
I was assured this week that we aren’t in immediate peril from over exposure to a seismographic BTC graph. This is a relief. How much betting has gone on blockchain startups with no valid raison d’etre I know not. It’s surely peanuts compared to the last two cock ups in the market. The real issue here is the TRILLIONS I mentioned at the start. We aren’t making the progress we need or could be doing on this matter because investment in this problem is skewed by the bitcoin effect.
I should now confess why I have such a developed opinion on all this. Two years ago I wrote a system to solve this issue of cryptographically irrefutable data synchronisation. It was motivated and designed to help the insurance world synchronise their IT. EC2 had declared out loud that it was looking for “disruptors”. I hope you can agree after reading this that I am at the very least disruptive. Turning up at the annual ACORD bash in my jimjams and attempting to get through all this in three minutes flat was never going to work I guess. Nobody in the stuffy world of insurance was going to touch a nutcase like me. So I wrote it all up, stuck a parody of the famous Sex Pistols album cover on my blog front page, and prepared to go back to a long standing and socially worthwhile project I keep trying to float.
Or maybe it was just because I wasn’t using the magic word. I did get a bite recently and quite out of the blue. Despite some extensive due diligence, when we finally sat down to actually do some work it turned out all they wanted to do was float cryptocurrencies. The words “you can’t and don’t want to do this with” had been auto-redacted, all they had seen was “blockchain”. I have amended the blog to prevent a repeat of this ridiculous saga.
If you are a devotee and claim I am wrong in my assertions, I urge you to contact me with your counter example of a moneyless blockchain use case. I should warn you that I have been sat here for some time, and my erstwhile biz partner and long term friend feeds me possible instances regularly. So far we haven’t found one that’s justification doesn’t eventually just boil down to “I can’t get funding unless it’s called blockchain”.