Posts Categorized : Technology

Smart Contracts

Having declared bitcoins in particular and cryptocurrencies in general to be a load of rubbish only to see bitcoins triple in value since I posted, I suppose I should be feeling quite silly by now. All I had to do was throw my life savings into bitcoin and I’d be sitting pretty. The expression “get with the program” comes to mind.

I remain cynical about cryptocurrencies, but blockchains are here to stay and smart contracts seem to be the problem they solve. So, in the past few months, I’ve been getting up to speed on them, and am now sufficiently accomplished that I delivered a workshop on them and have been asked back for another.

What makes me think that smart contracts have a future in a way that cryptocurrencies don’t? Certainly, the amount of computer power needed to do simple things remains ludicrous, and, for many applications, it’s difficult to see what a decentralised ledger brings that a single, centralised database doesn’t already deliver. There are plenty of sites out there doing smart-contracty things, but which work without the added complexity and overhead of blockchains – gambling sites such as betfair spring to mind.

It is also difficult to work out how to make money out of smart contracts, per se. Sure, there’s mining But rather than contribute any actual innovation, all miners do is buy a whole bunch of hardware and get a fast and juicy RoI. That RoI only happens, however, if smart contracts are doing something.

The main thrust appears to be tokens. Get some digital content together and sell it for tokens rather than real money. Other than being cool, I’m again not sure what this adds to an existing digital content business. If your tokens are tradeable only for your own products, then all you’re doing is pre-selling your product (and maybe skim a transaction fee if a secondary market comes into being). If your tokens are tradeable on like-minded sites – i.e., your competitors – then you’re putting yourself under a lot of new pressure.

So what’s left? Keeping track of who owns which item of digital content is a huge area, waiting to happen. Another is sharing data between parties who have an interest in sharing data, but who don’t trust each other because they’re competitors.

To me, this last area is the one that holds most potential. As an example, take consumer credit bureaux. The idea is that the banks and credit card companies pool data to create a score for each customer. That score is part of potential lenders’ decision making processes: people who don’t have a history, or who do have a history, but it’s a bad one, end up paying more interest.

Today, these systems are implemented as single, centralised databases. That presents a single point of attack for a hacker. Moreoever, there’s an incentive to steal data: the dataset on offer is very valuable. Anyone hacking into a consumer credit bureau could steal a whole bunch of identities, and manipulate records to gain credit at rates to which she’s not entitled – and then run with the money.

The decentralised, cryptograhic nature of blockchains goes a long way to protecting from this kind of theft and manipulation. I suspect there are very many similar applications out there. It may not be sexy, but as a B2B application, this type of sharing will run and run.

Blockchains (2) – Solar Raspberry Pi Mining

In my previous post, I concluded that cryptocurrencies face major hurdles, but that blockchains offer promise. In an earlier series of posts, I concluded that data centres will diverge into three different types, one of which is a highly distributed global computing network that consists of low-powered computers mounted directly on solar panels.

I also said that batteries are horrid, so that global network of low-powered computers should run without batteries. That means that they’re off at night, which in turn led to a follow-the-clock type of computing in which, as the day ends in one place, the computing gets pushed ever westwards. However, I didn’t specify the mechanics of how such a grid would work, and although I think it’s do-able – and interesting to do - it’s feat a piece of engineering.

It now occurs to me that blockchain mining is that feat: the perfect application for such a network.

First, by design, all blockchain networks are distributed. There are lots of copies of the relevant blockchains living on lots of computers, and only some of those computers will respond to any given request. It doesn’t matter which ones. It doesn’t matter why a given computer fails to respond: it could be busy doing other things, it could be switched off. It could be that it’s night so the computer’s powered down as there’s no sunlight to power it.

Second, by design blockchains are fault-tolerant. If a computer fails half-way through mining, it doesn’t matter: that mining is being done by multiple other computers, and the expectation is that only a few will produce a correct result. Whether a computer drops out because it can’t produce a result in time or because a cloud passed in front of the sun doesn’t matter.

Third, storage is already designed in. The original thought was that there would be multiple copies of any given datum (photo, song, whatever) distributed around the network in such a way that there will always be a copy available somewhere where the sun is shining. Unfortunately, designing highly distributed file systems is quite an undertaking. But, with blockchains, that design is done and built-in.

So the idea is this:

1. Find NGOs that install solar panels in poor countries.

2. Find other NGOs that are keen on bringing computing to poor countries.

3. Attach Raspberry Pi computers to the solar panels, perhaps with a blockchain ASIC to speed up the processing - see here.

