Early Days of Ethereum

Preserving the history and stories of the people who built Ethereum.

ethereum devcon-0 - gavin: welcome! our mission: dapps

Gavin Wood welcomes attendees to DEVCON0, the first Ethereum developer symposium held in Berlin, Germany, from November 24-28, 2014. He discusses the mission of building decentralized applications (ÐApps) on Ethereum.

Transcript

[00:14] SPEAKER_00: Welcome to Berlin everybody. It's great to have you all here on the, what is effectively the inauguration ceremony of this great facility we've got here. The picture there shows all of the ultra stylish sheep looking ultra stylish in exactly the same way, which is very, very Berlin.

First of all, I've got to give a few shout outs to all the people that have made this happen. Aaron, who has been priceless in assisting me to just get the Berlin operation going at all. Where is he? Is he around? Yeah, there's Aaron. Take a bow and let's give Aaron.

I'd also like to thank Sarah O'Neill, who is, there she is at the back. Sarah. Sarah's been absolutely tireless in getting this place into what you see it now. Pretty much every component that you see in this room was researched and coordinated and purchased by Sarah. So she's done a really good job.

Also, like to thank Roland. There's Roland at the back. Roland the slightest, completely built this. So when Aaron and I first saw this two months ago, I guess maybe even three, it was nothing like this. It was a corridor and a bunch of like faceless offices. It was horrible. But yeah, Roland basically tore it all down and rebuilt it. So thanks again.

And finally, Christian Vermel has been great in helping Aaron out and allowing Aaron to get on with various other stuff while the Berlin hub slowly got built. So last but not least, Christian.

Few other people to thank, our comms team for making their pilgrimage over from London to get all this filmed and record the event. They're, you know, just looking at all this, all this gear. Professional guys. So thanks a lot.

And finally, thank all you. I know a lot of you have come from far, far across the seas to be here with us. This is really great and this is I think the first time that most of you have met most of us. So this is just such a great opportunity to build those bridges. So thank you for coming.

Okay, so I'm going to use this just to give a bit of background to what we're doing and basically build the picture for what's going to come in the next week. There's a lot of content over the next four and a half days that we're going to see and I want to fit this into a framework that everybody here can understand. And although some of you will have very deep knowledge on parts of it, I don't think everybody has exactly the full picture and maybe some people do, but in any case I want to go over it to make sure everybody knows.

So the background to Ethereum, at least from my point of view is the social aspects of it. And in particular what Ethereum is, if you like, is a solution for is this notion of inequality through centralization and authority. What we've seen over the past, I don't know, two or three thousand years, if not for longer, is that we've made a lot of technological progress. But this progress is often leveraged in a greater way by the more powerful than by the less privileged or more plentiful.

Now although, you know the tide has risen, if you just look at the Gini index over the last 20, 30, 40, 50 years, inequality continues to rise. And this isn't necessarily about wealth inequality, but actually sort of power and influence inequality. The fact that we now have weapons today, where you might argue not a single person controls the ability to destroy a continent, but nonetheless a very small group of people certainly do.

This is a really sort of clear harbinger of the fact that if we continue in the direction that we're going, whereby we sort of arbitrarily bestow power onto humanity, it will collect and form very small pools. And those pools are very dangerous because one small mistake made in the center of those pools leads to crazily horrible catastrophic results.

So yeah, in a way, we helped build a partial solution to this. The Internet. This allows everyone from across the globe to communicate.

[06:08] SPEAKER_01: Great.

[06:08] SPEAKER_00: But the problem is that it's a great piece of infrastructure and it's certainly prerequisite to what we ultimately need to kind of take away this growing centralization of authority and power. But it's not quite there. The Internet provided a first step to there but it didn't deliver us all the way.

So come on to trust. And really when we say trust most of the time we mean blind trust. Now blind trust is fine for small communities. This is why we have the ability to trust in our heads. I mean there will be a time in the evolution of the species whereby people didn't trust everyone, was effectively a sort of paranoid psychopath. And then sort of we move on and religion sort of creeps into the human race and we have this idea of being able to trust other people.

