Video - Programmable Money Hard Promises, Soft Contracts

In this talk, Andreas compares the "soft" promises of discretionary financial systems that use chargebacks with the "hard" promises of the blockchain. He also tackles the soft contract's usability in technical presentation.


The book is Mastering Bitcoin it was published December 11. It came out on paper immortalizing all of the mistakes of the first edition and fixing them in printable hard medium and to my eternal shame this book is full of mistakes. Now, if you’re programming you’ll understand why that is, right? We doing with software and this is a moving target. Many things in Bitcoin change day to day and so many of the things in this book were wrong the moment they were written. Some of the things in this book were corrected first and then they became wrong over time. And so, what I’d like to do is extend the challenge and an invitation to all of you find all of the mistakes in the book and then do a pull request. GitHub Bitcoin book, the entire thing is open source. It’s available under creative commons license. It’s free to read, it’s free to mash-up, it’s free to reuse. You don’t really need the dead-tree’s edition. All these guarantees it’s already out of date by the time the first print happens but I would love if you could find these little mistakes and let me know and do (0:01:20) request in this veritable open source I will incorporate that and fix the mistakes and the next edition is going to be printed and as soon as it hits paper it will be full of mistakes again. And then we repeat that process in a process of continual evolution and development and software gets better over time and bugs are shallow the more eyes that see them, right? So, this is the open source concept in a book. O’Reilly fortunately is a publisher who is very comfortable with this concept and they’ve been very supportive both in developing this in the community fashion but also in accepting changes. So, I look forward to hearing if you can find all of the things that are wrong about this book. However, many things are correct in this book and hopefully you will find that it does give you some useful information. I’ve tried to make it accessible to all types of people who are involved in Bitcoin. First two chapters are pretty readable for even for someone who’s just a bit technically minded but not necessarily developer. You don’t need to write a word of code in order to read the first couple of chapters. It starts getting hairy after Chapter Four. It starts getting a bit more complex and hopefully you’ll find it convey some good analogies on some of the key structures in Bitcoin.

I was doing a book giveaway the other day and wanted to do some kind of competition, ask a question, see who would get the right book so I asked this roomful of people I said, “Okay, who knows what a Bloom filter is?” Okay, who knows what a Bloom filter is in here, anyone? Okay, who knows what a Miracle Tree is? Oh, fantastic. Okay, none of you need this book. So, the people who didn’t raise their hand get a free book. That’s how I run the competition because after all if you already know what these things are you don’t really need to read it.

So, I want to talk very briefly before we go – we’re going to do a book signing, everybody gets a book I’ll be happy to sign the book any dedication you want if you just come up and don’t say anything the default will be to: that name that’s on your badge and my signature, okay. But if you want me to write something else almost anything is acceptable I will write it on the book if want to donate to someone else under different name, for example.

I want to talk about the difference between programmable money and institutional money. This came from – I don’t really prepare my talks they’re kind of ad hoc and improvised but this came from a tweet I received this morning. Someone said, you know, there’s a lot of talk among those who are opposed to Bitcoin about the fact that it has irreversible transactions and how that is a major weakness of the system, irreversible transactions and I thought that was really, really interesting. And the reason it’s interesting is because it shows a fundamental misunderstanding of what we’re doing here, what this technology is really about. Because irreversible transactions to point that out is a problem and Bitcoin is to take one of Bitcoin’s biggest strength and to think it’s a weakness. Because, you know, one of the funny things that happens with Bitcoin is that it gives us a hardcore of trust, the decentralized trust model and that trust is hard and from that hardcore of trust you can extend and create guarantees – guarantees of performance verifiability security and in the case of transactions irreversibility. Irreversibility is a feature that derives directly from the hardcore of trust. And if you think about it as programmable money then you realized from this hardcore of trust you can then add layers of innovation that soften that guarantee if you want. So, as a developer I think of that, I look at that technology and I think well, you know, as you’re making reversible transactions in Bitcoin isn’t difficult. It get simulated very, very easily.

So, let me give you a simple example. You could use a multi-sig transaction between a buyer and a seller and then have that transaction pre-signed a payment to the seller with an nLockTime delayed guarantee. So you do automated Escrow. Money goes into Escrow for thirty days, fourteen days what do credit cards do as charge back, pick a number, right? You can do a delayed transaction. Now the vendor knows, the seller knows that thirty days after they have a pre-signed guaranteed verified transaction with an nLockTime they can verified independently that means that you have the money and in thirty days it will be theirs. Locked. If something goes wrong with the transaction you can use a third-party arbitration Escrow agent who’s holding the third key to dispute that transaction, issue a countervailing transaction that double spends the inputs and refund the buyer because the product wasn’t delivered, the product was faulty.

So, with just a combination of two of the most common technologies in Bitcoin and the use of a third-party Escrow I’ve taken the hardcore promise trust the reversible transactions and I’ve softened it programmatically and created a fully reversible automated Escrow chargeback capability that offers consumer protection as a software service. But yet in this model the market for arbitration is open to everyone, not just Visa so you don’t have, for example, if you’re on the Visa network you have to do Visa rules for Escrow and chargeback an arbitration. If you’re on the PayPal network you have to use PayPal’s rules but on the Bitcoin network you can pick your own arbitration provider. So now we have programmatically simulated consumer protection with a brand new open market for arbitration services. Plus I still have the underlying guarantee that in thirty days that LockTime transaction will execute and will be verified unless there is a countervailing spend. So, I took irreversible transactions (0:07:59) soften it and created reversible transactions.

Guess what banks can’t do? They can’t simulate an irreversible transaction. You can’t take a soft and fuzzy infrastructure full of counterparty risk and intermediaries and simulate hard trust. They can’t do irreversible but if you start with a reversible programming a soft simulated reversible transaction is easy it’s just a matter of adding a layer. So, see how what they see as a flaw is actually a great strength because we’re taking a fundamental feature of hard trust and then we’re programming different layers around it.

The same thing applies to counterparty and institutional trust. Institutional money is built around the soft layer full of counterparty risks. It can’t innovate fast, it can’t deliver trusted services, it can’t deliver hard trusted models and it can’t change. The reason it can’t change is because in order to change institutional money you have to orchestrate all of the different layers. It’s not just the Visa API but every single counterparty and intermediary that’s in there. The network itself has all the intelligence in the center.

Bitcoin is the exact opposite. It offers a very simple primitive core which has a hard trust model and then all of the intelligence is pushed to the edge allowing innovators like the people in this room to create innovation without permission, to add innovation layers at the edge, to implement applications, services, products, financial instruments that redefine the trust model and to do so they don’t have to ask for anyone’s permission – write and deploy and that is the fundamental difference between programmable money and institutional money. It still strikes me as a highly ironic how the people who criticize Bitcoin for some of its greatest strengths have not figured it out yet that there is no way in the world they could even begin to simulate these strengths and yet we can simulate their machinist all day long, right, in software easy-peasy. We can implement the things and they criticize Bitcoin for exhibiting the characteristics of a toddler currency which is exactly what Bitcoin is – it’s only five years old and already we’re reinventing financial services that took hundreds of years to build on the counterparty model and we’re moving faster and faster as this pace is accelerating.

So that’s my little spiel based on just the tweet I got this morning. Thought it would be interesting to look at the difference between programmable money and institutional money. Thank you so much for coming. We’ll be doing a book signing outside and if you could line up let me know everybody gets a free book and I hope to see you again at the MIT Bitcoin meetup (0:11:10) Thank you.

Written by Andreas M. Antonopoulos on February 8, 2016.