Category Archives: bitcoin

Virgin Media are terrible (part 2)

This is the next installment of my ongoing battle with Virgin Media, who appear to outdo themselves at sheer incompetence at every possible opportunity. Second complaint letter:

Dear sirs,

Further to my original complaint of September 5th: The broadband service was finally installed on September 19th.

Since then I have been without a landline number. The engineer who came to install told me that the number port had not been requested and so he could not give my my number, as you had promised to do. He said he’d give me a temporary landline number, which he did. That number worked for maybe a day. After that we have had no working landline, either on the original number or on any other number.
Your engineer also said that someone would come to bury the cable he extended through my front garden. That has not happened either.

So as far as I am concerned you still have not fulfilled your contractual agreement to me, since I currently don’t have a landline number. I hope you are not proposing to start charging me for the service you haven’t fully installed. From previous experience of your automated systems, I suspect that in their magical parallel reality everything is fine and all they have to do now is to start collecting money.

Your complaints procedure says you will resolve complaints within 28 days of receiving them. Those 28 days have passed and I still don’t have either a fully installed service or any type of response to my complaint. Or any kind of contact from you at all, actually, apart from your boilerplate response to my initial letter.

I would like to escalate this to the next level of your complaints procedure, which vaguely states that a “manager” will call me. I am not holding my breath for that call, as I am yet to see any evidence of sentient life within your complaints system, but your procedure appears to insist that I wait another four weeks before going to independent adjudication.

So I will wait.

An Ethereum Project (5) – Randomness

As mentioned before, randomness in a deterministic system like the blockchain is very hard to achieve and there is a lot of discussion on the Ethereum chats about how best to go about it.
In practical terms, this means that something that in any programming language is as simple as calling a Rand() function, in Solidity turns into a major headache.


In order to try to get a true random number for our draw, we had a look at Randao.

What is it?

Broadly speaking, it is like a way of crowdsourcing randomness! Here’s my understanding of how it works:

An instance of randao.sol (call it contract C) will exist somewhere in the blockchain.

Random Number Generation then happens in (block) cycles.

In the first cycle (within a certain period of time counted in mined blocks), people who want participate send a given amount of ETH (a pledge) to the contract along with a secure hash (sha3) of a number s.

In the second cycle, those same people have to send the actual number s to the contract. These are verified against their sha3 and stored.

After all secret numbers have been successfully collected, the contract will calculate the random number using all the values s1…sn that it has collected (so in effect is a way of collecting entropic values). The result will be written to the storage of C, and the result will be sent to all other contracts that requested the random number.

Contract C will send back the pledge to the participants in the first phase, and the profit is divided into equal parts and sent to all participants as an additional bonus. The profit comes from the fees paid by all the other contracts that consume the random number.

We tried running a test using the instructions provided, but have to confess that we failed. I think it was partly because we were deploying it on the Morden network and not in a private testnet, so the block cycles happened too fast.

In any case, it appears to be a clever, but incredibly complex, way to generate a random number.


Next, we tried Oraclize.

What is it?

Basically a pay-as-you-go service that claims to be a bridge between the Ethereum DApps and the outside world. In particular, for our present use case, they provide a link to Wolfram Alpha which, conveniently, is good at generating a random number.

Oraclize uses the ability of Solidity contracts to inherit from other contracts. All we had to do is import their usingOraclize contract into our own draw contract definition. Then it was just a matter of changing our contract from:

