Monthly Archives: June 2014

Cryptocurrency 101 – There Is No Undo

One of the hardest things for people new to cryptocurrencies to understand is that transactions are final.

There is no getting your money back if the guy who has it won’t give it back. There is no credit card company that can reverse a charge, and there is no bank that can refund money you paid someone by mistake and deduct it from his account. There isn’t even a court that can seize someone’s assets if you can prove you were scammed out of the money. If you can prove who it was, and prove the scam, then yes, maybe you can get a court to order him to return your assets. But the court cannot do it for him. Actually returning those assets would require a key that there is no way to actually force him to disclose. Maybe he can sit in jail for contempt of court, but nobody can go “seize his account” and refund anything to you out of it if he refuses to.

Without going into the esoterica of protocol, this is a simple result of the peer-to-peer structure of the bitcoin network. Every participant is an equal partner. None have authority over any other. In fact none have more or less authority than any other. That means if you allow any node the power to undo a payment some other node made, then every node has the power to undo any payment that any other node made. Do you really want Bob Random out there to be able to undo any transaction? When you have no way of assuring that he’ll do so in any principled or reasonable way?

When you’re talking about reversing charges with a credit card, or about a criminal’s assets being frozen by a court, you’re talking about authorities who are allowed (indeed required) to do what they do, specifically because they act in a reasonable or principled way. And while some political libertarians will dispute that it’s really all that reasonable or principled, most of even them believe in its integrity at least enough that they themselves have bank accounts. There’s never 100% agreement as to what is reasonable or principled, and in fact that’s exactly why you don’t want Bob Random Everybody to have that power – because you and he (for at least some values of he) are guaranteed to disagree about what constitutes its responsible use, or even about whether it is something that ought to be used responsibly.

So I could have written an article about how the blockchain protocol guarantees that a transaction is irreversible, and how that’s their goal and purpose and why it’s necessary; but the crucial issue is that the entire thing is a peer to peer protocol, and peers, generally, are machines belonging to people you know nothing about. Even if you wanted to impose a ‘majority rule’, somebody with a personal grudge against you can own hundreds of machines with thousands of addresses, and pretend to be a majority of voters in any voting protocol about whether your transactions go through or get reversed.

At this point someone is spluttering… “But they have to! You can’t run a financial payment-processing service without providing for reversals and chargebacks!” And to that person I just have to frame this another way.

Nobody’s providing a payment processing service. There’s the payer paying, and the payee receiving, and there is absolutely no financial institution between them. The payer and the payee are peers with an exactly equal amount of power. If you insist that one of them has to provide for chargebacks and reversals, which of them should be required to permit the other to do that? And then what prevents the other from using that power to rip them off mercilessly?

The only other person who facilitates their transaction is the ‘miner’ who pulls it off the network and includes it in the next block. And neither of them has any reliable way of even finding out who the miner is, nor has the miner any reliable way of knowing who they are. If you want to be a miner, all you have to do is start your peer and mine. Anybody can do it. It doesn’t mean they are a responsible person who has any financial relationship with, or even knowledge of, the people whose transactions get into the blocks they build. In fact they are just another peer with an equal amount of power, and the same question applies: If you require them to bear the cost of chargebacks, how could you prevent others from ripping them off mercilessly?

The point is once you start looking at the power to revoke transactions, you have to have mechanisms to ensure that that power is used only in agreed-on ways. A blockchain provides no mechanism for agreement beyond the agreement on rules already built into the peer software, and if something is against those rules, its occurrence wouldn’t have been accepted by other peers in the first place.

If you can’t place faith in a trusted authority to do chargebacks, you have to place complete faith in yourself to not make mistakes. So it’s more like cash than it is like any payment system moderated by an authority or institution.

Is there a way out of the quandary? I think there is. Blockchain transactions are strictly voluntary. The implication of strictly voluntary interactions are that in order for transactions to be reversed, the parties involved have to consent before they perform the transaction to give someone that power. The question is who, and why, and what if anything prevents him from using the power to rip people off?

Or, as I said on a mailing list recently:

Cost of reversing a transaction – zero. Cost of agreeing on who has the authority to reverse a transaction and under what circumstances – prohibitive.

Or maybe not prohibitive; we’ll get to that in the next article. But if not prohibitive, then at least interesting.