The Changelog: Software Development, Open Source - Ethereum and Cryptocurrency (Interview)

Episode Date: September 30, 2016

Gavin Wood joined the show to talk about Ethereum, Cryptocurrency, The DAO, Ethereum Virtual Machine (EVM), what could you build with Ethereum, and the future of digital currency. Gavin Wood is Founde...r of Ethereum, creator of the Solidity contract language, and Founder of Ethcore — the company that created Parity, an open source Ethereum client.

Transcript
Discussion (0)
Starting point is 00:00:00 I'm Gavin Wood, and you're listening to The Change Log. Welcome back, everyone. This is The Change Log, and I'm your host, Adams Dekowiak. This is episode 222, and today Jared and I are talking to Gavin Wood about cryptocurrency, Ethereum, and this big world of unregulated digital currency. Gavin is the founder of Ethereum, the creator of the Solidity Contract Language, and the founder of ETHCORE, a company that created Parity, an open source Ethereum client. We've got two sponsors today, CodeSchool and Rollbar. Our first sponsor of the show is our friends at CodeSchool, and if you want to learn something
Starting point is 00:00:43 new, a proven method is to learn by doing, and that's exactly the way CodeSchool, and if you want to learn something new, a proven method is to learn by doing, and that's exactly the way CodeSchool works. You learn to program by doing with hands-on courses. CodeSchool's courses are organized into paths based on technologies like HTML and CSS, JavaScript, hot topics like React and Angular, Ruby, Python,.NET, iOS, Git, databases, and even electives that take you off the beaten path. Let's see you want to learn React. You can start level one of CodeSchool's React course, which begins with a quick video lesson on React components.
Starting point is 00:01:16 After the video, you get hands-on practice building with components using in-browser coding challenges. There's no hassle, no setup, just learning. And when you sign up for CodeSchool, use our special URL, codeschool.com slash changelog. That'll save you $10 per month, normally $29 a month. Now it's just $19. Enjoy that. Once again, codeschool.com slash changelog. And now on a fun show. Gavin Wood joining us today from, was it ETHCOR? Is that right? ETHCOR, that's right. ETHCOR. And we've never had a conversation
Starting point is 00:02:00 about cryptocurrency on this show yet, Jared. So like, this is a deep subject. Where do we begin? Well, I think we should begin learning a little bit about Gavin. Gavin, first of all, thanks for joining us. And Gavin, give us a little bit of your backstory. Tell us about who you are, where you're coming from, and then we'll probably get some term definitions going first, just so we have a common vocabulary.
Starting point is 00:02:20 But first of all, welcome to the show and tell us a little bit about yourself. Well, thanks for having me. So I've been coding since probably around the age of seven or eight. I can't remember exactly when. On an old 8-bit, barely supported computer with no games, which kind of led me to the necessity for actually coding. I did school. I actually made a few games then, and I actually ended up publishing one of them in a magazine at the time, which was kind of nice.
Starting point is 00:02:51 University I got to, and I did a master's in computing and eventually a PhD, which was specialized in music visualization, an interesting subject in and of itself. I spent a short stint in the games industry, working with a company called Frontier Development, who some of the older listeners probably remember as Elite, the original 8-bit space trading game, which was pretty enjoyable. I left there to go and do some consulting work on and off.
Starting point is 00:03:27 So I worked for Microsoft Research for a while, doing some of their more advanced kind of API-driven projects, working on things like video synthesis and embedded domain-specific languages. And after a couple of startups, I ended up getting to Ethereum. I met up with Vitalik back in late 2013 and as being the first working implementation in that it's the first one that could actually send transactions between machines and allow you to run programs on the Ethereum virtual machine.
Starting point is 00:04:15 You mentioned a name there, Vitalik. He's the inventor and co-creator of Ethereum, right? That's exactly right, yeah. Okay. And so you met him where? We actually first met in Miami back for the Bitcoin conference
Starting point is 00:04:32 then. We chatted a little in the previous December in 2013 and then finally met in Miami. Are you guys proximity-wise close together, like in terms of geographics? We both moved around a lot during that time. So we did spend a few months quite close to each other, sort of touring America.
Starting point is 00:04:56 But by and large, we kind of both moving around generally different places, occasionally bumping into each other. Gavin, on your website, you say that you're a free trust technologist. Can you give us a little bit of what that means? Yeah, I'll try my best. I've been asked this question numerous times, and I think I generally give different answers each one, and I'm not sure any of them are particularly good. So when we say free trust, really what we're talking about is this notion that there are machines and organizations and individuals with an elevated
Starting point is 00:05:33 trust rating in the world, let's say. So when we interact with a bank or with a government, we sort of innately trust them. In the case of a government, we more or less have to trust them because we're not given any choice. And the same is sort of true for many of the institutions. And these guys form kind of nexuses. They form kind of very particular points in the fabric of society in that we can go to them for our fees services. We can't go to anybody else. It's not like i can do
Starting point is 00:06:05 my banking with um with my best friend who i actually do trust so when we're talking about trying to architect systems like financial systems to take a poignant example um we could architect these in the way that they've always been architected sort of server client where the server is trusted and the client isn't. And that's what we've done so far. Or we can architect them in what I would call a trust-free fashion, where there isn't really a trusted server.
Starting point is 00:06:34 There isn't really a sort of trusted organization. There's just peers. And peers verify what each other says by virtue of sort of knowing enough information that they actually can. So if you look at Bitcoin, the only reason Bitcoin really works is that all of the nodes on the network don't have to trust the other nodes. They only need to trust themselves. If they had to trust some other nodes, then it wouldn't really be trust free. I think that's a pretty good explanation. So speaking of nodes on the network and financial systems, let's dig a little bit into Ethereum just at a top level, maybe explain some jargon.
Starting point is 00:07:12 But I think what might be useful for your sake, Gavin, is to get a little bit of Adam and Mai's background with regard to cryptocurrencies, Bitcoin, Ethereum, just so you know where we stand in terms of understanding. And I'll just let you know that our at a high level. Give us Ethereum, the elevator pitch in light of that level of background, and then we'll go into help and clarify a few of the terms here next. So Ethereum is programmable money. So Bitcoin is money, more or less, on the internet. Magic internet money, as it's sometimes called.
Starting point is 00:08:04 Right. Well, Ethereum is programmable money. more or less on the internet, magic internet money as it's sometimes called. Well, Ethereum is programmable money. So it's doing the same thing. It's still magic internet money, but this money can have particular software attached to it, particular conditions or particular logic. It can even have storage attached to it. So money can remember some sort of history, can remember what's happened to itself, and it can do different things dependent on that memory. So that's really what we're talking about with Ethereum. Now, it could also be described as a decentralized application platform. It could be described as a smart contract platform. But at the end of the day, probably the thing that makes the most sense to people is the notion that it's money that can have program software install actually in it. So to lay out a few pieces of the puzzle here, we have Ethereum, the platform,
Starting point is 00:08:55 which is a application platform. You have Ether, which, and you can just correct me any point that I misstep here. Ether is the currency, the store of value. And then you have Solidity, which I believe is the programming languages that you use to develop this programmable money. And then we have one aspect
Starting point is 00:09:16 of the Ethereum atmosphere ecosystem called the DAO or the DAO, which is often brought up, but not necessarily the same thing. So can you help me with those pieces and maybe explain them better than I can? Sure. So Ethereum is the whole deal. Ethereum is often used to mean the ecosystem or the network or the technology. And in some sense, it's all three. Ether is very specifically the currency.
Starting point is 00:09:46 So it's this notion of this token that exists on a decentralized peer-based network that people can own and pass between each other. The Ether is a kind of special currency or a special token in that it can be used to pay for computation services on the Ethereum network. The Solidity is indeed one of several languages that can be used to encode contracts, the program contracts. And these contracts, when we say contracts, what we're actually meaning is the software that is attached to Ether, that is attached to the money, to the currency. Now, when we've got, I should also introduce another term called the EVM. So the EVM is the Ethereum virtual machine.
Starting point is 00:10:30 And this is very similar way to the Java virtual machine. And Java, this relates to solidity in that it's the ultimate sort of backend architecture that the language gets compiled to. Finally, the DAO. So the DAO is a very particular bit of software that was placed on Ethereum. So it's a contract. In fact, it's a set of contracts.
Starting point is 00:10:55 And it's notably had a bug in it, which cost quite a lot of people quite a lot of stress. Yes. Very good. Well, that's helping clarify things for me, at least. Let's talk about it in light of Bitcoin. So you said Bitcoin is this magical internet money and Ethereum is this magical and programmable internet money. Why the need for Ethereum when Bitcoin existed? Could we not make Bitcoin programmable or could we not layer on top of Bitcoin? Yeah. I mean, other systems have attempted this. So if you look at, for example, Omni, named MasterCoin or Counterparty, they've attempted to actually layer on top of Bitcoin. And it's difficult. Bitcoin really wasn't designed to be a base layer
Starting point is 00:11:50 of ultimately multiple protocols. And so it's sort of trying to, I think Vitalik actually coined the phrase, it's like trying to implement HTTP over SNTP. It doesn't quite work. The alternative, which is to sort of try and build Bitcoin out into something much more like Ethereum, I think is possible. But then you've got the issue of governance. Who decides how the Bitcoin protocol should evolve over time? And being an entirely decentralized sort of peer-to-peer system. There is really no governance system in place to make that decision.
Starting point is 00:12:27 And as such, what we've seen over the months and years is that Bitcoin actually is relatively stable, some might say, or stagnant, others might say. Either way, significant changes are very difficult to make to Bitcoin, basically because you require everybody's acceptance before they can go in. Right. So the reason why I first got interested in Ethereum, it was thanks to Fred, I think Air Sam is how you say his last name, the CEO of Coinbase.
Starting point is 00:12:59 Last spring, he wrote a post, which we'll link up in the show notes, called Ethereum is the Forefront of Digital Currency. And in that article, he lays out that basically Bitcoin is hard to program and Ethereum is built to be programmed. And that's the major difference. It's kind of like tacking something on later or using it as one of your founding principles of design. You're always going to be able to do it better when you start from the very beginning. You think, is that a fair characterization? Yes, I would say so.
Starting point is 00:13:31 And that's not to say that Ethereum is sort of amazing in every respect, but rather that for this one particular feature, Ethereum did very much have that built into the design. And so because of that, the languages, the solidity and these other ways that you go about writing programs on Ethereum or for Ethereum are more like higher level languages, scripting languages, as opposed to perhaps, you know, lower level C or assembly. I don't know what you write Bitcoin applications in. And is that a good way of thinking about it? We have kind of the scripting level of Ethereum, whereas Bitcoin is kind of
Starting point is 00:14:11 like a lower level language? This is a little more sort of interesting. Both Bitcoin and Ethereum have the notion of scripting language. In fact, before, in the very early editions of the Ethereum white paper, what we now call the EVM or the EVM opcodes were called Etherscript ES. Now, I actually made the alteration to EVM because I felt it very much recognized the fact that we were actually creating a virtual machine rather than actually attempting to create a scripted language. And as such, I did not believe at the time that we were going to end up programming scripts, as it were, using these opcodes or these scripting atoms, but rather that we were going to be creating higher level languages that should compile down to these opcodes. And so the EVM sort of opcode notions and terminology made a lot more sense
Starting point is 00:15:10 than the EtherScript ones. Now that's how it did play out, surprisingly. But I think it's unfair to characterize that the languages are necessarily kind of high level as opposed to Bitcoin. I think in principle, you could create a high level language and have it compiled down to the Bitcoin opcodes. Of course, it wouldn't be a great language because
Starting point is 00:15:31 Bitcoin doesn't support things like looping. But in principle, there could be some higher level language applied to it. Similarly with Ethereum, the first language I created for programming contracts was LLL, the low-level language or the Lisp-like language, which was indeed very low-level. You tended to code with opcodes themselves, but it allowed you to do so in a way that was a little more convenient. Right, Right. So you said you said contracts there and you mentioned smart contracts previously. And perhaps that's a term that we haven't quite explicitly stated how that fits into the equation. And it sounds like smart contracts are kind of the end result of the programming that you do.
Starting point is 00:16:18 Can you explain smart contracts and what that means? Yeah. So the smart contracts are something that Nick Szabo wrote something somewhat about in the early 90s. And it's basically the idea that you can have contracts which are written in English or whatever the language of the country is sort of executed in terms of a court ultimately and lawyers and judges. Or you can have the same sort of concept, the same sort of agreements, but codified in a machine-readable fashion, and ultimately
Starting point is 00:16:57 executed by computers. What Ethereum does is it provides a platform for these smart contracts. So it provides a means of codifying what we would normally see in sort of proper legal context and placing it into a computer program. Now, really, when we talk about contracts on the Ethereum platform, we're actually just talking about very basic software, right? And any programmer would come to it and they would recognize it as being software. So it's not that they actually look like contracts, but rather it's more about the intent. These things are intended to govern the use of,
Starting point is 00:17:35 or to govern the meaning of money and cash flows. And so in that sense, they're contractual agreements between parties. So they're basically meant to be computer programs that govern the dynamics of value. Computer programs that govern the dynamics of value. And as we'll find as we get deeper in this conversation, there seems to be a divide in the Ethereum community and in the cryptocurrency community over the idealist side of that, which is that the program is the final say, because that's what the agreement is versus what you might call the pragmatic look at it, which is that the program is supposed to represent the agreement,
Starting point is 00:18:15 but programs have defects and bugs as we found out. And so it's less black and white. But before that, let's tee this up and then we'll take our first break. So we have smart contracts. We can program them with this Solidity programming language or set of languages and run these things on the Ethereum virtual machine. But the question that comes to my mind, I think the one that's interesting to our audience so much
Starting point is 00:18:41 as developers is like, that sounds great and all, but like, what can I build? Like, what does this open up? What are some applications that now I can create using this that I couldn't create previously? So don't answer that Gavin, we'll take a break and you can answer it on the other side. We'll be right back. Hey everyone, Adam Stachowiak here, editor-in-chiefief of Changelog. And I'm talking to a Rollbar customer. Rollbar puts errors in their place.
Starting point is 00:19:10 Rollbar.com slash Changelog. Check them out. Get 90 days of the bootstrap plan totally for free. I had a conversation with Paul Bigger, founder of CircleCI. And he talked deeply about how they use Rollbar and how important that tool is to their developers. Take a listen. One of the key parts about doing continuous delivery, you don't just have to test your software, but you have to constantly keep track of it. You're going to be doing deploys 10 times a day or 20 times a day, and you have to know that
Starting point is 00:19:41 each deploy works. And the way to do that is to have really good monitoring and roll bar is is literally the thing that you need to do that monitoring you need to make sure that every time you deploy you're going to get an alert if something goes wrong and that's exactly what roll bar does for for circle ci so obviously circle ci is important to your customers you shouldn't have errors you shouldn't have bugs, and the purpose of a CI is continuous delivery obviously, but getting your customers code to production in a fast manner that's tested and all the necessary things a CI provides. Tell me how important Rollbar is to your team and your organization. We operate at serious scale and literally the first thing we do when we create a new service
Starting point is 00:20:27 is we install RoboRenit. We need to have that visibility. And without that visibility, it would be impossible to run at the scale we do. And certainly with the number of people that we have. We're a relatively small team operating a major service. And without the visibility that RoboRlox gives us into our exceptions, it just wouldn't be possible.
Starting point is 00:20:48 Oh, that's awesome. Thanks, Paul. I appreciate your time. So listeners, we have a special offer for you. Go to roblox.com slash changelog. Sign up. Get the bootstrap plan for free for 90 days. That's 300,000 errors tracked totally for free.
Starting point is 00:21:05 Give Roblox a try today. Head over over to rollbar.com slash changelog. All right. We are back with Gavin Wood talking about cryptocurrencies in general and Ethereum in particular. Gavin, I teed up before the break that I'm interested in what are the kind of things that can be built on this platform? And maybe perhaps just as interesting things that have been built or are being built. What are some use cases? Where does this really fit in where we can take advantage of it as developers? Yeah, it's an interesting question. The funny thing is that we're not creating a new language, as it were.
Starting point is 00:21:45 We're creating a new kind of computer. So up until now, computers have been very much physically localized, which means that anybody who's sat near to that particular physical local space has in some sense an advantage over what the computer's going to do. Now, we call this basically administration or sysadmin or DevOps or whatever. And it seems like an obvious thing. It's like, well, of course, there's a computer. And of course, there's going to be someone who administers it.
Starting point is 00:22:13 And of course, there's going to be someone who can ultimately pull the plug if they want to turn the computer off. But really with Ethereum, what we've done is we've built a computer. That role doesn't exist. The computer cannot, at least in principle, be turned off. And there isn't anyone who is sat by it who can sort of log in as administrator and start altering the database. In effect, we've built a computer that everybody can share in almost as though there's sort of a JavaScript environment that everybody is allowed to log into and step on each other's toes, except we've done so building with safeguards to prevent people stepping on each other's toes
Starting point is 00:22:48 so that the objects in this object environment are only allowed to sort of call each other in very particular manners and with very particular safeguards attached. So when we think about applications, well, then we get to the thing of, well, actually, what could i do if there were um this javascript environment or whatever that that anybody could log into and could do so securely with an authenticated um sort of user identity that we could count on and then we can start thinking about right well um what does servers currently offer that the Ethereum machine, the Ethereum computer, could in principle do?
Starting point is 00:23:29 And one of them is obviously currencies. Central banks and probably most consumer banks will have a computer that retains the account balances of each identity that banks with them, each person or each organization. And in principle, we can place this software on this world computer, but because it's a world computer and it's shared, it means that we can not just be fairly guaranteed it's going to work okay because we can audit it, but also that we can use these balances, this logic in other applications. No longer do we need to start integrating with banks or
Starting point is 00:24:06 central banks or payment systems, but we can use the currency directly because it turns out that the object, literally the software object, the instance that is listing everybody's account balances is in the same environment, like literally almost like in the same computer program as the the software that's actually wanting to make a payment and when when you start considering well actually there's no limit to this the environment can be added to as required and anybody can push logic and code to the environment and be sure that the logic and code that they see is going to continue working exactly as they expect um or at least as the code states, then we can start really thinking about how we can rewire society so that many of our systems that we currently have to have behind walled gardens, looked after by very
Starting point is 00:24:59 influential, powerful organizations and people, or we can start bringing this logic that runs society because it really does run society actually into a shared space and sort of redemocratize it. If you like. I have a question here on the building side of things, Jared is, is just using Coinbase. Since we mentioned them as the example, when you say,
Starting point is 00:25:20 how do you get ether? How do you buy ether? You know, their steps are pretty easy. It's one, two, three. You sign up for Coinbase. We're not advertising for them, but this is just theirs. But this is how you get Ether in this case, unless you mine it.
Starting point is 00:25:32 So you sign up for Coinbase. You connect your bank account and you buy some, essentially exchange some currency that you have, which could be US, it could be pounds, it could be something else. And then you buy and then you sell Ether. At what point does a developer or someone as jared has said care to build something on this at what point do they get
Starting point is 00:25:50 to program ether so what the coinbase and other exchanges are actually a few of them um what they do is essentially perform a bridge between the the the current kind of legacy world of value of money and the sort of new crypto world of value. So they allow you to buy and trade Ether for fiat currency. And they have a foot in both domains, as it were. Now, the developer, once the developer sort of figures out what they want to do with this sort of shared computer, the developer will probably take some Ether, because you need Ether to pay for computation on the shared computer, and start coding up what will effectively be the backend. So what we normally think of as being, you know, something that sits on a server that has maybe a database attached that provides services to multiple clients, that's basically
Starting point is 00:26:52 the logic that's going to be moved onto the Ethereum computer, the Ethereum blockchain. And so that kind of will start coding up a contract, which is just a piece of software. It's almost like an object, right? It's like, if you're talking C++ program, it'll be like a class. If you're talking, I don't know, a Rust program, it'll be a struct. But yeah, it's basically an object with some functions that can do some stuff. And that will be uploaded to the Ethereum network with a small payment of Ether just to sort of pay off the maintainers of the network, the miners. And then it will sit there. And it'll sit there until someone wants to interact with it.
Starting point is 00:27:31 And then it's up to the developer to write the front end, which would normally, you know, this is basically the same sort of technologies, Java, CSS, HTML. It's just that the Java, sorry, the JavaScript. It's just that the JavaScript, yeah. The JavaScript can... Happens to the best of us. I had to laugh out loud on that one, sorry.
Starting point is 00:27:50 The JavaScript's actually able to call into this contract or this instance that's sitting on the Ethereum network. It's able to call methods that sort of alter its state, and it's also able to check what, to inspect the various properties that are public. So is it safe to think of it in terms of like any sort of agreement that you would previously make in the real world or what you call the legacy world,
Starting point is 00:28:18 you could now move that to an application on the Ethereum network. So perhaps a mortgage or an agreement to buy something or a prenuptial agreement or anything that you could possibly think that would be an agreement between two parties, you could we could now move this into the virtual space safely. That's in principle correct. Yes. Now, there are a few.
Starting point is 00:28:43 There's one thing to point out, which is that doesn't just need to be between two parties, but can be between any number of parties. Right. Now, the other thing is to say the concepts that the blockchain can currently encode, which is to say the language that we have to play with in terms of what aspects of reality we want to place on the blockchain. So for example, if we're talking about a marriage contract, we may want to talk about things like there being a lawyer in the case of divorce, a judge in the case of divorce to determine whose fault it was that they're getting divorced in order to make sure that there's proper payment between the two. Now, the notion of judge is not really, it's pretty easy to write that into a legal contract because we have centuries of case law about what it is to be
Starting point is 00:29:38 in such a role. That's not the case with Ethereum. We're still in the very early days. And so we have relatively little concept. Our language is not very rich. But the richness is something that in the same way that with programming, you end up having, you know, increasing your sort of the level at which you code over time as more and more libraries, system libraries are written and integrated into the system. You end up being able to code in much richer concepts and that's going to be the same with Ethereum. So at the system, you end up being able to code in much richer concepts. That's going to be the same with Ethereum.
Starting point is 00:30:06 At the moment, the concepts we are able to draw on are relatively whatever poor, poor. But over time, we're going to be building these kind of whatever system libraries, as you might say, or case precedent law in the case of legal, to take the legal parallel, this is going to build up the language into something much richer. I think it might be useful to specify a specific set of contracts that we could talk about in real terms. And that will help us understand kind of the ins and the outs. I think that's kind of what Adam was getting at with like, how does the ether fit in and how do you get money in and out? And the DAO is no doubt your most popular set of contracts and perhaps a little bit
Starting point is 00:30:51 notorious now because of the hack. Give us the DAO, the lay of the land and the recent history there and help us understand Ethereum in light of it. Sure. So the DAO, if we're not aware, stands for Decentralized Autonomous Organization. Essentially, it's a means of bringing various people together into some form of bound contract or some bound set of interests. So the idea behind the DAO is more or less like a fund. So it can VC fund, it can back particular
Starting point is 00:31:26 endeavors. And the idea is that the endeavors will ultimately make money or create value and push the value back into the DAO so that all of the members of the DAO get in some sense richer. Now you can buy into the DAO, that was the idea, by depositing Ether under the control of this DAO contract. Now, it's a bit of an odd thing to say, well, putting money under control of a contract, how does that work? But that's exactly how it works, right? You write some software, and the software states the logic of this agreement, of this multilateral agreement, and part of the logic is saying, what happens or under what circumstances money should be transferred. And in much the same way that you might have a joint bank account where you need both signatures before the money is
Starting point is 00:32:16 transferred. Well, so it was the case with the Dow. Under the Dow, it all happened with 4,000 or 5,000 or whatever signatories signatories and you needed there was some much more complex thing about how many of them had to agree to it before funds were transferred but nonetheless basically it's that kind of thing it's a shared bank account with um very particular logic for um who gets what money and for um for hopefully integrating the eventual ventures back into the DAO so the DAO itself can reward those who sort of backed the right venture. So who wrote the smart contract for the DAO and then who all got involved and how much money was jointly shared in that contract? Yeah, there were several contributors to the DAO contract. But I think it's probably fair to say that the main contributor was a guy called Christoph Jentsch.
Starting point is 00:33:12 And is he a notable member of the Ethereum community or is he a part of, was it just in his free time? Like, give us kind of the, I don't know, the geopolitical landscape of this so we can understand it better. Sure. So there was a uh a company called slocket which still exists and they're doing uh as far as i hear reasonably well um and um for whatever reason slocket wanted to sort of pursue this idea of a
Starting point is 00:33:42 of a universal sharing network so this is is the idea of basically take something like Airbnb and take Uber and maybe a few other sort of apps that allow people to share their resources or do decentralized service industry work. And that's kind of what this was about. This was basically trying to take a resource that you own and be able to allow someone else to use it for a period of time in return for a payment. So the idea behind Slockit was basically to say, right, well, one of the critical sort of elements
Starting point is 00:34:19 to make this work is going to be a lock that's controlled by a blockchain. So they went away and they made a lock that was controlled by a blockchain. Over on that subject, I don't mind if maybe we can just establish one more, as you said earlier, Jared, just kind of like some terminology. And for those that are new to it, it may be completely obvious for those who are deep into this, but for those who want, what exactly is a blockchain?
Starting point is 00:34:46 So the blockchain is the underlying data structure that allows Ethereum to be both secure and decentralized. So normally, if you've got a decentralized system, there's no real way of. Well, because you don't trust anybody on it because it's decentralized and anybody could be on it um it's kind of hard to to to get a sort of footing to understand what what is what's the noise and what's the signal so what the blockchain is is a decentralized data structure that allows us to to create a signal that everyone agrees on despite uh the noise of malevolent actors or just broken machines. So critically, it's basically what I would call a sort of decentralized state transition system. So if we imagine that there's some shared states, and the state could be as simple as, when we imagine a state, we might imagine the memory
Starting point is 00:35:36 of a computer at one particular point in time. And this state is going to iterate as transactions or operations are executed on the computer in the same way that, you know, as you type something into a text editor, the memory of the text editor changes. And what we've done basically with the blockchain is create a decentralized version of that. So we can place programs on and the programs have some state and they will the program the ongoing operation of the program will be managed by the network as a whole rather than by any one computer individually so back to the to the history of the dow you mentioned uh slotkit and the setup and the DAO. Give us a time period on this in terms of when it started. And then we know it became very popular and a lot of
Starting point is 00:36:32 people joined and a lot of money went into it, perhaps more than anybody was necessarily expecting at the time. Can you continue down that path for us? Yeah. So the DAO was deployed by person or persons unknown. And two companies were particularly sort of enthusiastic about it. I forget one of them, I think it was a robotics firm and the other one was SlotKit. Now, indeed, a substantial amount of funds went into it. I think it was sort of 150 million was the figure banded about, but I think it actually went even higher than that at one point because Ether itself started to creep up in value.
Starting point is 00:37:14 And so it was really quite a lot of funds, and I think it was probably more than anyone had expected, including some of the authors of the contract itself. And then, yes, indeed, there was a bug in the contract, which was probably a bug that would be recognizable to a low-level device driver programmer. And in a way, the contracts that were writing these programs are more or less at that level because they're
Starting point is 00:37:45 dealing so closely with the ethereum virtual machine so essentially it was a re-entry bug the a particular function call was was being called actually within itself by the malicious by the malicious transaction and so before it actually finished its operation, it was being called a game. And because of the order of the points in the function, it was doing the sort of the bad thing before it was doing the good thing. And so the bad things started to multiply up. And eventually the good things couldn't actually,
Starting point is 00:38:21 they were asymmetric and the good things couldn't make it back down to normal again um and that's essentially what what went wrong so basically someone was draining money out the bad thing um and the money there was no way of compensating that the good thing because so much money had been drained out um now re-entry books are pretty um when i think of a re-entry book i think of interrupt programming and it was only after this book that i thought actually what we're doing with the with the contract is is in some sense more similar to interrupts rather than function calls when we think about function calls we don't really think about re-entry books so much at least not malicious re-entry books um with interrupt
Starting point is 00:39:01 programming it's a little different and you're much more careful about your state because you do actually fear that the same interrupt may be called while the current one is executing. So money began to be drained. Where is it drained to? Where does it go? To this other person's Ether wallet or some sort of bank account? Where does it go when it gets sort of getting drained out? So there were numerous safeguards written into the logic of the DAO, which prevented the money from going anywhere anytime soon. I think within about 30 or 40 days, it would have taken to actually get the money out into a wallet. And then it turned out that a group of concerned parties called the Robin Hood Group or the White Hat group actually hacked the DAO themselves using a similar attack and then a selection of similar attacks actually,
Starting point is 00:39:56 in order to safeguard as much of the funds as possible and to prevent the attacker from actually taking any and drawing any of the funds out themselves. And so effectively, it turned into a stalemate where they were using the attack against each other and the funds were just locked. Sounds very much like the wild, wild west that we've heard all about. And do you think that's kind of a fair way to think about it? Because it is completely decentralized. It's virtual. It crosses international datelines and borders. There's no law in this. There's different laws in different countries. But then you also have the smart contract kind of is the contract. money they have on the whole um some might have just been amused but who's to say what happens and where it goes from here is it very much just like whoever executes on technical abilities or give us give us insight into that because it's so fascinating and yet it just seems like
Starting point is 00:41:17 who knows what's going to happen um so i think the wild wild west west comment is quite true. It is a lawless sort of area if you don't count the law of the program, the law of the software. Now, ultimately, the software is based upon a social system, which is that assuming that everybody is self-interested, then the economics of the blockchain will mean that no individual can actually alter the outcome of anything. Everyone is sort of almost pulling in a different direction, which averages out at zero. That's the kind of thing the blockchain is trying to engender. And that's the economic game that sort of acts as the foundation to why the blockchain is fair and democratic. Now, with the DAO, of course, so much of the value was sort of compromised that that assertion was not wholly true
Starting point is 00:42:18 in that the parties that were maintaining Ethereum, the community in fact, had an awful lot to lose. And so in some sense, what happened was that they formed almost like a special interest group within the Ethereum community, which wanted a reset of this particular sort of bug or a particular exploit of the bug. And so here we have the decision of what to do about it. This is to get some context, June-ish, July-ish 2016.
Starting point is 00:42:55 That's probably enough timeframe, although not probably completely accurate, but then you have conversations going out and you know, where is the, where does the community meet from my perspective as more of a community watcher it's like they're on twitter they're on reddit i'm sure there's forums on different ethereum uh websites and probably there's some conversation behind closed doors but from your perspective where is the community conversation going around
Starting point is 00:43:23 about what do we do about this circumstance? It's everything that you've mentioned, basically. It's, you know, social media. I mean, there was even stuff going on on GitHub, like some of the issues that were perhaps a little more contentious of things that were coding up potential solutions or potential mitigations were attracting quite heated arguments about what the code was doing and whether it was even right to start programming, whether it was right to put forward potential tool requests. So, I mean, it was going on all over the place, which is unsurprising given that there wasn't a single point of governance for this community. So it's going to just come out everywhere. Now, I'd point out that one of the more interesting sort of places was this voting system. I don't remember who wrote it, but some concerned party within the community wrote basically a voting application
Starting point is 00:44:30 that allowed you to back your vote with ether. So you're essentially able to tie a particular vote to a particular account that presumably was holding your ether. And what it allowed you to do was get a weighted set of results about what the, uh, the general desire of the community was. Hmm. So, uh, the decision was made for the reset, correct? So there was a hard fork in the road at which, uh, we can talk about the implications of
Starting point is 00:45:00 that, but was that decision made using this tool where everybody voted and it was kind of a majority win or was there, how does the actual consensus come together? Was it, was it the tool? Um, well, this is the, this is also the funny thing. There really wasn't any particular decision made, at least no, no big one. The, um, the, the, the, the network, um, consensus essentially came from people running their client, their Ethereum client, with one option or another option. So we're literally just talking about a command line flag here. And it was basically, if you run your client with one flag and you mine your mining blocks, we assume, then it will mine on one chain, which will not rescue the DAO.
Starting point is 00:45:45 And if you mine with some other flag, then it will mine on the other chain, which will rescue the DAO. So nobody made a specific decision other than the miners themselves. And some of the miners just decided one way or another. Other of the miners, particularly the pools, actually put it out to a vote. So they said to their members, you know, which way would you like us to mine? Which flag would you like us to set? And the pool members would have voted one way or the other. And I think one of the pools actually voted against the fork.
Starting point is 00:46:18 So they voted to sort of keep the exploit in place. But I think ultimately, actually, the pool decided to override them then anyway when it was clear that everybody else was um was was going with the other does that mean that from that point forward once you had people running you know with both flags you basically have two blockchains or two histories that are running in parallel is that how that works yeah it's basically like imagine if you if you had a computer program running and then sort of you did a hotfix for it.
Starting point is 00:46:50 Then what would happen if, you know, Schrodinger's cat, if there was an exactly 50% chance that you did the hotfix and deployed it and 50% chance that you didn't, then you would end up with this kind of quantum entangled computer program that may or may not have the fix. And that's effectively
Starting point is 00:47:09 what happened with Ethereum. So it may or may not have happened. So it may or may not have happened. And it depends on which Ethereum you look at. So as soon as you choose an Ethereum, then it will snap into one state or the other. But until then,
Starting point is 00:47:26 it may or may not happen. Wow. That's funny. One thing I think about as we have this conversation, Jared's deeper into this. He's done a lot of the research on this, and I'm sort of playing outfielder, so to speak. He's pitching. But I'm thinking about things like trust,
Starting point is 00:47:41 right? Like you've got the DAO, which is a contract written, a lot of money pulled into it. And when you think about the trust of or the mainstream public eventually making cryptocurrency become more and more mainstream, you think about this level of trust. And so what happened with the DAO? is this simply a a contract issue the way that somebody wrote a contract or is it something that is underlying the actual technology that as we just mentioned was forked with one ethereum or the other it's not so much how which program was better it was more or less which blockchain was chosen right like how do people deal with trust when you look at this this problem y'all faced and this fork and this hacker, so to speak,
Starting point is 00:48:25 and then the white hat hackers hacking the hacker and all this stuff. How do people come into this as not insiders and operate with a level of trust? So I think some parallels can be drawn to the early internet where, you know, there was sort of slightly scary to send payment information over the internet. So I remember back in 98 and it was still relatively commonplace. I was still being asked to pass my credit card information via email. It's like, well, I don't really want to do that. That's incredibly insecure um ssl was still kind of a fairly new thing and to the point that the e-commerce sites often didn't
Starting point is 00:49:14 have it implemented um and you know we're kind of we're gonna have to go through the same phase of the theory so there's gonna be an early teething stage where things don't operate quite as you expect. Either the Ethereum technology itself doesn't, luckily, we haven't had any of those bugs yet. But in principle, it could happen. It is a nascent technology. It happened with Bitcoin. So I wouldn't rule it out, though we have taken very particular steps to avoid that, in particular multiple implementations and a formal specification. And the second thing that could happen is just the economic foundation behind the smooth running of the Ethereum network gets a little frayed, and that's pretty much what happened with the DAO.
Starting point is 00:50:01 The fact it forked owed to the fact that there was such a large contingent of value that people wanted to save that were also people who maintained the Ethereum network. And I think as the network matures, that's going to be much less likely to happen, quite simply because the value of Ethereum is going to disperse as more and more people get involved. I guess the other question is, on the front of that, as you mentioned before, Jared, $150-160 million in the Dow, and Gavin, with you saying this is still sort of like compared to the Wild Wild West, as Jared mentioned earlier, and then what you just said there, it seems like it's kind of like even in guinea pig stage almost. Not so much like that it doesn't work, because it does, but there's some kinks in the rope, so to speak, that need to be ironed out. And only maturity and only time will allow that to happen. Is it possible that someone with lots of money in Ether could potentially lose big as part of the maturity? I wouldn't rule it out. Though, as someone with a substantial portion of their net worth in Ether,
Starting point is 00:51:13 I also wouldn't say it's such a terrible bet either. Let's pause there on that note since you said that because I have to ask. So you said a substantial amount of your net worth is in Ether, is that right? That's correct. So percentage, just percentage, not so much a number. Just curious. 70%, 60%, 30? Yeah, like at least 50.
Starting point is 00:51:38 50, okay. So you're half in, half out, so to speak. Something like that. Okay. It's probably also worth just clarifying, just for transparency reasons. We'll have people, especially some of our listeners are, you know, I talked about the ones who were against the fork and the ones that are for the fork. I looked at it very much like the idealistic point of view is like, this is the way the
Starting point is 00:52:02 contract was signed. So it must exist that way and the others are more pragmatic like nobody wanted this to be able to happen and all this money be drained out and of course where you fall on that line if you're not just an observer um if you're involved is very much tight-ended if you have money that you'll be losing so you have you know a lot of your your personal wealth in ether i assumed you also had part in the dow is that true um i had i made a uh a small investment in the dow okay cool yeah i mean nothing against that just it helps give a little color to the your
Starting point is 00:52:38 your pro i'm sure you're a pro fork correct um well i had a fairly nuanced and still continuous of a fairly nuanced view i think the um oh let's hear it the sad thing was that both options neither were especially great options the the situation was was sort of pretty bad that the hand that was dealt was was really quite um quite unfortunate. Well, on one side, money is saved, right? And then on the other side, it's like trust is reduced. Is that basically what happened? So it's not clear whether money was really saved
Starting point is 00:53:16 in that the substantial portion of Ether's value was reduced around the time of the time the die around the time of the dow hack so i mean it went it was around 21 i think around the dow hack and then it sort of pushed down to maybe nine eight or nine i think when it went through so um it's not really clear whether fixing it really saved money.
Starting point is 00:53:48 For any holders of the DAO tokens that had less than, I guess, around 15% of their Ether in the DAO token, then they wouldn't have lost money. It was only for the people who put in more than 15%, since it was 15% that ultimately maybe may have been locked forever through the stalemate position. So in reality, I'm not sure whether it really was saving money, but then that said, you know, if you have the option of trying to write what is pretty obviously a wrong, should you do
Starting point is 00:54:26 something or should you not do something so for me it was more like um it was less of a practical concern and more of just like well maybe you know if i see someone being robbed in the street i would like to actually be the guy that goes up and like stops the robber and returns the hand right and so it was that kind of notion uh going alongside it but that said there's also an awfully strong um principle here which is that the blockchain is meant to be immutable and the code that's on it is meant to actually be the code that governs how the value is um you know how that logic works and so it's really quite difficult to weigh one up against the other. And that was the problem.
Starting point is 00:55:06 That was the situation that we found ourselves in. So if there was a vote, since it is a one or a zero in this case, like you either voted for, you voted against it, which there was no true vote, but it's, as you said, your answer is nuanced and you explain that to us in the end, if it had to come down to a vote of four or against, which would have it been um i've never answered that question to myself and i don't plan on doing so
Starting point is 00:55:29 okay fair enough well let's let's take our next break we have more to talk about so many interesting things here this is just fascinating stuff to me and to give a little bit of a background we we had this show teed up. Like I said, I read that post on the Coinbase blog back in April. And I think I probably emailed you immediately following Gavin. We got you on the show in June of 2016. And due to some technical issues, we actually didn't record that day. And that was like right when you're in the middle of all this DAO stuff. And in fact, I think we joked that, you know, maybe we better do the show a little bit later because this will have passed. And Adam and I said, well, maybe, you know, cryptocurrencies and these altcoins and everything comes and goes so fast.
Starting point is 00:56:16 Maybe there won't be an Ethereum by the time I think we had an August schedule and then a September schedule. And so here we are talking about it. So it seems like you weathered the storm, but I want to kind of talk about the fallout and the repercussions of the hard fork and where things are now and give people some look into the present and the future and how we can fit in as software developers. So tee that all up and we'll be right Every Saturday morning we ship an email called ChangeLog Weekly. It's our editorialized take on what happened this week in open source and software development. It's not generated by a machine. There's no algorithms involved. It's me, it's Jared, hand curating this email, keeping up to date with the latest headlines, links, videos, projects, and repos. And to get this awesome email in your inbox every single week, head to changelog.com slash weekly and subscribe. All right, we are back with Gavin Wood and we have
Starting point is 00:57:20 done it. We've survived the Dow hack. We are on the other side now looking back this is uh late september early october 2016 the ethereum community still lives it's a little bit different now we actually have two histories two currencies and there's now ethereum and ethereum classic gavin give us the lay of the land now after you guys have survived and kind of moved forward from the unfortunate summer you had. Well, it's more or less, as you said, indeed, Ethereum split up basically between the people that ran the, with a flag that said, help the DAO, help rescue the DAO. And on the other hand, the people who didn't run with that flag.
Starting point is 00:58:04 And so we have what Ethereum, the immutable Ethereum, as it were, the Ethereum that was where the code truly did rule, the broken code ruled, and then the Ethereum where it was sort of hard coded to fix that application issue. And that's more or less where it stands. So by and large, the aftermath has died down. People are getting on. So I think at the moment, the DEVCON, the Ethereum conference is happening in Shanghai. And I don't think there's all that much talk about Ethereum Classic, although I can't say for sure. But from what I've seen of the talks, people are sort of focusing much more on the sort of forward-looking stuff rather than the DAO.
Starting point is 00:58:48 And the Ethereum Classic community seems to be sort of continuing. I haven't seen any sort of major technical improvements on it recently, but nonetheless, there's a change in their logo, and it is continuing. The price is dropping somewhat, but yeah, it seems to be still here. Still here. So let's talk in terms of market value. I'm not sure what Ethereum maxed out at pre-DAO hack,
Starting point is 00:59:23 but it looks like it's trading against the US dollar at about $14. Yeah, it was about $21 before the DAO hack. And is that the max that it's reached in its lifetime? Yes. Okay. Well, it sounds like not too bad. I mean, it's not like it's a penny stock nowadays. No, I mean, it hit, I think, $8 or $9.
Starting point is 00:59:41 I don't remember precisely how far down it went, but around that. And so it's back up to, I mean, the 21 looked fairly bubble-like. It was really riding on the back of all this investment in the DAO. I think there was a lot of maybe people coming into Ethereum from outside of the ecosystem rather than just Ether holders themselves putting their Ether into the DAO. I think that's probably what was pushing the price up a little. So I'd say it's doing pretty well. It's certainly reached my expectations. Right.
Starting point is 01:00:15 Well, this isn't an investment show. It's definitely a show about software. And so I'll stop down that route. But let me just say that we've been watching this and watched loosely some of the alternative coins or the things that are like changes to bitcoin or you know inspired by bitcoin and like i said before the break there's lots of things that come and go and i was even mining some court coin for a few months and you know just for fun and that's i think we're zero
Starting point is 01:00:42 point zero zero at this point and perhaps it's completely not you know just a footnote in history and one thing that we look for as we you know invest our time and our skills and perhaps even our money into communities and software projects because this is a very large software and open source software project uh there's over 80 projects that you guys have the the Ethereum organization has on GitHub. We look for sustainability and long-lasting things. And one of the constant themes in our shows and in our community of developers is the JavaScript fatigue and the constant churn of new frameworks and new ways of doing things. And some people see it as a renaissance. Other people see it as ridiculous. And I personally don't buy into new JavaScript frameworks very often because I'm
Starting point is 01:01:31 just waiting for the next one. And it seems like with cryptocurrencies, there's very much that possibility. Aside from Bitcoin, many other ones have come and gone. And of course, Bitcoin itself hasn't been around for all that long in the grand history. So that's one of the questions I have about Ethereum, especially as we look at it as an app platform. And we'll get back to that. Looking forward, you've survived this, you know, what would be considered a PR disaster and really a crisis in your community over the summer. And looking forward, like what is it aboutereum that you believe makes it have lasting power that we can
Starting point is 01:02:05 have trust not just in the currency but in the platform as something that we can invest in so i'd hope that um i mean the point of ethereum um is is that you don't need to trust it and so if you want you can you can open it up and look up and see what's inside and convince yourself that it's actually worth going with. I mean, in that sense, I kind of liken it more to sort of simple tools that you, you know, when you want to buy a garden spade at your local gardening equipment store. You don't necessarily look at the brand to see if it's a brand you trust, but rather you actually take the spade and you start like kicking it to see whether it's actually, you know,
Starting point is 01:02:55 likely to break or not in usage. You're actually evaluating it yourself rather than going over to the brand and using trust. I think that's really what people did in the much earlier, sort of olden days before the real surgence of brands and of the need to trust. So I think that the idea of trusting and of brands themselves are a relatively modern notion. And I think it's also kind of not a bad thing necessarily to go back to the ideas of evaluating something based upon its practical material attributes rather than its label.
Starting point is 01:03:40 So not to say that there isn't a place for trust in the world, but rather that, um, you know, maybe the, you know, in the continuum between sort of, um, trusted reality, we should be moving the point of the needle a little bit back towards where it came. So let's get back to, uh, those who are willing to give it a shot and test it out ourselves and, and do the things that you're promoting here with regard to the platform. Um, we talked about how you can build systems that are used or are built around agreements between two or more parties, um,
Starting point is 01:04:18 in a decentralized fashion. And I said, well, is it like anything that can have an agreement? And there's, it's, that's a, it's a? And you had a soft yes to that. There are some specific things that are outside the bounds of what you can do with regards to verifying contracts. But give us some concrete examples of early Ethereum systems.
Starting point is 01:04:40 You mentioned one during the DAO fork, the DAO hack, which was the voting tool. What are some other things to help give our listeners like that muse, that inspiration of, oh, I could build my, I wanted to build a crowdfunding site. I can use this, or for instance, give us some more of those so we can whet our appetites. Okay. So yeah, you've got crowdfunding. So the DAO was like a VC fund that anyone can contribute to. So you can obviously pare that down and just say, right, well, actually, rather than being able to choose any project, it's for one particular project, and you can crowdfund that. So you can basically state, I plan on spending the money on X, Y, Z, and there'll be some potential for maybe you to make money from this XYZ in this way, and I want money from you to do this.
Starting point is 01:05:30 And you can create a contract that will allow you to accept people's money and spend it over some particular period of time on some particular things with perhaps some particular set of judges that will say, actually, they're not getting these milestones completed in time. We're going to, um, we're going to stop the funding and return the money what's left at least to, to, to the, um, to the funders. So that's, that's one thing that you can, that's one example of something that you can
Starting point is 01:05:56 program on this. Um, but just thinking slightly more sort of crazily pushing it out there a bit, what about a game of chess so a game of chess except when you take a piece um you actually lose money or gain money so you're essentially placing money into onto the chessboard you're saying right well every um every piece on the board is actually worth something and um the winner is the one you know inevitably that sort of takes the pieces that are most valuable. So that's something that you just couldn't do.
Starting point is 01:06:29 I mean, certainly not easily. You have to sort of create a business and register it with PayPal because PayPal needs to trust that you're not whatever. You know, it has to do KYC and AML. And that's, know your customer and anti-money laundering to those who aren't familiar with these financial terms. So it has to do all sorts of processes, business processes, meat space processes, before you can work with money, before you can work with value.
Starting point is 01:06:49 Even though it's all just software, but we still have these processes that you have to go through to set up these kind of trust roots. And with a system like Ethereum, it's literally just software. You don't have to do that anymore. So you can actually,
Starting point is 01:07:03 value is a fundamental primitive of the language that you're coding this stuff in. So it's actually trivial. It's completely trivial. It's as trivial as incrementing an integer to send money in Ethereum. It's super, super easy. Imagine a game of chess, yeah, where you can make money off your opponent across the internet by being a good chess player. That's fine. So maybe something like Mechanical Turk or one of the other sort of matchmaking services that allows you to find someone who does work.
Starting point is 01:07:35 And you can say, right, well, we're going to have this third party who will decide whether you've done the work. So I want some design work, say, or I want some copywriting work. And we'll have a third party, a nominated party, that you can both agree on. That basically says whether the copywriting or the design is of sufficient quality to be paid. And then you can place the payment in escrow. So you can have an escrow system on this. And then the payment gets made, if and only if the work is done. So that's something that can be done, again, very easily. There's no need to integrate it into any payment services.
Starting point is 01:08:06 There's no need to register a company or do anything like that. It all happens in software, no meat space complications. Okay, another example. Let's think about asset tracking. So let's think about the way the world works, the way that supply chains work. I buy a pair of trainers in a shop. How do I know where the trainers came from?
Starting point is 01:08:30 I mean, I can look at the label and maybe it says like, I don't know, made in China or something. But it's very difficult to know which bits came together from which places, where it went on its way, what the intermediate owners were, where the raw materials themselves came from. This information just gets lost. And why does it get lost? It's not necessarily lost because the people who are handling it want it to be lost. It's just really, really hard to put it somewhere that's at once sort of secure, that isn't sort of mutable by some administrator, and that is ubiquitous, is global enough such that all of the various different people along the line can place their records in the database.
Starting point is 01:09:15 Effectively, what it needs is a really strong, secure, shared internet-based database. And that database hasn't been around. I mean, if it had have been around, then we wouldn't need things like Fairtrade or the Soil Association. We would just have it all online. These kinds of asset shadowing is what I call them because it's sort of like taking an asset and placing it in some sort of shadow, like a pairing on the internet, on the blockchain. These kinds of asset shadowing things don't really exist yet. But that's exactly the sort of thing that the blockchain would really excel at doing
Starting point is 01:09:51 because it is this database with very strong logic guarantees, with very strong security. So you can be certain that authenticated users really are authenticated. That's ubiquitous. It's everywhere that the internet is. And it's open and free. And that's really great for allowing third parties to create custom solutions and make their own dime off the back of this technology. So, yeah, I don't know if that's helped give you a bit of an idea about where this stuff could go.
Starting point is 01:10:19 Yeah, absolutely. It does. And I was even beginning to brainstorm a distributed escrow as you began to explain it. So you're starting to get me at least thinking along these lines. And I think that's powerful when you have a lot of people who are smart and able and can program and can think of these new things that previously couldn't exist. And let's see what we can do with it.
Starting point is 01:10:39 One question we have with regard to the future, I know Adam has voiced this as well, is if and how can something like Ethereum go mainstream? And it seems like it's the kind of thing, just like the web was, where it wasn't mainstream until everybody was using it without having to understand it. And so right now we have blog posts and Wikipedia articles and podcasts explaining Ethereum to people who are interested, very fringe listeners like ours. But how far do you think we are from mainstream people are using some sort of service or application online that uses
Starting point is 01:11:22 the Ethereum platform in the background and they don't even have to know that it exists. And yet, there it is. I think that's when we know that cryptocurrencies in general, and perhaps Ethereum in particular, have arrived. How far are we from that future? And how do we get there? If you'd have asked me that question about 12 months ago, I would have said probably about six months. I'm not sure I can give a great answer this time. Instead of saying how far out, maybe what would it take? What has to move, as you used the chessboard analogy earlier, what would have to move on the chessboard to make this mainstream?
Starting point is 01:12:07 So the critical thing, so I'd probably say two things. Firstly, the tools. We need better tools for developers in order that developers, it's just a no-brainer to be able to pick something up and actually run with it, actually make an application that's going to change the world.
Starting point is 01:12:21 The second thing that we need is better user interfaces for all of this stuff. So on the other hand, the end users are not really provided with an especially good means of interacting with Ethereum or probably more importantly, its applications. So we're going to need much better integrations into things like web browsers, and that's something that we're going to need much better integrations into things like, you know, web browsers. And that's something that we're working on at Ethcore. And we're going to need a better tooling. So developers can, you know, can create that experience really easily. You mentioned Ethcore.
Starting point is 01:12:57 It's probably a good opportunity as we get near the close of the show to give a little bit more around yourself. And we mentioned you have a lot of your net worth in ether, um, that you're working with the foundation. Remind me again, the foundation that's involved here, uh,
Starting point is 01:13:13 the Ethereum foundation. Okay. Easy enough. I was thinking it had to be harder than that, but, uh, I didn't want to guess wrong. So yeah,
Starting point is 01:13:22 the Ethereum foundation, and then you have F core, which is a, I assume a for-profit company that you're a part of so give us that uh understanding and then what are you guys doing at ethcore that is launching off of the theory we're trying to yeah so i mean um i was one of the people who sort of helped found the ethereum foundation um which is continuing it's a non-profit based in Switzerland that's doing fairly important stuff within the community like organizing conferences and ensuring that at least one client of the Ethereum network
Starting point is 01:14:01 is well-maintained. And this client of what it's worth is called Geth. Now, the F-Core is a company set up by me. It's a few of the people that were originally members of the foundation, employees of the foundation also sort of came along with me and helped me set up F-Core. And what we're doing is firstly injecting a bit of choice into the ecosystem. So we have an alternative implementation of the Ethereum protocol called Parity. And we're also trying to push forward on this UI and trying to make Ethereum that much easier for people to interact with.
Starting point is 01:14:39 And in part, also make a developer tool set, a developer API that's better than the current one, that really sort of helps developers get their head around what needs to be done and helps them actually create applications much faster. Parity is open source. You mentioned a browser. Is that the Mist browser that we found, or is that a separate browser? So that's a separate browser. That's being done currently by the foundation. Parity itself is a browser as well as a
Starting point is 01:15:10 client. So we're taking a different tack at the moment. There's basically the Mist browser, which is a separate executable. It's a separate browser. It's a separate program. It's very much designed around browsing Ethereum dApps. And that was that was
Starting point is 01:15:25 something that i was sort of involved with in the in the early stages of it and then what we're doing at ethcore is sort of doing it different way around we're saying actually let's you let's allow the user to use their own browser to use chrome or firefox or whatever um and then chrome and firefox will just be able to display dApps so the dApps will appear these decentralized applications bit of an odd word dApp but anyway um these dApps will appear, these decentralized applications, bit of an odd word, dApp, but anyway, these dApps will appear within the user's browser itself and parity, the sort of everything to do with Ethereum, will be running in the background. The user doesn't really need to know or understand how that works. It will just appear to them like any other website.
Starting point is 01:16:02 So this is like to enable Ethereum powered applications inside your browsers to make payments or to assign contracts as part of the browser, is that right? Yeah, to interact. So we can imagine with the game of chess where you get money for taking the other players' pieces.
Starting point is 01:16:21 I can imagine that as kind of a 3D chess board actually in the browser, and then it sort of tells you how much money you've got so far, which pieces you've captured. Gotcha. So as we close out, it was definitely a blast having you, Gavin. I mean, like I said, I played outfitter a lot in this conversation.
Starting point is 01:16:37 Jared's far more of a pitcher than I am in this case, but it's been a blast kind of hearing the process of what it takes to have a trust-free marketplace down to all these things around Ethereum, ETH Core, the open source being built around it, the community being built around it, the hacks, the Robin Hood white hats attacking those guys back. And it's just, you know, such an adventure I can see here. But one thing we like to do for our listeners whenever they listen to the show is give them some takeaways. So this is a chance for you to share back with those listening, hackers, people involved in open source, software developers of all kinds, whether they're beginners or experts, is a way to step in and get involved. So from your perspective, what are the ways in which, we talked before about how can we take this mainstream,
Starting point is 01:17:28 what needs to move on the chessboard, so to speak, and maybe not so much a rehash of that, but what are ways in which the open source community can step in, start helping out? Where are the most low-hanging fruit now that can move this mission forward? How can they step in? So it kind of depends on the community members themselves. I mean, if you're someone who's really into kind of low-level programming,
Starting point is 01:17:51 working out the nuts and bolts of how things really work, then come over to the parity site, have a look at the code base. I mean, it's written in Rust, so if Rust's your thing or if you want Rust to be your thing, then yeah, get involved. There's plenty of like sort of small, low-hanging fruit issues that can be done. Now, if it's more of like, what's the new frontier? What do these contracts look like? What does the environment that I would be coding in look like?
Starting point is 01:18:20 Then get, find Solidity. There's online documentation for Solidity. Get yourself a client of Ethereum, Parity or Geth or whatever, and start, code a little contract. There's plenty of tutorials online that give you very simple contracts that allow you to sort of get the idea of how to create your own currency and deploy it. And you can do this in about 15 minutes. It's really simple and when you start understanding you know how trivial it is to make a currency and deploy it then you start really getting to grips with actually hold on this is a very powerful system because
Starting point is 01:18:54 you know i've now got some coins that i can i can literally program i can program to do whatever i want and the same way that i could i could program it if this was a C language or C++ or whatever it is that I normally code in. If programming is not your thing, if you're more just sort of into explaining and documenting and writing, then obviously there's plenty of documentation work to be done. There always is. But even tutorials, writing additional tutorials, always great. Helping write the manuals, helping users understand, get to grips with things that much faster, always good.
Starting point is 01:19:27 So lots of stuff to be done. So you mentioned Parity, that's the open source client from ETHCore available on Ubuntu, OS X through Homebrew or even Docker and also on Windows, so you have the full gamut there covered so anybody out there on any of those platforms can easily
Starting point is 01:19:43 pull down Parity and start playing with that in that respect. And what exactly, I think we might've covered this earlier, but is Parity, is a client, what does a client do? So the client's the thing that connects to all of the other peers on the network,
Starting point is 01:19:56 or maybe not all of them, but a selection of them, and transports transactions and blocks and builds up the chain of blocks that have gone so far. So basically accumulates a concatenation of all of the transactions that have happened in order to understand what the present state is, what the present state of the system is. So the client looks after all of that. And in case of parity, it also is the thing that provides the user interface
Starting point is 01:20:22 so that the user can use their browser in order to inspect the chain and to potentially run applications that rely upon knowledge on the chain. Super quick, is parity one of many or are there other interfaces into Ethereum? Well, there are many other clients. There aren't that many other interfaces, but there are, I think, seven implementations of Ethereum. Okay. Well, for the listeners, we're going to link a parody in the show notes. We'll talk to Gavin after the show and get that list of other stuff. We'll try to put those in the show notes as well.
Starting point is 01:20:54 That way we get the full gamut there. But Gavin, this is a chance for you also to close the show. Is there anything we didn't ask you that you were like, man, I really want to talk about that on the show? You've got a couple of minutes. Anything else you'd like to cover around cryptocurrency, going mainstream, Ethereum, blockchain technologies, whatever. Is there anything else that we may have just glossed over
Starting point is 01:21:16 that you want to make sure we cover? I would only talk about the future. At the moment, we've got Ethereum, one of the two sort of critical things that people really would like to be addressed are privacy and scalability. So the only thing I'd mention is,
Starting point is 01:21:34 you know, if you're someone who's like really interested in theorizing out this kind of stuff, creating new protocols, working out new systems, then this is a great thing to think about and how we can make blockchains scalable and manage privacy. Also, one of the things we'd like to ask too is
Starting point is 01:21:51 whenever anybody, that advice back you gave, how they can get involved, how the community can get involved, where can someone go if they have questions? Not so much like, hey, how do I do this? Obviously, there's Stack Overflow or forms for that. But if they're like, I'm interested in this, and you covered a couple of these things, Gavin, in this podcast called The Change Log, but I've got more questions where I can apply my ideas. I've got a couple ideas. Where does someone like that go?
Starting point is 01:22:16 Do they come to you? Do they go to a forum? Where are places they can go and reach out to other community members of Ethereum? So we have a fairly active Gitter room for parity, but there are also other Gitter rooms for various other Ethereum projects. There are, I think there's still quite an active Skype room
Starting point is 01:22:39 and IRC channels for Ethereum. Okay. Generally just like hash Ethereum on IR irc i think on on free node um so there are fairly large open forums but as it's such a growing uh community now it's um you know it can be kind of hard to find any single place where you're going to find um everybody it's uh you really have to sort of work out uh where you want to go based upon what it is that you want to get feedback on so um but yeah i would explore gitter that seems to be a very very good place to be at the moment well i see the parody gitter uh room linked up on the
Starting point is 01:23:17 parody page too so we'll link both of those up in the show notes so that'll at least give the listeners a starting place for uh hopping in and asking some questions back to the community and stepping in and finding ways to give some support here. But Gavin, that is it for this show. And Jared, great job on teeing this show up. I mean, I had a blast just kind of listening to a lot of this fascinating talk. It seems like, you know, we always have these catch-up shows and I'm really hoping that like a year to a year and a half from now, we can have Gavin back on and seeing the praise of how the Dow has, you know, worked itself out and all this trust has come back in and it's worth twice as much or whatever. Just, you know, in other ways also that Ethereum is being used to provide marketplaces with, you know, new ways to move money around and stuff like that. So hopefully that is the future for all of this. But that's it for this show. So take a bow. Thanks, Gavin. That was a blast.
Starting point is 01:24:10 Cool. Thanks a lot, guys. It was a good time. Outro Music

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.