GUEST: So, “smart contracts” are rather poorly named, in the sense that that they’re more-properly thought of as ‘applications’; a series of ‘if-then-else’-type clauses for drafting up and executing negotiations. So, the last video I did was on ‘block chain’ technology with a leaning toward Bitcoin and cryptocurrency. Without rehashing too much of that video, a ‘block chain’ is a technology—a distributed ledger– and means of validating and seeing a series of transactions such that no party in the network needs to directly trust or know anybody else. And the first application of this was cryptocurrency, most-notably, Bitcoin. But now people have started talking about using this ‘block-chain’ technology not just for storing transactions of Bitcoins or cryptocurrency but as storing “smart contracts” and running “smart contracts.” INTERVIEWER: Just because we’re using an application that allows me to pay a taxi driver surely I’m still going to need the taxi-lift, ride-sharing application to get me in touch with whoever’s offering the service? GUEST: That gets a little bit further down the rabbit hole and into something called “distributed applications” where, in fact, anyone could—you would have your “smart contract” that is your business logic for negotiating the transfer of funds to taking the Uber case to the driver and the client and you have your front end—you could think of it like your a web developer, like a front-end HTML page to your back-end service. But instead of having that front-end being a web page—it could be a web page, but it could be a desktop application, the sorts of Limewire, Napster; something running locally on your machine and anyone is free to create their own front-end to a given “smart contract” application and distribute it in any way they like so it doesn’t have to be running from one particular website or run by one particular organisation. It could even be put on something called the Interplanetary File System, which is a peer-to-peer networked file system such that it couldn’t actually be taken down or moderated by any one individual in the way a standard website can. It has the potential, at least, to completely remove the middle-man the escrow account because your ‘smart contract’ ends up performing that function. An escrow is a third impartial mediating party—it’s the function of Uber Uber take your money, Uber, importantly, take their cut, and then pays the driver. If you have a “smart contract” taking the place of Uber there’s no middle-man taking a cut. It really is a technology that represents a revolution rather than an evolution. And it’s something where you’re going to move away from ownership of data or ownership of a service to designing the best interface to that service because a service can be put up on the block chain technology used by anyone, viewed by anyone so the best written service that performs the job is the one that’s going to be used most. And what determines whether an Uber-type outfit makes money or not is whether you’ve got the most user-friendly, prettiest app to interface with the “smart contract” and you could charge a sum for using your particular interface to the “smart contract.” But we really are talking WordPress-type—our business logic is gone we’re talking about a user interface, a nice pretty way of interfacing with it so there’s nothing to stop an open-source community or an individual in their garage producing the nicest pretty— a graphical design student produces the nicest Uber app, umm… and distributes it for free because he has the time and because he can. INTERVIEWER: Let’s stick with Uber for now; is it say that the drivers would have to say, “right, I run with this kind of contract” or would they log themselves with two or three different types of contract and then you just find them through–however you find them? GUEST: That’s the other thing though: they’re free to use different contracts, different models. So you could have a “smart contract” that models a taxi-like service for weekdays and a different one for weekends that offers some benefit to the driver for weekends and they can absolutely make use of both contracts. In fact, you can have the same interface to both contracts. So, in terms of the client finding them it’s seemless and they don’t have to know or care about— but in terms of the driver, they’re optimising, potentially, the way they’re getting paid depending on which contract they’re using. And your “smart contract” could model a “luggage allowance”, or something like this so you end up getting a min-van if you’re taking a whole bunch of people and a whole bunch of luggage. INTERVIEWER: Would there be one block chain that the different contracts all stack their data on or would there be a block chain for each of the contracts? How does that work? GUEST: So that’s an interesting question. There are different block chain outfits out there at the moment each with their own sort-of instatiation–or ability–to express “smart contracts.” So in fact, Bitcoin has been expanded to allow some kind of “smart contract” capabilities but it’s not what it was designed for. The platform which is really sort-of making headway, and is a big name in this area of “smart contracts” is something called Ethereum. And Ethereum is a block chain that is designed not primarily to store cryptocurrencies and tokens and transactions but actually to store a global computer state and a series of computational operations. Ethereum can be thought of as a very-large, very-slow, global computer stored on the block chain. INTERVIEWER: How does the money work then? GUEST: Although I said the Ethereum block chain was not primarily a cryptocurrency, which it isn’t you still do pay for things in it with cryptocurrency. So your Ethereum block chain stores a global computer state and a series of computational operations but you pay for performing those operations and you pay in the Ethereum currency which is not Bitcoin, but Ether. And in fact, there’s the translation between the Ether, which is the cryptocurrency and the computational operations which are charged in Gas and there’s a Gas to Ether exchange rate. This is an account on a distributed application that exists for the Ethereum network and essentially, I’ve got this application here, Mist, which I downloaded as my front-end, my GUI, my way of interfacing to the Ethereum network and it’s a browser that allows me to see other distributed applications that are out there and potentially view them as well. So, the distributed application that I’ve searched for here is a service for converting from one cryptocurrency to another, called Shapeshift. And this application—I can search for it through this browser, I can pull it down, I can display it this ‘Mist’ application–this interface is running locally on my machine but it’s negotiating when it’s sending its transactions when I’m converting Ether to Bitcoin or vice-versa. or performing the functions of a given application that I load. It’s then serving as my gateway to the “smart contracts” that are hosted on the Ethereum network and then whatever function I call which I call by sending a transaction is executed on all the nodes in the network in parallel. You’ve got—which is why it’s very slow because you have a redundant queue of this sort of computation, whatever it might be it could, you know, add two numbers together is being performed by every single node and then agreed upon and then the result of that is added to the global state of the Ethereum virtual machine – global computer is updated.