4. The computers attached to a given panel will use some, but not all the power. There will be plenty left over, so the communities get free power.

5. The community will get a share of the income from the bitcoin mining.

6. SolarRaspberryMining will get the remainder of the income from the bitcoin mining.

A few specifics, just to demonstrate that this is feasible.

The Raspberry Pi Compute 3 uses the ARM CMOS chips, which use tiny amounts of power compared to mainstream server chips – the model 3 uses 5.1v @ 2.5A, which amounts to less than 8W, which corresponds to about 15cm * 15cm of solar panel. Assuming a panel is 1 square meter, that could mean up to about 40 Raspberry Pi computers per solar panel.

There are ASICs to speed up blockchain processing, and speed is probably important. Those ASICs will most likely be quite power-hungry, so that reduces the number of units per panel. To avoid heating (more accurately, heat dissipation) problems, and to leave power spare for the community, say half a dozen Pis+ASICs per 1m2 panel.

That model of Raspberry Pi is about USD40, and that will probably be USD100 by the time we’ve added wireless and an ASIC. Allow for the usual fudge factors, and we’re probably looking at USD1,000 per panel. That buys half a dozen Raspberries, on a panel, and all plugged in, installed, tested and the like. It doesn’t buy the panel.

There is R&D to be done: working out how to attach the PIs, customizing the OS for various blockchains, and generally making sure the whole lot works. And then there’s the issue of finding organisations to work with. So overall, this is quite a project. If you think it’s got any legs, please get back to me on chris.maden [at] cpmc.com.hk, and we’ll see if there’s a way to make it work.

Bitcoins and Blockchains

When a friend of mine first enthused to me about bitcoins in 2010, my response was muted. “Great idea,” I said, “for keeping track of who owns a particular copy of an item of digital content, but forget about it for currency.” He either didn’t understand or didn’t want to understand why I said that. Now, it seems I wasn’t far wrong.

I’ve been consulting to central banks and working in IT security for payments systems for over a decade. Bitcoins first came on to the scene about eight years ago, and were predicted to have put dinosaurs like me out of jobs by, er, seven and a half years ago. That hasn’t happened yet – though maybe it will. But I think there are good reasons why it won’t, and here they are.

Before I get started, two things. First, Satoshi’s paper which launched cryptocurrencies wasn’t ambitious – he wanted to disintermediate financial transactions, not turn the world on its head. However, the stampede of venture capitalists and the like are ambitious – otherwise, they wouldn’t be in the game – and this post is directed at them. Second, “cryptocurrency” is difficult to type and hard to read, so I’ve used “bitcoin” as a placeholder to mean cryptocurrencies in general.

That said, to business. The reasons I think bitcoins are doomed are to do with the nature of currency, which to me comes in two parts.

1. Repository of Future Value

The idea that money is a repository of future value may seem unconventional. After all, no less an authority than wikipedia says that money is a medium of exchange, a measure of value, a standard of deferred payment and a store of value, not a repository of future value. However, I defend my definition at a trivial level by observing that I’ve done no more than combine the latter two of wiki’s definitions, and at a deeper level thus:

The banknote in my wallet is worth nothing until I spend it: a future event. In quotidian transactions, I give you that banknote and you give me a good or service. So I realise the value of the note by transferring the promise from me to you – and on it goes. However, some future owner of the banknote may go to the entity that issued the banknote and demand payment. At that point, the issuer has to make good on the promise by giving the bearer goods or services.

The common understanding is that, at that time, a banknote will derive its value from the assets by which it was backed – until a few decades ago, gold. So a citizen could stroll into a government office and redeem her banknote for an appropriate share of the government’s assets.

As early as the late nineteenth century, it had become obvious that no government could or would liquidate its assets and carve them up amongst the citizenry. The dissolution of the Gold Standard in the Bretton Woods conference and later legislative moves (I’m told it took the US until 1976 to get around to de-legislating gold) were nothing more than bowing to the inevitable. And this is because modern governments don’t run on assets, but debt. And a modern currency’s value is determined by the ability of a government to raise taxes to service that debt. That ability is contingent to some extent on the government’s assets. But it is far more contingent on the government and its citizens honouring the social contract which binds them: people paying their taxes, and the government spending them in broad accordance with its citizens’ wishes. This is of course imperfect at the best of times, but that’s why America and Europe, with strong institutions and firm social contracts, have currencies that are valued, and why Zimbabwe didn’t.