contract draw {


contract draw is usingOraclize {

and voila, we had access to the outside world via Oraclize!

We then used this line (see full documentation here) to go out to Wolfram Alpha and get a random number for our draw:

oraclizeId = oraclize_query("WolframAlpha", "random number between 1 and 1000");

Is that it?

Not quite. What the above line does is to send a call to another Ethereum contract, owned by Oraclize. Oraclize do their magic, get you the random number and then have to call you back to give it to you. So you prepare for that by creating a __callback function in your code, ready to receive it:

function __callback(bytes32 _id, string _result) {
       if (drawn) throw;
       if (oraclizeId ==0 || oraclizeId != _id) throw;
       drawn = true;
       actualDrawDate = now;
       winningNumber = parseInt(_result,10);

And then, that is it! You have your randomly generated winning number and you are good to go.

In effect we have subcontracted the random number generation, for a price, to a third party who can be, at least in theory, audited and proved to be trustworthy for this.

Conclusion (or TL;DR)

Generating random numbers in inside the Ethereum blockchain is hard.
Randao looks clever but it is complicated.
Oraclize cost money, but works perfectly well for our use case. (And, incidentally, they also provide a solution for another problem that is trivial anywhere else but is not supported by Solidity – turning a string into an integer)

A blockchain for art provenance and chain of custody

This week another blockchain entered the fray. It is called BigChainDB and it has been developed by the folk at

I have been interested in their work for a while. ascribe is a registry of digital art. Their aim is to provide creators of digital works with a means of creating individual, registered versions of their work that can then be sold, loaned or given away, just as if they were physical copies. Users of their platform can basically have a demonstrable chain of ownership of their digital creations.

ascribe have been using the Bitcoin blockchain as an art registry and a means to create the chain of custody. A reference to a piece of digital content is inserted in the Bitcoin blockchain, and every time the piece changes hands, a new bitcoin transaction is created with a reference to what has happened. By reading the Bitcoin blockchain you can trace the ownership history of the piece.

But as Troy McConaghy, one of the ascribe developers said to me, the small amount of storage that the Bitcoin blockchain allows in a transaction (40 bytes) was enough to do certain things, but not many others.

“We can store a reference to a piece, but we cannot, for example, store the piece itself in the Bitcoin blockchain”, he said. Apart from that, the Bitcoin blockchain is slow, and can only really be queried by having a copy of the whole thing, he added.

“So we were looking for something that might be better for our own use case and started prototyping around that”.

Enter BigChainDB, the solution they came up with and have now made publicly available. As McConaghy explains, BigChainDB has some of the characteristics of other blockchains: it is immutable and it is public (even though it can store private data, if it is encrypted before sending it). They also claim it is lightning fast, able to store large amounts of data, and that it can be queried without having to download a copy of the whole thing first.

So now, they can store not just a reference to a work of art, but potentially the work itself in their own tamper-proof storage.

Where it does differ hugely from the Bitcoin blockchain is in the fact that it is not a totally trust-less environment. Unlike the Bitcoin ecosystem, a BigChainDB instance will be run and administered by a group of interested parties, who will set the rules about how data is verified and inserted and how the fees for doing that work will be apportioned. So different instances will be governed differently and the trust you have in the data of each one will depend on the trust you have in the people or organisations running it. For ascribe, the issue of trust was less of an overriding factor as that of size, speed and ease of access. A version of BigchainDB allowing for untrusted nodes is something they may do in the future, if there’s enough demand.

McConaghy says they are currently building the first instance of BigChainDB with other organisations and will announce this partnership later on this year. I’ll be interested to see what this is, and whether other businesses choose to work with BigChainDB.

Credit card giant tests the bitcoin remittance waters

Coindesk has an exclusive look at a prototype bitcoin remittance app that card giant Visa has built with startup Epiphyte.

In the proof-of-concept a user associates their Visa card to the remittance app and then has to also have an account with a Bitcoin remittance service. In the demo, this was done with BitPesa, the East Africa remittances service.

Crucially, the recipient of the remittance does not require a bitcoin-related account. BitPesa generates a Bitcoin address for the recipient, converts the Bitcoin to Kenyan shillings, which are transferred to the recipient by M-Pesa, the dominant mobile money channel there.

Coindesk sums up the process thus:

The app, then, has allowed ‘John’ to send 25 pounds from a Visa card to his grandma in Kenya, who received Kenyan shillings on her phone, with the whole process taking about six steps.

In between, the funds were taken from the Visa-linked account, converted to bitcoin and sent to an address generated by BitPesa, then converted into Kenyan shilling and transferred to the receiver’s M-Pesa account.

The question for me is: would anyone care? Does this solve a real problem? Ultimately, as I have said before, most people who send money back home care not a jot how it gets there, as long as it gets there and they have to pay as little as possible in commissions. At best, bitcoin will be a silent enabler in the background. And it will only be an enabler if it can demonstrably help reduce the friction and the transaction costs.

Obviously Visa knows that too: The article concludes that the credit card giant and its partner are now engaged in user research and that will inform the next steps in the evolution of the concept.

But whatever the outcome, it is surely another sign that the remittance industry is ripe for disruption, targeted from all sides, the start-ups and the big, established companies. And they think bitcoin can help them with that disruption.

Who’s who in bitcoin remittances (2)


This California-based company raised $12 million in September 2015 to develop its app.

In a interview, CEO Bill Barhydt explained:

Abra is the world’s first peer-to-peer digital cash money transfer network.That m eans consumers can store and manage money directly on their phone  —  no bank, no financial intermediary  —  and they can transfer money directly to any phone in the world that also has our app on it. Transfers are peer-to-peer, meaning no middleman touches the funds: no bank, no Western Union, nobody.

According to this techcrunch article, the company’s app lets users around the world transfer funds denominated in any currency.

Abra achieves this by instantly converting deposited currency to bitcoin, which are stored locally on the user’s device.

This means that the company never actually touches any funds, meaning it isn’t required to deal with the regulatory issues of transmitting money.

Users can deposit money into the app either via a linked bank account, or by utilizing Abra’s network of Abra Tellers, which are like human ATM machines.

After a user’s account is credited with funds, the money is instantly converted to bitcoin behind the scenes, but still denominated in a traditional currency.

The users are protected from bitcoin’s volatility by Abra making a hedging contract behind the scenes with a counter-party. But all this complexity is transparent to the user, who may never even know that they are sending money via bitcoin.


Coinnect is not exactly a general remittance service, but a point-to-point money transfer service between Argentina and Mexico.

It was set up by two bitcoin exchanges, Argentinas SatoshiTango and Mexico’s Volabit.

If you have a Volabit account and your correspondent in Argentina has a SatoshiTango one (or the other way around), then you can deposit Mexican pesos into yours and send them to the Argentinian account. The recipient will receive Argentinian pesos, but the transfer is done via bitcoin.

Volabit co-founder Tomas Alvarez said in an interview with CoinDesk:

“We believe that bitcoin has huge untapped potential to change international money-sending beyond traditional remittances. Due to the inertia of old habits and trust lacking in new technologies, however, bitcoin services have failed to meaningfully compete against existing services thus far.”


A recent entrant in the peer-to-peer money transfer market is Spanish startup Bit2Me, which recently has won $10,000 for its remittance app Hive.

Details are scant, but according to Coindesk, Hive is a peer-to-peer app that leverages blockchain technology to enable the transfer of funds between users, who can top-up their accounts with either bitcoin or credit cards.

Who’s who in bitcoin remittances (1)

Here’s a list of companies I know of that are in the bitcoin remittances market. If you know any more, get in touch!, and

The first two of these serve the migrant Filipino market and the third does the same for emigrant Kenyans and Tanzanians. These are all nations with sizeable diasporas who send large amounts of money back to their countries. is the only pure-play remittances business. The other two are mainly bitcoin exchanges with various payments services that includes remittances.

They all work along similar lines when it comes to sending money. You sign up from any country and can load up bitcoin into your account. After you do that, you can send the Bitcoin to your recipient in Philippine pesos / Kenyan shillings. So basically the recipient does not even have to know about bitcoin, but the sender most definitely does.

This has obvious shortcomings. As i pointed out before, your average migrant worker is not interested in crypto-currencies. So registering with this service, buying bitcoin and sending it is probably not something that is going to attract large numbers of users.

In fairness to these services, this is probably not the way they want to grow their business, one migrant worker at a time. What they seem to be trying to do is create a good “off-ramp” network of cash-out points in the destination country (like other, more traditional remittance services have) and get others in the source countries to do the “on-ramping”, i.e. get to the migrant workers and “sell” them their services. has a whole area of its API for such “vendor” partners.
If going via bitcoin is more cost-effective than going via, say, Moneygram or Western Union, then everyone (migrant workers, resellers and the remittance start-up) wins.

See here for Bitpesa’s funding, here for and here for This last one is apparently bootstrapped by its holding company, Satoshi Citadel.


Hong Kong-based Bitspark started as a bitcoin exchange but in May they announced they were halting all bitcoin exchange operations and instead, would be focusing all of their attention on the remittance market.

Last July it was announced that they had joined Accenture’s FinTech Innovation Lab Asia-Pacific 2015, a three-month programme that provides mentoring, coaching, networking and investment opportunities to seven startups. BItspark was the only bitcoin and blockchain startup in the lineup.

Their website is currently remarkably content-free but they are due to present their decentralised blockchain remittance platform to potential investors at the end of the 12-week accelerator. I await with bated breath!

Next up: The peer-to-peer model

The Colombian remittances market

Colombia is the 4th largest economy in Latin America. It also has somewhere between four million and six million of its citizens living abroad. In 2014 those citizens sent four billion dollars in remittances back to the country. It is an important enough chunk of Colombia’s balance sheet for the national bank to keep tabs on it.

Remittances to the country have been growing steadily in the past 15 years, with only a temporary slowdown in the dog years of the global downturn (2009-2012).

The largest source of remittances is, unsurprisingly, the United States (US$ 1 billion). Spain is a distant second (US$ 400 million) and the UK is fourth (US$ 73 million). So put together, the European corridor is significant. A quarter of all remittances are paid directly into a bank account, up from 21% in 2011.

Colombians abroad send remittances in a similar way to other nationals. Money is handed over to a network of agents in shops and specialist outlets associated with one of the remittance companies that operate in the market (like MoneyGram or Western Union). Once the money is “captured”, the remittance company issues a payment order to their agents in Colombia, who contact the beneficiary of the transfer and hands over the money in Colombian pesos.

In the case of Colombia the clearing of funds is done mainly by money exchange houses (casas de cambio). It appears that most of the trade is concentrated in a very small number of operators, although recent evidence for this is difficult to come by. A 2004 study by Colombia’s central bank found that 81% of the market was handled by only 14 exchange house. The rest was made up by banks, some stock exchange traders and commercial finance companies.
But that study was already pointing out that competition was hotting up and fees were coming down as a result. This 2010 study seems to suggest a similar trend.

At the moment, users pay fees in two different ways – in upfront commissions and in the so-called “differential exchange rate”, that is, the difference between the exchange rate in the market as a whole and the (lower) one that the remittance operators give to their users.

Who cares?

Remittances have a significant effect on those who receive them. The 2010 study found that households who receive remittances tend to spend more on education than those who do not. And they enjoy a standard of living that is higher than those in similar socioeconomic brackets who do not receive them. Remittances, in other words, change lives, for the better.

Arguably, the more competitive the market, the better for its users and the more money that ends up in the pockets of those who will use them to pay for school fees and better places to live.

But entry into this market for a new player is currently very expensive.The costs of compliance (e.g. anti money laundering), logistics (getting the money to the end beneficiary) and the sheer amount of liquidity needed upfront to keep paying out while money is settled across multiple countries, make it prohibitively expensive to compete in the market.

But cryptocurrencies could massively reduce the settlement times and transform the compliance and even the logistics scenario. Is this a market ripe for disruption?

Why isn’t it happening, then?

In my previous entry I described the brave new world of remittances without banks, or Western Union or eye-watering commissions.
I described the world of bitcoin remittances and how it is available right now, today, to every migrant worker in the world.
And I described how all the executives in the remittances food chain are quaking in their boots at the spectre of the D-word: disintermediation. It happened to the newspaper industry and the yellow pages industry with the arrival of the internet. Their business model, as intermediaries between reader and advertiser, just melted away before their very eyes. Whole empires crumbled in record time. When was the last time you opened a yellow pages book? If you are under 20, you probably have never even seen one.
Except the remittances execs are not quaking in their boots.

There are a few reasons why their model is not crumbling just yet.

1. Lack of access and knowledge

Your average Colombian migrant worker in London (and most migrant workers everywhere) is typically of low socioeconomic background with limited access to, or knowledge of, technology. His mother back in Colombia even more so.
Their main concern is not with abstruse crypto-currencies, bitcoin wallets and exchanges. It is with working long hours for little pay and then getting part of that paycheck over to their relatives in their country of origin.
That is why they pay intermediaries to do the magic for them.
Until such a time as the process of bitcoin remittances becomes more seamless, the barrier to entry will remain too high for most.
In fact, the word bitcoin needs to be taken out of bitcoin remittances altogether.
Even if the Colombian migrant and his recipient in Bogotá could manage to climb the access hurdle, there is another one that makes most people think again.

2. Lack of trust

Right now, doing a bitcoin transaction is not for the faint hearted. It is a bit like ecommerce in the early days of the internet. To buy bitcoin for pounds, for example, I had to deposit my pounds in the bank account of a total stranger and then wait several hair-raising minutes for the bitcoin to appear in my wallet.
And while you are waiting you might remember all those things you’ve read about bitcoin being the currency of choice for transactions involving drugs, guns and assassinations on the dark web.
Then your thoughts are interrupted by your bitcoin actually arriving, yes!
But now you remember the spectacular collapse of the Mt Gox exchange and the stories you read about the crazy volatility of bitcoin. And you start to wonder what you have done and how quickly you can sell that bitcoin you just got before it goes up in smoke.
Basically the whole thing is a bit too “far west” still, too hairy for those of a nervous disposition.
But even if you get over this hurdle there may be another one lurking around the corner.

3. Lack of liquidity

You got over the technology hump and you got over the trust hump. You have your bitcoin and your mum is eagerly awaiting her pesos in Bogotá.
But can you actually sell your bitcoins for Colombian pesos?
Well, for small amounts you probably can. But at the time of writing there appears to be only one exchange for people who trade in Colombian pesos. And according to this, the total volume of bitcoin traded for pesos in a day is about 10btc.
Compare that with the number of places you can trade with dollars or pounds and the volumes traded and you start to see the problem. This market is just not very liquid. Anyone doing anything other than sending a bit of money to their relatives (like a remittances business) would start running up against this problem pretty soon. They may not be able to offload their bitcoin, or it may be uncompetitive if they do.

And yet….

I can’t help thinking that all the above problems are temporary, rather than fundamental. Over time, they will be solved. So it will happen. The remittances business model, as we know it, will cease to exist. It will be a museum piece, like a Yellow Pages book.
And I think this is important because, in a way, the profits of this industry are built on the backs of people who are often badly paid and vulnerable: the maids of the rich in gulf states; the office cleaners in London; the fruit pickers in California. So anything that puts more money in their pockets and those of their relatives back home has to be a good thing.

Bitcoin will destroy the remittances industry

Good headline. But not true. Or is it?

I think it is. Just not quite yet.

Because what is a remittance? I am sitting in London with £200 in my pocket. My mum is sitting in Colombia and needs 800,000 pesos (which, for the sake of argument is about £200). I am a nice son, so I want to send her the £200. I turn up at a remittances agent and hand over my money. Some hours later my mum magically receives 750,000 pesos.

What is this magic that transforms British pounds in London into Colombian pesos in Bogotá within a few hours? Essentially a long chain of intermediaries (banks, exchanges, agents) who change pounds into dollars, dollars into pesos and order their agents to deposit the pesos into my mum’s bank account or hand over the cash. And they all take their cut along the way (did you notice how my mum didn’t actually get 800,000 pesos?).
The cut takes two forms: upfront commissions and uncompetitive exchange rates.

But I have to pay them because otherwise who will perform the magic?

Well, with bitcoin, I can!

I get a bitcoin wallet, go to a bitcoin exchange and buy £200 worth of bitcoin, which goes into my wallet.
I then get my mum in Bogotá to get a bitcoin wallet. I transfer my bitcoin to her wallet. She can then sell the bitcoin for Colombian pesos at a bitcoin exchange.

That’s it. Done. I have performed the magic of turning pounds into pesos within hours. And no banks, no middlemen and only a tiny (and I mean pennies) fee for moving bitcoin between wallets. I didn’t even have to leave my house.

I have actually done this. And it actually works!

And this magic is available today, right now, to every Colombian migrant worker in the world. They could totally destroy the business model of Western Union, Moneygram and all those others!

So why isn’t it happening? Why don’t I hear the rush of keystrokes to get those bitcoin wallets? Why can’t I hear the sobs of panic of all those Western Union executives as they see their bonuses and share options (their very jobs) disappear?

Well, it’s never as simple as that is it?

In my next article I will talk about the things that are standing in the way of this revolution.