It's helped us a lot as a society. Right? The fact that everybody doesn't need to expend all of this energy working out what everyone's true motives is great. And it works perfectly well for small communities because there is this notion of an implicit reputation system. Everybody knows everybody else, so it's very easy to see who is trustworthy and who isn't. And we have a natural form of accountability. Basically, if you get excommunicated by the community, then you're probably dead anyway. So you really want to live up to the trust that people give you.

Now, the problem is that trust doesn't really scale. So when you get to multinationals and governments, they can largely do what they want without that accountability that you would get in a small community. As Julian Assange said, what we actually need is transparency for the powerful, but privacy for everybody else.

So this brings us on to our mission. Decentralization. Distribution. That's what the D stands for. I mean, it's not quite clear which one it stands for, but I guess one or the other. And with this technology, we're going to try and rewrite the rulebook on all sorts of other aspects. Efficiency, reliability, and security.

One of the things that I often get when I speak about Ethereum and what this technology is people, well, what about the security of the system? What about the firewalls? What about the database security? This is completely missing the point. With decentralization, those aspects of traditional server client security, they fall away. We don't need them anymore.

Similarly with reliability, we don't need failover services, which is what people have been working out for the last 30 or 40 years. We don't need that. Every node in the network is a failover. And similarly for efficiency, we don't need this bottleneck scaling because there are no bottlenecks. Every node is effectively the source for any other node.

So I want to talk a little bit about what we're developing in order to bring this to fruition, this sort of, this vision, if you like. So the daily menu. What's on the daily menu?

The first thing, first and foremost, why this project was started, how it ever got underway. Vitalik's brainchild, this idea of the centralized, ubiquitous, secure, compartmentalized transactional database, also known as the Turing Complete Blockchain or just Ethereum. This is the thing that basically fits where the server would go. This is the thing that it's a single thing, but it's not located anywhere and it allows all the bits and bobs to agree and talk and generally form records of what happened. This is fundamentally the backbone of the full technology suite that we're building. It is a notary, a judge and an executioner.

For these decentralized applications to go with this we also need a language. SQL doesn't really cut it anymore and this language must effectively form the basis of our new crypto legal system.

To build all of this technology we need the infrastructure, we need the railroads of the future. We need this fundamental backbone for peer to peer decentralized applications. This particular low level background that I'm referencing here is this notion that we can build further protocols, further ways of peer to peer applications talking to each other on top of some fundamental system.

One of the other backbones that we're going to be building is this idea of the ability to print, collect and then distribute information for all applications. This is what we've been calling Swarm. And over the, I don't know past 8, 9, 10 months what Swarm is has evolved to some degree according to our needs and requirements as we've discovered our needs and requirements. But the basic idea remains the same. There is information, this information doesn't change and we need to basically make everybody aware of the information.

The other component that we are clearly building is the lonely hearts for decentralized applications. So this has been variously called messaging thing, identity based transport service, multi key DHT. But really what we need is this ability to allow decentralized applications to communicate with each other and discover each other and discover the different people that are trying to use these applications. This has been called Whisper, which is a bit of an odd name given that about now everything is called Whisper because it seems that what people want to do these days is whisper to each other.

The final sort of component in this suite is the window onto this world. These technologies are great but who's going to use them unless there's a very easy way of doing so? We call this the Ether browser and more recently Mist.

And of course we need our basic services to run on this. Some of you have been playing around with the decentralized application development. Well we're going to need some basic plumbing for this stuff.

To make it all come together. We need people, we need other people, not just us. We are very small, very few. We need the rest of the world to start understanding how to engineer systems with this paradigm. This is a very new paradigm. Make no mistake, people coming out of our education institutions at the moment do not know how to use what we will be building.

People think in terms of absolutes, they think in terms of heterogeneous systems of servers and clients. They think in terms of HTTP, I think in terms of SQL databases. They don't see the difference between that which needs to be trusted and archived and recorded in a transactional database and that which is essentially ephemeral. They don't see the difference between separating the static from the dynamic. We need to create a new vocabulary and we need to create a new way of understanding how to engineer solutions with this new tool set.

So that's an introduction to what we're building. I would now like to get everybody to just give a very short 30 second introduction as to who they are in this project. I know that probably most of you have, know maybe half of the others, maybe even two thirds but I don't think very many of you know everybody else. So starting with the developers, I'm going to call each one of you up and I just want to give you, don't, don't be, don't be scared. I just want to give you a quick opportunity to introduce yourself so that later on communication is eased.

