A computer science student in the Netherlands has built a way to weave messaging into the underpinnings of Bitcoin that’s both cheap and resistant to censorship.
And, because messages would be baked into the Bitcoin structure itself, they would be unerasable, meaning that countries would have to keep the messaging service if they wanted to use the virtual currency, and therefore would have to potentially put up with dissidents.
The developer is Krzysztof Okupski, who’s also the author of the Bitcoin Developer Reference.
The 25-year-old student’s graduation supervisor, Dr. Boris Škorić, hit upon the idea of using the so-called “block chain”, the distributed database that acts as a ledger of Bitcoin transactions, to evade censorship – an idea that Okupski jumped on for his graduation project at the Eindhoven University of Technology, as he told CoinDesk:
Due to the humanitarian nature of the project, I immediately agreed that it was a good idea and went to work.
As Okupski describes in his thesis – titled (Ab)using Bitcoin for an Anti-Censorship Tool – freedom of speech should be a fundamental human right, and is outlined as such in the United Nations’ Universal Declaration of Human Rights.
In spite of that, a significant part of the world’s population is “deprived of this basic right,” he says.
He cites China as being the most notorious example: a country that censors the internet through both legal and technical means, including via IP blocking, DNS poisoning, URL keyword filtering and limited packet content filtering, in addition to blocking connections made over secure transport protocols.
That’s where Bitcoin comes in, Okupski says – first, since it’s the first virtual currency and laws haven’t caught up to it yet (which puts it beyond the reach of existing legal frameworks), but also because any country that bans it would be shooting itself in the foot, from an economic standpoint.
Dr. Škorić described the method to Phys.org, saying that it entails two programs: one to post messages, and another to read them.
The first program converts the text of a message into Bitcoin transactions, which builds on the idea that a succession of payments are being transferred from one party to another, and both parties have agreed that a given amount equals a given letter: for example, one euro represents an A, two represents a B, and so on.
Thus, a succession of many Bitcoin payments can be decoded into messages.
Škorić says it gets smarter still:
The program that posts the messages creates a million Bitcoin accounts, free of charge, after which money is transferred backwards and forwards between those accounts.
The number of different accounts, and the fact that you can divide an amount of money into multiple parts, offers a lot of options. The currency itself is extremely small; one Bitcoin consists of 100 million 'Satoshi', and all amounts are expressed in Satoshi. The program that posts the messages converts them into a chain of transactions, and sends them out into the Bitcoin network.
In essence, the service connects to a user’s local Bitcoin Core wallet and then recirculates the funds within that wallet. The software embeds the message data in the building blocks of each transaction, such as within signatures, public keys or even the transacted amounts themselves.
Administrative costs are dirt cheap. The software is getting results that, in the best-case scenario, cost about 16 satoshis per embedded byte.
CoinDesk points to its own article on the development as being worth about 60,000 satoshis: an amount that converts to roughly $0.25 USD, or about £0.15 GBP.
In fact, one of the project’s features – the ability to chain messages together so that they can be read chronologically – might mean it could be used to create a news service that runs on blockchain.
The trick is this: whenever a message is sent, the last transaction output is memorized by the messaging system and used as the first transaction input in the next transaction chain. This allows for transactions to be chained together and messages to be linked and, given a starting point, to be read chronologically.
While it sounds promising, Okupski’s work is just a proof of concept at this point.
He’s shown that it’s feasible to build a censorship-resistant tool on top of Bitcoin, but there’s still work to be done on the issues of long waiting times for reading messages; making a user-friendly interface to replace what’s now a command line; and the creation of a compiler, plus various platform packages, to replace what’s now a process of manual compilation.
But what’s more important still is the question of security: specifically, whether messages will be traceable. It’s a crucial question, given the political dissidents who could get their messages past censorship but still be prone to identification and therefore governmental retaliation.
Determining what his tool can promise – and what it can not promise – vis-a-vis anonymity is the most important aspect of future evaluation, Okupski says.
Stay tuned. We’ll keep an eye out for further research and let you know how work on this interesting project goes, as Okupski and his team work on figuring out an answer to that question.