Matthew Roberts

I am a cryptobiologist specializing in the study of digital life forms like blockchains and certain kinds of unbounded smart contracts. “We must not let our politics harm these beautiful creatures.” – Myself.

Page 3

Smart contracts vs dumb contracts

Update 7/12 I merged the discussion of datachains and pornchains into a separate article which is now here:

When I first entered the Bitcoin space the term “smart contract” had a very specific meaning: it was any transactional protocol built on top of Bitcoin whose basic functionality did not have to depend on trusting a third-party. In other words, a smart contract had the same requirements for trust as Bitcoin did – that the results were absolute and it was beyond the power of anyone to circumvent the intended behaviors of the system.

Today, the term “smart contract” is used to refer to any kind of program or transactional protocol making use of the blockchain, period. The definition has become so very broad that it can more or less be applied to anything, but before I get side-tracked talking about that - I would like to revisit the early days and...

Continue reading →

The crypto conman

I’ve recently started a consulting business that specializes in blockchain technology and so far its been going quite well. There’s all the usual highs and lows of running a business: “this will never work”, “this is completely hopeless”, “we’re getting no customers”, “we got 1 million leads today” … to the more mundane stuff like the clients wants us to clone Google in 2 hours for a fraction of the cost of a cup of coffee. But today I noticed something more sinister show up: The Crypto Conman.

The Crypto Conman first contacted me about 2 days ago regarding a new blockchain project. The job was simple enough: he wanted us to modify an existing cryptocurrency to change a few parameters in the source code. Normally we hate jobs like this because there’s very little dev work involved so the job effectively amounts to some educated copy and pasting. But alas, such is the life of consulting...

Continue reading →

Building a decentralized cryptocurrency exchange using zero-knowledge proofs

7/12/2017: The protocol is flawed and contains a black mail risk. The other side cannot claim a refund without knowledge of the secret so even if the TXIDs can be validated with ZK-proofs the scheme still doesn’t work. I guess its back to the drawing board with this idea.

Edit 5/9/2016: I’ve updated the scheme. I’ll update it again if I get time to think of a way to avoid using timelock encryption for the refunds since that will make it more secure. Although I want to add that timelock encryption depends on the security assumptions of hash functions so its also not like this is particularly crazy (as new and scary as things may sound.)

Quite recently its become possible for those outside the field of cryptography to construct zero-knowledge proofs. One such proof is a proof for SHA256 hashes that basically allows anyone to state that “yes, I know some value that produces some known...

Continue reading →

Decentralized atomic cloud storage using Bitcoin

Update: 7/12/17: The biggest flaw with this proposal is that its not atomic with respect to a user’s bandwidth (and this is a crucial concern in a decentralized cloud storage systems.) My conclusion is that payment protocols for these systems cannot be made much more low trust than a standard micro-payment channel (unless there is some use-case where bandwidth can be ignored but I can’t think of one.)

Update: 13/01/17. A recent paper has emerged describing a “new technique” for doing “Atomic Verification Via Private Key Locked Bitcoin Transactions.” This paper is so similar to the scheme I described here 10 months ago that its hard to tell if this is plagiarism or a genuine mistake. It’s also interesting to note that the author’s scheme won’t work on the Bitcoin network since it depends on OP_AND which is currently disabled and their proposal won’t guarantee a file’s availability under


Continue reading →

Introducing the timechain

By Matthew Roberts and Elías Snær Einarsson

Update: April 20, 2017 - See “Turning back the clock on timechains -
a follow-up” for a discussion on security.

Historically companies and individuals have struggled to uphold adequate security practices when it comes to the handling and storing of cryptocurrencies and this can be seen in the numerous hacks that have plagued this industry.

Probably almost every large Bitcoin exchange and wallet provider have seen at least one major security incident which either lead to (or could have lead to) the loss of customer’s funds. The problem at hand is actually very simple and comes down to one basic issue: the need to keep ECDSA private keys around for signing withdrawals.

Example 1

Imagine you’re a currency exchange for cryptocurrencies. To be able to credit customer’s accounts you generate Bitcoin addresses on the fly and associate them with...

Continue reading →

P2P Mobile Carriers


A peer-to-peer marketplace for mobile plans would allow mobile service to be provided with minimal friction and lead to new innovations in the mobile system. In this post, I introduce a new protocol for sharing access to mobile plans with untrusted third-parties.

The protocol uses secret contracts to share U/e/SIM credentials without revealing secrets to a third-party. Due to the way authentication is handled in the mobile system, a third-party is able to authenticate without a secret key, and end-to-end encryption can be applied to prevent owners from reading messages- even with full knowledge of a secret key pair.

To prevent duplicate logins, I introduce a novel method based on fuzzing the state of temporary identity allocation in the visitor location registry. The technique results in cryptographic proofs that can be used to penalize a bad actor if they breach the terms...

Continue reading →