So I would like to start with Aaron. So most of you know from the earlier introduction. Aaron came to this place out as a modeler. On the X please. Ah, on the X, I see.

[15:50] SPEAKER_01: There it is.

[15:51] SPEAKER_00: Yeah.

[15:52] SPEAKER_01: So I came onto the project.

[15:54] SPEAKER_00: Back in February to try and model the system and help ensure that it will work in a stable way. So look at different fee structures and the long term consequences of various strategies of the way things could work. And I hope to do that very soon again. But in the meantime I'm helping.

[16:17] SPEAKER_01: Make sure that everyone else can.

[16:20] SPEAKER_00: Do their jobs as smoothly as possible. Thanks Roman.

[16:33] SPEAKER_01: Hey, I'm Roman. Back then in March I was looking into Ethereum vision. I was very curious and I didn't know how I can join so I took the programming language that I know which is Java and just starting to check if I can implement some. So I just connected to the network, just downloaded the protocol and then I started implementing VM and maybe more, maybe found some bugs, helping to fix some bugs and came out with the full implementation of this Ethereum protocol on Java and continue to do some more stuff on top of it.

[17:15] SPEAKER_00: Thanks Roman. Lefteris.

[17:21] SPEAKER_01: Hey, I'm Lefteris. I'm basically new here, started last week. I will be working in C for Solidity and for the natural language specification format that we will allow documentation of the contracts. So yeah.

[17:48] SPEAKER_00: Thanks. Marek.

[17:56] SPEAKER_01: Hi, I'm Marek. I'm working on JSON-RPC API for CPP client and also I'm working on JavaScript API and I'm also trying to fix some build system on macOS and I'm helping Sven doing that and that's all.

[18:19] SPEAKER_00: Sven.

[18:24] SPEAKER_01: Hi, I'm Sven. I joined three weeks ago actually I'm not really into all this Ethereum stuff, not yet. It's still new for me. But I'm interested in getting stuff done in terms of the build system so that we have higher quality software because I think that is desperately needed and I want to get this in a good way.

[18:49] SPEAKER_00: Thanks Sven. Alex.

[19:00] SPEAKER_01: Hello, I'm Alex and I'm working on the libp2p and the C client. I got really interested in Ethereum when the white paper was released by Vitalik and it seemed both a really compelling and feasible and innovative idea. And I thought, change the world with that. So that's why I'm here.

[19:31] SPEAKER_00: Christoph.

[19:38] SPEAKER_01: So I'm Christoph. I became interested in Ethereum I think was February or something like this when I first heard of it and was amazed by it, followed it but I was doing my PhD so I didn't have too much time but I joined in mid of September I think and mainly doing unit testing right now we see how the clients are not in consensus right now. Try to figure out some nice tests that are still a lot to do. So yeah, that's what I'm doing.

[20:09] SPEAKER_00: Jutta. Joseph.

[20:18] SPEAKER_01: I'm Joseph. I met Gavin and Vitalik when he visited California back in maybe February. And then Vitalik suggested this Ethereum JavaScript library project maybe around April or something and that's how I initially started out. So with my colleague Martin, who's also in California, we're building the JavaScript Ethereum library and also client. So just similar to how we have the CPP client, Go client, Java client and Python client, JavaScript client next.

Hey guys, I'm Vitalik.

[21:03] SPEAKER_00: I'm helping out a little on the Python client.

[21:08] SPEAKER_01: Daniel.

Hi, I'm Daniel and I was recruited to this project about a month ago. But I was watching it closely from the sidelines since April probably. And my current task is designing and implementing in Go a decentralized way of storing the permanent public record.

[21:36] SPEAKER_00: Excellent.

[21:45] SPEAKER_01: Hello, I'm Jan. So I start three weeks ago. It's really new. I start to work on IDE project. So it is just the beginning the basic things, but yeah, I hope that maybe soon you can develop many contracts and many things with the new IDE. Yes, thanks.

Yeah. Hi, I'm Christian. I joined the project in October and I'm working on Solidity. So the compiler and later also the formal verification system. You will see a talk about that tomorrow. So thanks.

