Ethereum is a decentralized blockchain platform. So it tries to take some of the ideas from things like Bitcoin, from ideas of distributed consensus that have existed over the last a few decades, different forms of cryptography and combine them together into a platform that people can use to build decentralized applications. So basically, applications which can run without dependence on any particular or a central third-party. I'm Vitalik Buterin, founder of the Ethereum project. I started programming very early, really properly programming around when I was 10. Before that, for years, I would just do stuff in Excel but then I started programming games and for that I would play myself in C++. Then at some point I discovered Python and JavaScript and I'm like, "Wait, why does anyone even care about C++ if these languages exist. " Then I started portable playing and programming games and that, and then at some points around when I was 17 or so, I discovered blockchains. I love the syntax and it feels very nice and pretty. It has a lot of features that just make stuff easy that really should be easy, like support for big numbers, support for array literals, just being able to make arrays and make mappings and dictionaries and so forth. Programs that just to work nice and clean and take 10 lines in Python just seemed always be three times harder in things like C++. Then in JavaScript, like it gets not having big numbers and then just like mixing up numbers and strings makes it clear easy to have bugs everywhere. I mean I do wish Python had some more strong typing but otherwise even still it seems like a nice middle ground. Probably my biggest priority at the Ethereum Foundation is working on the Ethereum 2.0 Spec. So this is this a big upgrade that combines together proof of work, proof-of-stake, scalability, upgrades that we're sorting and a bunch of other improvements to the Ethereum environment, and brings them together into this package that we are very far along in terms of specking out and even starting to implement at this point. But there's still a few more details that need to be finalized. I think at this point, we're at the phase where there is no single biggest problem that's way bigger than all the other problems. It's more like a 100 little problems. It's like, there is this part of the spec that's not yet finished. I discovered this tiny problem, how do we solve it without introducing more complexity, how do we take away more complexity, how do we do this and then how do we make the plasma spec better, how do we do that without making it overly complex. Just a bunch of these small issues that keep on cropping up because sometimes you're in the mode where you know either of a solution, you just need to write it out and implement it. Some of the time, you're just thinking about all of the problems and trying to see if there's even any one of them that you can come up with a good idea for. When I do coding intends to more be coding of prototypes and proofs of concepts. So things that then potentially other people would take and turn into production software, and then also like writing out specifications and formulas and things. So I'm definitely closer to pure research. But even in the research area, there are things that are valuable about just writing code. Because it basically just forces you to be formal about everything that you're doing, and that by itself reveals things you haven't thought about before. I think that there's definitely different value, then different kinds of protocols or providing and it would be good to just see the different protocols, discovering what their niches are, and just trying to see if both provide a value to the ecosystem by experimenting and trying out different approaches. But also maybe we'll find moments where we see this protocol makes a lot of sense in this context, or this protocol makes a lot of sense in this particular context. I definitely think that environments for that make it easy to build and deploy applications are useful. Though at the same time, there is obviously less nagging concern of centralization, especially if like half the entire ecosystem starts depending on a particular platform. So at the same time, these things are useful because they provide real gains and developer ease of use. But at the same time, it would be nice if the client implementations and the protocol itself were stronger so that we wouldn't have to need to resort to these kinds of things for everything. So first of all, I personally really hate how the word DAG is just been over hyped. So first of all, a blockchain is a kind of DAG. The Ethereum 1.0 chain is a kind of DAG because of how ongoing collision works. Ethereum 2.0 chain will be even more of a DAG because of how you have the shorter chains and they keep on constantly cross-linking with each other. Then even within each one of the chains, every block has many attestations and then get included into the next block. So those are things that we are totally adopting. At the same time, it does seem like there is room for more innovation on the data structure side. But at the same time, it does seem like we are getting closer and closer to understanding what the optimum structures are. A lot of the possibilities for big improvements are things that I think have already been incorporated into quantity Ethereum consensus algorithms. I think the philosophy and the technology are both important to inform Bitcoin and Ethereum as well. So for example, the philosophy of Ethereum I think definitely carries over a lot of the philosophy of the existing blockchain platforms, which has this idea of creating these open public platforms that anyone can participate in creating this. Like basically, extending the ideals of open source to applications that have to run what shared data between different users. Things like censorship resistance and also just building platforms that work from anyone can access from anywhere around the world. I think those are things Ethereum community cares about and also just enabling cooperation across wider distances. But those are things that could have blockchain communities before cared about to some extent as well. The other thing that's more Ethereum specific is this idea of extreme generality that this is a block chain that can be used for really a huge number of different purposes. So that basically means I know it's not just a cryptocurrency, it's not just a domain name system. It's not just a system for keeping track of how many units of what different tokens people have or making decentralized exchanges. It's like all of that plus other things that we haven't even thought of yet. I think that aspect also does create a more developer oriented culture because Bitcoin is an application for example, and so Bitcoin is fundamentally more about what you can do with it. Whereas more general purpose platforms are more about what you can build with it. I would say if you're just entering the blockchain industry and first of all, it's important to just get a good idea of what the status quo is in terms of what people are working on, what things are possible at layer 1, what things are possible at layer 2, what things are possible from the point of view of applications, where researchers going. Part of the question also depends on what you see your personal specialty being. So are you a mathematician or a cryptographer, are you a kind of low-level developer, are you someone who is interested in working on things directly related to empowering people in Uganda, are you interested in solving user experience problems for millions of regular people and their space in the community for people of all types? But depending on that, you might have different focuses on whether you want to end up learning the finer grains details of how a zk-SNARK works versus the trying to understand more from a economic and business standpoints like what things the blockchains enable that were not possible without it. If you're doing that, then it's important to try to get your own good understanding of that so you can try to figure out what kind of blockchain application makes more sense more from first principles.