# Gavin Wood, 'Ethereum for Dummies' (DEVCON1, London, November 2015)

- Speaker: Gavin Wood
- Event: DEVCON1, London, day 5: 'Ethereum for Dummies' (or 'So, now we've built it, WTF is it?')
- Date: 13 November 2015 (video published 11 December 2015)
- Length: Talk 17 min 50 s, then Q&A to 23 min 44 s
- Video URL: https://www.youtube.com/watch?v=U_LK0t_qaPo (Ethereum Foundation); mirror: https://archive.org/details/youtube-U_LK0t_qaPo
- Slides: A handful, sparse: a comedy still, a 1950s 'home computer' picture, a hand-drawn diagram of the Ethereum computer, the centralise-then-decentralise pattern.
- Transcript source: Whisper (faster-whisper, model medium) on the archive.org mirror of the Ethereum Foundation video. No published transcript found. Timestamps match the YouTube upload.
- Format: `[mm:ss]` is the time the line starts in the source recording. Machine transcript: expect small word errors; quotes used in the analysis were checked against the published text where one exists.

---

[00:19] Actually, Ethereum for Dummies wasn't my original title.
[00:22] The original title is there.
[00:26] So while I've been working on the project, my appreciation for precisely what it is
[00:32] has changed somewhat, evolved, let's say.
[00:36] At the beginning, Ethereum was always kind of sold as this notion of Bitcoin thing,
[00:43] but Bitcoin with maybe some features removed or some sort of added extra thing of having
[00:50] a virtual machine or an extended scripting language, let's say.
[00:55] And that didn't really, it was a cool idea, but it wasn't really, it didn't really get
[01:00] to the heart of what it was that we were making.
[01:04] And you know, the idea of what Ethereum was going to do was quite limited in scope.
[01:08] It was essentially going to be an abstraction platform for master coin style financial
[01:12] contracts on a blockchain.
[01:15] As time went on, especially I remember in January 2014 when we all gathered in Miami
[01:23] and I was kind of, I'd had very little sleep that week and I was thinking, is there some
[01:29] better way of thinking about this other than Bitcoin but with some sort of additional richness
[01:34] in the scripting language?
[01:36] And my mind got to crypto finance and I was thinking, well if Bitcoin's crypto finance,
[01:41] what's Ethereum?
[01:43] And this is where the notion of crypto law came from.
[01:45] It's actually well actually it's like finance, but it's it's fully general and so finance is kind of a subset of law in a way
[01:51] And so maybe aetherium could be thought of as a cryptographic version of that
[01:57] this
[01:59] evolved further and
[02:01] basically this talk is about a later sort of realization as it were of
[02:06] What aetherium is?
[02:08] so
[02:12] We can answer the how that was the first thing we answered that was quite
[02:16] quite reasonably presented in Vitalik's white paper back in November and we got
[02:24] a pretty good idea of why that kind of stems from the Bitcoin space
[02:28] decentralization why you know why it's a good thing but the what like what
[02:32] actually is it that's the harder question and we get you know history
[02:37] repeating itself people sort of they know they want it but they don't they
[02:40] don't really know what it is so for this talk I'm gonna try and avoid
[02:46] using much of the language that we see in this conference so far. So I'm going to try
[02:51] and avoid using these technical terms, because these technical terms help us describe how
[02:55] it works, but they don't really help us describe what it is. So what is it? Well,
[03:03] for a long period, we just didn't know. This is probably lost on most of you, but
[03:07] it's from a very good comedy called Look Around You, and if you get the opportunity
[03:11] to see it, please do. Well, actually, Ethereum's a computer. It's a computer
[03:15] a bit like this one. This is a computer. I think it was around the early 50s, and this
[03:22] is what they thought a home computer would look like by 2004. This one runs Fortran,
[03:29] so it's easy to use. Ethereum is a computer. It's not a very good computer. It's really
[03:41] slow. It's also really, really expensive, as most of you probably know by now. At
[03:47] At least the one's been developing on it.
[03:50] And it's got this odd property of not always being exactly
[03:53] decisive about what has happened in terms of its I.O.
[03:58] Although after a minute, it generally gets a bit more
[04:01] certain about things.
[04:02] But it does take that extra time.
[04:05] So so far, it's not seeming like such a good invention.
[04:10] Seems like we're going backwards a little bit.
[04:14] But actually, it's got some really interesting properties.
[04:20] And what I'm going to try and show you
[04:22] is what these properties are when we think about Ethereum
[04:24] as just a computer.
[04:27] So the first thing to notice is that it's a global singleton.
[04:30] And it's one of possibly the first global singleton
[04:33] computer that's fundamentally not localized.
[04:39] All of the computers are generally
[04:40] either physical machines, like my laptop here,
[04:43] or virtual machines that actually reside
[04:45] within a single physical machine.
[04:47] Whereas the Ethereum computer doesn't
[04:50] reside in any single machine.
[04:51] It's not located physically in any particular part of the
[04:54] world, yet there's only one of them.
[04:56] And that's a bit of an odd notion.
[04:59] It's a computer that, in general, there's no reset
[05:02] button, there's no power button.
[05:04] You can't turn it off.
[05:06] And that, again, is a bit of an odd sort of thing to
[05:11] think about.
[05:12] Is my mic still working?
[05:14] Yeah?
[05:16] And secondly, thirdly, it's ubiquitous, which is,
[05:21] Wherever there's the internet, everyone who can use the internet
[05:24] actually has free access, fair access to this resource,
[05:29] to this single computer.
[05:33] And there's more.
[05:35] There aren't that many computers,
[05:36] which in terms of the sort of hardware,
[05:39] are actually multi-user.
[05:40] They're fundamentally multi-user.
[05:43] So every time someone uses the Ethereum computer,
[05:47] they're logged in.
[05:49] And there are as many user accounts
[05:51] as we need, very kind of odd notion.
[05:56] As a computer, it's natively object oriented.
[05:59] Object orientation is built into the computer itself.
[06:03] Encapsulation is built in.
[06:04] Code has data, and the two are inextricably linked.
[06:08] And yet, there's encapsulation away from all the other code
[06:11] and data pairings.
[06:14] It's very accessible.
[06:16] There aren't many computers so accessible.
[06:18] This one, we can interact with it
[06:20] just using fairly simple web primitives, JavaScript.
[06:25] And it's inherently auditable, verifiable and auditable.
[06:31] And there are not that many computers which we can replay
[06:34] everything of the past and always
[06:36] be absolutely certain of getting the same result.
[06:41] So there's my rather dodgy artist's impression
[06:44] of the Ethereum computer.
[06:51] There's the world, because actually it's
[06:53] a global singleton, so there's the globe.
[06:55] And all these boxes are accounts.
[06:58] They're objects, right?
[07:01] On the side there, they're the external accounts.
[07:03] They're the ones that the objects from which messages
[07:06] get injected in from the outside.
[07:09] And in the middle there, these are all the objects
[07:12] that are executing in this object-oriented execution
[07:14] environment, or the Ethereum world computer.
[07:18] Once you're in there, you can't get out.
[07:20] So the only way of getting stuff in
[07:22] is by these external accounts.
[07:25] And it's from this, of course, that we get our cryptographic
[07:29] safety.
[07:31] So we get guarantees on code executing within this computer.
[07:39] I mean, we get some really nice guarantees.
[07:40] Atomicity, right?
[07:43] So atomicity, for those who do database programming,
[07:45] or for those who don't do database programming,
[07:47] I guess, are that basically we don't
[07:49] have to think about whether a transaction fails halfway
[07:52] through.
[07:52] Either the whole thing executes as expected
[07:54] or it doesn't, right?
[07:56] We don't have to bother setting particular safeguards
[08:02] in order to roll back things.
[08:04] We get synchronous operation.
[08:05] So objects are guaranteed not to interfere with each other.
[08:08] We don't need to think about threading or processes
[08:11] or shared memory, any of that nonsense.
[08:14] But most importantly, we get provenance.
[08:16] So this is a very odd notion, right?
[08:20] All of the messages in our computer have some origin.
[08:25] We can check to see who sent the message to us.
[08:29] And we can't normally do that, right?
[08:31] There are not many object-oriented execution
[08:33] environments where we can do that.
[08:35] Hands up if you know of another object-oriented execution
[08:38] environment where you can check always which object sent you
[08:43] the message.
[08:44] Anyone?
[08:46] No.
[08:47] It's the first, I guess.
[08:50] And that allows us to build certain security constraints
[08:55] into the operation of our code.
[09:00] Furthermore, there's permanence.
[09:02] An object's data is permanent.
[09:05] It lasts, it cannot, it doesn't change when the computer sort of goes off, right?
[09:12] There is no off for this.
[09:13] And the objects, oddly enough, are immortal.
[09:16] So there's no notion, if the object doesn't delete itself, there's no notion that the
[09:20] object is ever going to die.
[09:21] There's no system admin who can come along and actually sort of delete the object.
[09:24] They can't log in as root and just RM, doesn't work.
[09:30] And if the object doesn't have code that actually commits suicide, then no other object
[09:35] can force it ever to die.
[09:37] It's a very, very strange notion.
[09:43] And finally, the code that executes is immutable.
[09:47] It cannot be changed.
[09:48] This wasn't the case in some of the earlier versions
[09:50] of Ethereum, but in the version that we have now,
[09:53] the code is immutable.
[09:55] So you can be absolutely certain
[09:57] that if this object's code is x,
[10:00] it isn't going to be y down the line.
[10:06] So y, what's the point of having
[10:08] these particular attributes?
[10:10] What does it give us?
[10:12] I'm going to list a few things, a few thoughts on this.
[10:16] And the first is, well, Ethereum is a commons for innovation.
[10:20] It's a place where we can all upload code,
[10:24] upload ideas in terms of human interaction,
[10:28] and have it just work with other things transparently.
[10:33] We don't need to think about the worst signing partnership
[10:38] contracts with other businesses in the same way
[10:40] that Uber would have to do if it wanted to integrate
[10:42] its services with, let's say, Airbnb.
[10:44] We don't need to consider that.
[10:45] Because if we have a decentralized Uber operating
[10:47] on Ethereum, and the same for a sort of version of Airbnb,
[10:50] then they can operate with each other if they want to.
[10:54] And they don't have to ask for permission of the other.
[10:58] Compared to servers, this unleashes massive amounts
[11:02] of potential innovation for business.
[11:08] Servers provide barriers.
[11:10] Servers are cumbersome.
[11:13] And yeah, they make interoperability difficult.
[11:15] And these barriers basically make monopolies.
[11:17] And monopolies are generally bad for innovation.
[11:22] And of course, we have interesting repercussions
[11:25] for privacy.
[11:25] Now, of course, the open chain doesn't really
[11:28] get you much in terms of privacy, quite the opposite.
[11:30] But what it does is it makes you think.
[11:32] It makes you think about what data you actually
[11:34] want to place in the wild and what data
[11:37] you want to keep safely locked away on the user's
[11:40] machine.
[11:41] Yeah?
[11:42] What it doesn't do is it doesn't give you
[11:44] this false security of placing it on a third-party server
[11:48] where only the elite hackers and those who want to pay them
[11:51] can get access to it.
[11:53] And that's kind of nice.
[11:57] We also get this nice authenticity.
[12:01] So with server interactions, basically, it's
[12:03] the server that authenticates you or some third-party service
[12:06] that you essentially have to trust.
[12:08] With Ethereum, you authenticate
[12:10] in and of being yourself, in and of having access
[12:13] to your private key.
[12:14] Or if you've got two-factor stuff,
[12:16] your private keys. Ethereum is the world's first decentralized computer. That's kind of an interesting
[12:28] thing in and of itself. Because it's decentralized, there's no single point of control of failure or
[12:35] any single bottleneck in principle. In terms of where things have been going, if you look
[12:49] into history you find that at the beginning there tends to be very little floating around,
[12:54] it's all very dispersed and not much is actually happening. Eventually you find
[13:01] there's a strong player. The strong player sort of picks up all the disperse,
[13:05] they add rules and they rule, they place their own
[13:13] laws of interaction. With this structure in place you generally find
[13:18] that there's enough development such that these initial
[13:23] structures are not necessary anymore. If we look in software development, we find
[13:27] that originally there were sort of individual coders. Eventually there was
[13:31] this notion of coders getting together into a strict hierarchy, right? This is
[13:35] the sort of thing that originally the GNU project was like, but also
[13:38] obviously corporate software firms. When there was a sufficient amount of
[13:43] development, we ended up with having this, in this case the internet was
[13:47] mostly, but obviously version control systems really helped. We
[13:50] ended up with things like this bizarre model, as Eric Raymond
[13:53] mentioned in his paper.
[13:56] Finally, we're sort of evolving further, even more
[14:00] decentralized from the bizarre model into this kind of
[14:02] GitHub-style, everyone clones, everyone forks.
[14:06] And there is sort of horizontal gene transfer of
[14:09] all of the various ideas going on in coding.
[14:13] We see the same thing happening with other
[14:14] aspects of the world.
[14:15] So in computing, we began with the mainframe.
[14:19] And then there was this server-client architecture.
[14:20] And we are indeed getting into the peer-to-peer thing
[14:23] now with, you know, sort of Napster, BitTorrent, and Bitcoin, and obviously Ethereum.
[14:29] Same with kind of governments as well.
[14:31] It kind of began with anarchy, right, and then eventually there was some sort of like
[14:34] king or emperor that sort of gathered enough strength to enforce the rule of law over
[14:39] a particularly, you know, sufficiently large amount of area, and of course eventually
[14:44] they had to cede power because other structures were able to be built once that rule of
[14:47] law was in place.
[14:49] we ended up with like an aristocracy or a merchant class,
[14:52] and eventually we sort of, we end up with something
[14:55] that approximates a democracy.
[14:58] Same with distant sales, you know, the examples continue
[15:01] and we end up with, you know,
[15:02] originally there's sort of back of the magazine
[15:04] and then we had the internet with Amazon, right,
[15:06] but still only one matchmaker, one merchant.
[15:09] And then we got this marketplace idea
[15:10] where there's still a single matchmaker,
[15:12] but there are lots of merchants
[15:13] all sort of operating within the framework.
[15:16] And probably eventually we're gonna see
[15:18] a plurality of matchmakers.
[15:20] A matchmaking itself is a service that can be provided by a market.
[15:26] Same with communication.
[15:29] And there is a theme here.
[15:32] We begin with nothing.
[15:33] We centralize in order to enforce these initial rules, and then we can decentralize once
[15:37] that structure is in place.
[15:39] We decentralize because it's more efficient, it's more scalable, and it's more resilient
[15:42] to attack.
[15:47] Ethereum commoditizes trust.
[15:49] This is something that I think the economist discovered last week.
[15:55] It's a bridge to cross these sort of boundaries of these swathes of land where there's internal
[16:03] trust but they don't really trust each other.
[16:06] And that's where we're going to find the initial use cases spawning from because that's
[16:11] where it can really deliver value initially.
[16:15] We could call it indeed a platform for zero trust computing.
[16:21] And in a way, Ethereum could be the court of the internet.
[16:25] of interesting notion where the internet can have its own its own sort of place
[16:30] to determine what is what is right or wrong or when two people over the
[16:34] internet have an issue with each other there is a lack of consensus then
[16:38] Ethereum can step in in principle. Ethereum is a crypto law platform in
[16:48] this sense right it's a decentralized legal system native to the internet we
[16:55] can implement these arbitrary social contracts and have people operate
[17:00] within them, with nothing more than access to the Internet.
[17:06] It's also a pivotal part of the notion of this serverless Internet, right?
[17:10] The notion of like, whatever you want to call it, the post, node and web, right?
[17:15] Web 3.
[17:18] It provides the zero trust computing part.
[17:19] It provides the part that actually underpins all of the stuff that we'd normally go
[17:24] to an authority, a database sitting on a server somewhere.
[17:29] And with a bunch of other technologies, it can actually provide that infrastructure for
[17:35] doing massively multi-user applications in a truly different manner.
[17:42] So yeah, that's my thoughts on what Ethereum is over and above being a scriptable blockchain
[17:50] environment.
[17:53] Any questions?
[17:54] So I wanted to ask if you were thinking about because like basically aetherium is a tool
[18:07] Yeah, so that's like one part of the story, but it's also
[18:14] Important that the people that using the tool are also important. So have you
[18:21] You know
[18:22] Did you think about these things or is there anything that could like go in parallel with the development of the tools?
[18:29] that could help, you know, with the consciousness part of the problem. So, you know, to educate the
[18:38] people how to live within a system that is facilitated by a tool like this. Because the
[18:51] people could either, you know, make it or break it. Yeah. Yeah, I mean, I think it's not especially
[18:58] clear what that what that system is gonna be yet. I think we'll sort of
[19:04] discover that in the coming in the coming years when we see the
[19:10] infrastructure that gets built. I mean this is this is very much the sort of
[19:14] the core technology layer and just as you know when the first computers came
[19:20] out in the 40s and you know it's like ah you know what what's this gonna do
[19:24] it might make a few people who are sitting in a hall doing abacus
[19:27] calculations out of a job, but basically is it going to change the world? Well, we
[19:31] can't really see what the final applications are, so maybe not. And of
[19:34] course, yeah, it turned out rather differently. So it's difficult to
[19:40] comment on precisely how we might try to shape what the eventual outcome is
[19:47] from this technology, but yeah, I guess attempting to be useful and
[19:57] and inclusive is probably a reasonably good way to set about it.
[20:05] One more question.
[20:07] Do you have any thoughts on what some of the things that are going to take the longest
[20:12] or be the hardest to transition from the old model onto this new model?
[20:23] I guess inevitably there's, with any new way of doing things, there are people who
[20:29] stand to benefit a lot and there are people who stand to benefit much much less and yeah
[20:39] persuading them that actually there's no option and they should really you know I don't know
[20:44] what what do they say you should you know shoot yourself in the foot or be shot in
[20:48] the head tomorrow you know it's like well persuading them to shoot themselves in the
[20:51] foot now is going to be difficult so I would say that it's the hardest things
[21:02] to me seem to be the people who at the moment have a relatively easy existence, or people
[21:09] I say, people and organizations, because that's what it is, isn't it?
[21:14] And persuading these guys that actually what, you know, they need to start thinking about
[21:18] things in a different manner, a radically different manner, is going to be the hardest
[21:24] task.
[21:25] And the only way we're going to be able to do that is basically it's how you convince
[21:28] an investor to invest, right?
[21:30] It's an MVP.
[21:31] So you show them, look, you can see it working.
[21:36] Once people realize this, you're not
[21:38] going to be competing with this.
[21:39] You can't possibly compete with this technology.
[21:41] So just get real and start thinking in different ways.
[21:45] But yeah, I don't know.
[21:46] I guess that's probably what I'd say.
[21:49] And we just have one more quick question.
[21:51] A lot of us heard in this conference
[21:53] relative to previously a lot about private chains, right?
[21:56] And my question to you is, as we progress forward
[21:59] into the future, how do we ensure that the public chain
[22:03] doesn't get starved while the concept of a private chain
[22:07] flourishes naturally because of the investment in it?
[22:13] Yeah, good question.
[22:15] I would say that the first thing to do
[22:18] is to make sure that all of the technology that
[22:20] goes into private chains is free and open.
[22:24] The second thing to do is, as much as possible,
[22:26] make sure that resources are shared.
[22:29] So any of the resources that go into private chains
[22:32] necessarily go into public chains.
[22:35] So one way of doing this is by avoiding forking code bases
[22:39] and trying to integrate as much as possible
[22:41] into the same code base.
[22:43] So that IP cannot be torn out and kept hidden in the dark.
[22:50] And the final thing that I think is more strategic,
[22:53] and that's to try and make sure
[22:55] that we're always looking forward to the point
[22:59] where whatever it is that private chains deliver,
[23:03] the public chain can also deliver.
[23:05] So we should be looking forward to a point
[23:07] where there aren't private chains and the open chain.
[23:11] We should be looking to a point
[23:13] where that's a false choice and where there's actually
[23:15] the real choice is a single sort of hybrid chain
[23:18] where what needs to be private for particular applications
[23:21] is private.
[23:23] what doesn't need to be private isn't private and actually all operates in essentially the
[23:28] same environment.
[23:30] So that's something that I'd like to see and that's something that I hope, you know,
[23:34] as a community we can eventually develop and implement.
[23:38] Great.
[23:39] Thank you.
[23:40] And good for Gavin.
[23:41] Thank you for having me.