[22:34] SPEAKER_00: Felix.

[22:43] SPEAKER_01: I'm Felix. I'm part of the Go implementation team. But I also served. A month ago I learned about Ethereum by way of basically Ethereum moving in to the same coworking space where I was already seated and basically I just moved over to the Ethereum table. And from there basically I've been working on whatever has been necessary to improve the situation in the Go client. So the original task, the original idea for my work would be to improve the browser. But I haven't really had time for that because it was all. Yeah, I found a lot of other things to do.

Okay. I'm Viktor, originally from Hungary. I live in London. I heard about Ethereum from a Bitcoin meetup. When I met Gavin, I was immediately interested and wanted to contribute to the C client until I realized how much I suck in C, but did contribute bits and bobs to the infrastructure. Doing like a VM factory for Ethereum first. Now I officially joined the Go implementation team in October and I'm contributed to the peer to peer, new peer to peer implementation, but mainly actually I'm learning how to code and Go from Felix. That's the honest truth. I hope to contribute more.

Hi, I'm Marian. I joined Ethereum in June. I helped with developing the Sail app and now I'm working with Marek on the JavaScript API and I'm developing the Blockchain Explorer.

Hey everyone. I'm Vlad. I've been kind of volunteering for Ethereum project since April, doing research on a very large number of topics, more than I've been documenting unfortunately. Right now I'm working on consensus and interoperability and scaling. Love to talk about it, among other things. Looking forward to meeting you guys.

Hi, I'm Heiko. I joined the project in March I think and I'm working on the Python client, mostly the networking part and with Sven, we want to set up a stress testing environment.

[25:50] SPEAKER_00: Thanks.

[25:58] SPEAKER_01: Hello, I'm Paweł. I came from Warsaw in the morning today and for about a month I'm working for quite separate part of the CPP client. If you know there is a part called VM that is responsible for running all the EVM code. So I'm trying to use LLVM to make this run really fast and I hope I will share the results tomorrow about that.

Hi, I'm Alex, I'm a UI and UX designer. I've been working in design interfaces for over seven years now and I worked in many, many startups. I founded one two years ago but I was very interested in Bitcoin for smart contracts and then I started.

[26:59] SPEAKER_00: Reading about Ethereum, started participating in the.

[27:01] SPEAKER_01: Community, started sending works to Gav and Jeff and at some point I was.

[27:08] SPEAKER_00: Much more interested in Ethereum than the thing I was doing before.

[27:12] SPEAKER_01: And when the opportunity came it just had to come and help.

[27:18] SPEAKER_00: Thanks. Jutta.

[27:28] SPEAKER_01: Hi, I'm Jutta. I was hired to make you have all a hard time. Hopefully not so much because I'm the only woman so far, but because I'm managing the security audit prior to Genesis Block release.

[27:40] SPEAKER_00: Thanks. Jonathan. I would like a show of hands for everybody else as to who would like to introduce themselves now rather than in person. Like.

[27:59] SPEAKER_01: I'm Henning and I'm a C guy, an ex C I'd like to say. So my C is a bit rusty. I'm interviewing and hopefully I might be joining at some point. Right now what I'm bringing to plate is maybe experience with Erlang a lot and distributed computing. I have also written a language for the domain specific stuff in the insurance industry and recently did a lot of stuff with Bitcoin, basically about contracts and Oracle.

Hi, I'm Konrad, I learned about.

[28:45] SPEAKER_00: Ethereum through Heiko who's also a colleague.

[28:48] SPEAKER_01: Of mine and with him I was helping a little bit out with the pyethereum client in the beginning. And I'm hoping to also help with the stress test project with Sven.

[29:10] SPEAKER_00: Hey.

[29:11] SPEAKER_01: Joseph Lubin, one of the founders of the Ethereum project. Spending most of my time doing Ethereum Foundation business and will continue to move that forward on a deal for the next few years hopefully and also starting to develop some decentralized applications.

[29:36] SPEAKER_00: Hi, I'm Joris, I created the YouTube channel Ethercast together with Joel Dietz. While we're still figuring out what this Ethereum thing is all about. Right now there's a professional recording setup so I'm here in a different role. I'm building various decentralized applications among which, decentralized Uber. So if you're interested in that, come talk to me.