The problem that bitcoin faces is that it’s not a government. It has no ability to compel people to pay taxes. It therefore has no ability to deliver on the value when the day comes. The sole and only way of realising the value of a bitcoin is to find someone who is willing to exchange the bitcoin for goods or services. It that person can’t be found, the bearer is stuck. She has no means to compel, no rights as a citizen.

Now, I’m not saying that governments don’t fail; that citizens don’t get screwed – look at the aftermath of the Global Financial Crisis of 2008, or anywhere that’s gone through hyperinflation. But these are exceptions. Nearly all of the time, bearers of conventional currency have recourse: they have rights and the means to enforce them. Bearers of bitcoins are in a legal vacuum.

2. Transfer of Future Value

Or, to put it simply, payments.

People expect – with good reason – that payments are fast, cheap and reliable.

A typical payment in a modern payments system, using the SWIFT / ISO20022 messages or using ATMs with ISO 8583, is in the order of 600 bytes of data – about as long as this paragraph – and follows this sequence: make sure I have the funds available, remove (or block) them from my account, credit them to your account. This can be done in microseconds. The slow part is the communications, which can take a few seconds for credit cards, and a few milliseconds for touch-and-go (NFC) payments.

Cryptocurrency payments are neither fast nor cheap. This is because the underlying technology, the blockchain, is neither fast nor cheap by deisgn. A typical blockchain is about 130 Gb. The processing of a blockchain transaction is inordinately complicated, requiring the generation of very big prime numbers, which are to be vetted for coincidental adherence to a given set of criteria. Most numbers don’t comply, and are discarded. One of those which does comply will replace that already in the blockchain. This uses vast amounts of computer power: if all the world’s trillions of transactions were processed by blockchains, there wouldn’t be enough power left over to switch on a light bulb.

There are ways of pruning the blockchain, and there are cryptocurrencies out there which are moving away from generating huge prime numbers for each and every transaction. But they’re all based on public/private key encryption, and this is computationally far more demanding than conventional payments. (For the record, credit cards and ATM payments typically use symmetrical keys, which require a couple of orders of magnitude less of computer power. The symmetric keys are periodically updated using public/private key encryption.)

Yes, there are special purpose chips and whatnot. But it all comes to the same thing: more computing power means a higher cost per transaction, and whatever advances are made that reduce the cost of processing cryptocurrency transactions will carry over to conventional payments: the latter will always be cheaper.

To put it another way: the gold standard of a modern payment is that you can swipe your card or phone while passing through a turnstile without breaking stride. To do this, the transaction must be cheap, simple and very fast. No cryptocurrency comes close.

However, even if there’s a sudden change in the laws of physics, there’s another major hurdle. Regulators.

3. Protecting the Public

As soon as cryptocurrencies become mainstream, regulators will leap into the fray. Cryptocurrencies are very useful tool for money-laundering sleuths as they contain a complete transaction history. However, there is no way of associating a particular wallet with an actual human being or organization – hence the current popularity of cryptocurrencies amongst crooks. But as soon as the problem becomes big enough – and I’m told it already has –  regulators will mandate that cryptocurrency providers perform the same checks on their customers as banks as are required to on theirs. Setting aside that anonymity was a stated aim of cryptocurrencies, so Know-Your-Customer rather defeats that point, the cost structure in this respect is going to be the same as for conventional payments.

In summary: the same regulatory overhead, a much higher per transaction cost due to increased computation, and no recourse. So bitcoin bearers pay more and get less. Not an attractive proposition.

I said all this eight years ago, and here we are, eight years on. Cryptocurrencies have faded from view. Yes, they’re still there, yes, there’s still some action, and yes, bitcoins are trading at about USD4,000 per coin. But there’s little sign that they’ve revolutionized the world’s financial markets.

What has happened is a sudden rush of interest in the underlying technology for what I though eight years ago was the problem this particular solution seeks. Blockchains are decentralized, secure ledgers that contain entries detailing who owns what. In the case of the original bitcoin, the “what” was money. For the reasons above, I never thought this had much promise. But for movies, books, music and the like – now known by the ghastly term ”intellectual property” or IP - there is a rapid trend that the primary delivery mode is digital. And that creates the problem of validating that the person who views / listens to the work, owns it.

The solution being touted is that each person has a wallet full of tokens, and each token gives her certain rights over a certain digital copy of a given work. That has some mileage. The problem is that the value of digital content is converging on zero. That means there’s precious little money in tracking who owns a particular copy of a work. Which means that we have a problem, a solution, an no way of making it pay. Back to square one.

 

* Thanks to Gavin Costin for his comments on the original post.