What is a smart contract?

What is a smart contract?

Just what is a smart contract? Is it like a legal contract? In this short video, shot in downtown Miami, I discuss the goals of Bitcoin and Counterparty, and discuss ...


What's up, party people? Chris Derose here in downtown Miami, and today, I wanted to talk with you a little bit about what is a smart contract? What are these things? Everyone's talking about them. Are they like regular contracts? Are they something special, in fact? Let's work from there. So the smart contracts might be a bit misaligned with, perhaps, what the traditional notion of a contract is. A traditional contract is an agreement on paper between two individuals, and it asserts, on some level, the expectations of both parties and contingencies upon which, when certain actions happen, events are then to transpire. And of course, those are then given to attorneys, they are marked up..

. They would hopefully never be executed, but the time at which they are executed, they would go into a courtroom, and they would be deliberated upon by all involved parties. And it will cost you a whole lot of money, and at the very end, nobody's happy. At least that's how the axiomatic sort of view goes. But with smart contracts, we have none of those things, really. Smart contracts are really the manifestation of what programmable money is.

We talk a lot in Bit Coin about what it is to have programmable money. And in Bit Coin itself, you have some very preliminary support for kind of what we call smart contracts. A lot of people don't realize, but within the Bit Coin protocol, when you make a spend, there's a mini programming language in that spend. And it's typically very simple. It's typically just give money from A to B. Well, with smart contracts, in general, we build upon that to a more substantial degree, and you see that in counter parting.

Counterparty uses Serpent. Serpent was defined in the Etherium protocol, and it is becoming a standard for describing smart contracts. In these models, you would typically have code that is very similar to Python, at the moment. And this Python code would define certain truths or accept certain inputs external to the contract, and based on events would fire at a given time and divvy up the rewarded funds in the way that was defined per that contract. There's not a lot of arbitrary interpretation in these smart contracts. So for a lot of people, it's advantageous in that there's very little ambiguity, and we know what's going to happen.

Now, they can also be a bit of a problem in the case of smart contracts because for a lot of things in life, we do need to deliberate. There are certain things that fall outside of these models and these paradigms, but certainly, too, even in those models, we have room in smart contracts for oracles to broadcast their opinions. So it may be that within the rubric of smart contracts, we still have some level of arbitration, albeit, perhaps, in private courts or in companies or per even just arbiters that specialize in these things, and they themselves apply a subjective view without attorneys. We don't really know where this is going to go exactly, but what we do know is that it's programmable money. In the case of counterparty, it's a Python-esque Serpent implementation. There's a virtual machine that runs in counter-party, which uses bit coin, and it uses the bit coin block chain.

One other thing to really note about smart contracts is because they're computer code, they need resources to run. And for many reasons, spam prevention being at the top of that list, we need to keep the miners from getting overworked in the way that they evaluate smart contracts. So in a counterparty system, we burn XCP to run these smart contracts. It's quite literally gas, in the same way that your car uses gas to run. So this is another big principle component of smart contracts. I think that a lot of people are going to start to recognize the intrinsic value function of bit coin going forward, as they see that this smart money relies on bit coin to run.

So quite simply, smart contracts are programmable money, and Counterparty's implementation is Serpent. And we certainly expect this to grow into a major thing. There's are all kinds of discussed options. It's improbable that smart contracts will look very much like the current contract systems that we know, but we've affectionately dubbed them "contracts" because they have some properties in common. And certainly there's some inspiration there. That's it.

That's the intro to smart contracts. We talk about that a lot on this channel, so if you want to know more, feel free to subscribe. And if you have specific smart contract questions, any questions at all about bit coin, go ahead and Tweet me. I'm Derosetech on Twitter. And you can email me, as well, at

I'd love to hear from you.