[30:02] SPEAKER_01: So I'm Joel Dietz, the co-founder of Ethercasts and I was really hoping to work on Ethereum full time at that point but then I started this other Swarm thing and still very excited about Ethereum and kind of seeing how I can get involved or whatever. And I guess we sort of have a co. We have a co office sort of now with Ethereum folks in Silicon Valley and our own sort of whole lawn thing. So people are familiar with that idea. It's still sort of moving forward in some fashion.

Hey guys, I'm Brian. I'm the founder and organizer of the Bitcoin Startup Spoiler Meetup. We actually have a meetup tonight. Joel's going to talk and we're also going to talk about Counterparty and Ethereum. So if somebody wants to come and give Ethereum view then that would be great. If I will post somewhere like the Twitter maybe. I also do a podcast called Epicenter Bitcoin. We've had Gavin on and Stefan also quite a while ago. Yeah, I look forward to learning a bit more this week.

[31:11] SPEAKER_00: Thanks Brian. Anyone else want to introduce themselves? Yeah.

[31:25] SPEAKER_01: Hi, I'm Arkady. I think I'm the most fresh guy around here. I'm about to join the C team here in Berlin in a couple of weeks. I'm not sure yet what task I will receive, but I'm pretty sure it will be exciting. Well, can get to get my hands on the code. Thank you.

Hi, I'm Piotr. I am from IMAPP. I work with Paweł. I'm not strictly in Ethereum but we work on a project that would probably benefit from Ethereum and we hope to integrate it with Ethereum as well as maybe provide some source code that maybe shares some common parts with the Ethereum. I'll give you a presentation tomorrow so I hope they will join.

[32:11] SPEAKER_00: Stefan, go on.

Hi, I'm Stefan. I'm the CCO for Ethereum at Dev. And I'll be doing a little presentation later so I'll introduce myself better next time. Cheers.

[32:31] SPEAKER_01: I'm Vinay Gupta. I just joined the comms team. And I'll be doing a session.

[32:34] SPEAKER_00: Wednesday morning on how to sell ideas.

[32:43] SPEAKER_01: Hi, I'm Ian. I've been working for Ethereum since mid February.

[32:48] SPEAKER_00: I've been responsible for most of.

[32:51] SPEAKER_01: The graphics and design and branding.

[32:53] SPEAKER_00: So I'll speak to you on next one. Okay. Anybody else? Go on.

[33:01] SPEAKER_01: I'm Ksenia. I've been following Ethereum from the outside since February, I guess. And I'm a groupie. No, I'm part of a documentary film team. So if I'm going to catch some of you and interview you, don't be surprised. Yeah, I'm working with Dacon.

[33:25] SPEAKER_00: Jason.

[33:27] SPEAKER_01: Hi, I'm Jason. I'm the assistant here in Berlin. If you have any questions about stuff related to the events or schedule or whatever, just ask me.

[33:37] SPEAKER_00: Thanks, Jason.

[33:40] SPEAKER_01: Jeff.

Hey, man. My name is Jeff. I do the Go implementation. I'm trying to look a few familiar. There you are. So, yeah, that's me.

[33:59] SPEAKER_00: Okay, just one more time.

[34:03] SPEAKER_01: Okay. Hi.

[34:04] SPEAKER_00: Hi.

[34:04] SPEAKER_01: I'm Christian. I'm the office manager here in Berlin. I joined the team three weeks ago and if you have any question and need help in German language, then perhaps you can ask me.

[34:15] SPEAKER_00: Okay. Thanks, Christian.

[34:21] SPEAKER_01: Hi, everyone. I'm Ken. I'm a new member of the comms team. My job is to write the curriculum for our budding dapp developers.

Hi everyone. I'm George.

[34:33] SPEAKER_00: I've also recently joined the comms team. I sort of work with Stefan.

[34:36] SPEAKER_01: And the guys to try and make Ethereum understandable to everyone around the world.

[34:43] SPEAKER_00: I think we've had almost everybody now. Anybody else want to say hello?

[34:49] SPEAKER_01: No.

[34:50] SPEAKER_00: Before I close. Okay, great. Thanks everyone for introducing themselves. I hope we have a happy, fun and productive week here. Thanks for coming.