Intro (00:00:07): Welcome to zero knowledge. A podcast where we talk about the latest in zero knowledge research and the decentralized web. The show is hosted by me, Anna and me Fredrik. Anna (00:00:27): This week, I chat with Eduardo Antuña Diez, the co-founder and project lead of DAppnode. We talk about the importance of running your own node, the rollout of ETH2, as well as what DAppnode aims to build and be in the future. But before we start in, I want to remind everyone that the Gitcoin grand CLR matching round eight is on now. There's only a few days left in the round and we, the zero-knowledge podcast have a Gitcoin grant. I wanted to remind you that if you want to support the podcast now would be a great time. There's a lot of competition as mentioned last week. So if you are thinking about donating, please do and head over as soon as possible. Anna (00:01:06): I also want to thank this week sponsor O(1) Labs, the team incubating the Mina protocol. Mina is the world's lightest blockchain powered by participants. Their novel use of recursive ZK SNARKS enables a constant 22 kilobyte blockchain that will allow anyone with a smartphone to sync and verify the chain in seconds. Mina has a growing technical community of more than a thousand members that is spreading across 50 countries. And over the past 18 months, the community alongside with the core team of O(1) Labs has been working on a rigorous testnet. And now they're close to finding a main net candidate. The last step is the adversarial testnet, as well as a bug bounty program, which in total is offering 1% of the protocol and rewards for finding vulnerabilities, testing the network and participating in challenges. You can sign up for this adversarial testnet, Testworld. Signups are open today, but it's very limited and it's limited to the first thousand participants. So if you want to participate, do sign up ASAP, go to Minaprotocol.com/adversarial to secure your spot. You can also join their very active technical community discord. I've added the link to both of those sites in the show notes. So thank you again O(1) Labs. Now here is my interview with Eduardo. Anna (00:02:27): So this week I'm catching up with Eduardo Antuña Díez who's the co-founder and project lead of DAppnode. So welcome to the show, Eduardo. Eduardo (00:02:36): Thank you. Thank you for having me here. It's a pleasure finally to be with you. Anna (00:02:41): So in today's episode, I think the plan is to kind of cover what Dappnode is, the role it plays, but currently, like, you know, in the last few weeks there's been the release of ETH2, and there's also been a lot of conversation about the role of the node operator. So it's, it's very timely to have you on the show now. Um, I think as a starting point, I actually want to hear how you would describe Dappnode. Like what is it exactly? Eduardo (00:03:05): Well, that's a very good question. We started this project three years ago and the thing that we realized at that moment is that we are developing decentralized technology. We want to switch from this Web2, to a new Web3, but the thing that we discovered is that we are using this technology in the same way that before. We are using centralized CME providers, we are accessing to Google or send our transaction using infura. And mainly it's because we think that people need to have a easy way to do that. But also we want to create a platform for projects that allow us then to have these decentralised hardware layer. And, and that was the purpose of Dappnode to create these decentralised hardware layer allowing anyone to, to run decentralised applications in a true manner Anna (00:03:55): Was DappNode ever, like, was the plan originally to be like a mining rig in a way? Like, did you think of it in the context of proof of work or was it always like a full node, but not mining? Eduardo (00:04:08): Yeah. The intention, it was never to create a miner thing. It was always asked to put all the pieces together to connect IPFS, swarm to an ethereum node and be able to access to the Dweb in a decentralized way. So mainly it was hardware and software that people wants to put at home and make easy to access to these new technologies in a truly decentralized manner and make easy to share with friends and family and preserve the privacy. Anna (00:04:38): Cool. I think in this, in the case of DAppNode, I kind of want to talk about it or think about it in maybe two era's like the era of now, like what it could be used for today with ETH1. And maybe after this, we can talk about how it can be used in the context of ETH2. And I know there's people who don't like the separation of ETH1 / ETH2, but like for simplicity sake, let's say. Like today, if I use DAppnode, what am I actually running? What interacts with the ETH1 network today? Eduardo (00:05:08): Yeah. Okay. Well, we build the system taking into account that everyone is going to run on ethereum node or something like that, then yeah. It's just, we want to create a decentralized package distribution. So that is why we use the Aragon package manager and the smart contract to balance the hash of, uh, image. So, I mean, that's, when you install a package on your dappnode, you can do it in a completely decentralized manner. And that is why we use ethereum at the beginning because we want to have these, this improvisation and the stress based on ethereum. So now people that are running Dappnode can install several application that we are publishing on, on these smart contracts. But we also have a public smart contract in which anyone can develop its own package and publish then. So for example, people can run, can run now full nodes of Ethereum for sure, also to Turbogeth nodes, but also Bitcoin, Monero, zcash at the end we want to create something quite, uh, anoxic from the point of view of the user. So even if we are using Ethereum as our base technology, we expect people to run similar application, at the end, this is like a, we can understand it, like a mobile phone or something like that in which you can have several applications in the heart of decentralized applications. Anna (00:06:28): Oh, cool. Okay. So it is, I guess I've always thought of DAppnode in the context of Ethereum, but I didn't realize that you could actually use the software and hardware for other networks as well. Eduardo (00:06:38): Ye, And also we are adding more application that is not, yes, blockchain related, for example, you can run your own cloud on DAppnode. So you can access to your files or bitwarden to keep your keys. Its just your own private cloud. Anna (00:06:56): Hmm. What's your background that led you to build this? Eduardo (00:06:59): Well, it was a long journey. I've been doing several things. Developping other applications, I also be a DevOps I've been working in a IT company. And then I discovered Ethereum, the smart contracts, I learned a lot about how to develop and then I meet Jordi Baylina and Griff Green and I discover Giveth and everything started to happen. Anna (00:07:42): So you were one of these projects that kind of like started right as the market was tumbling downwards, right? Is correctly. That must have been hard. I mean, I remember that time. I mean, it was, it was interesting because there was fantastic energy and people who were building really cool things, but there was also a little bit of this sense of like, where's this going because, you know, prices were actually going down and they went down for, from like, if you're, if you're saying beginning of 2018 or so, like, it was sliding down until the end of the year. So what was that like starting a project at that moment? Eduardo (00:08:18): Yeah, it was quite crazy, but the thing is it will always have been a very small team at the end and we get some grants to build this. We didn't do some ICO or something like that. Yeah. Um, yeah, it was really crazy. Uh, I told my friends last time that yes, because of we survive two bear markets, maybe we need to get up an NFT or something. I don't know. But it was very, very crazy stuff, but at the end we always want to spend this money developing. So that is why now I have the feeling that we have a quite solid product. Um, yeah. Im quite proud of all the results during these years. And also, yeah, it's really amazing. Anna (00:09:04): Well, going back to kind of the, this sort of DAppnode as a, like, what would you, what do you call it then? Like, what is the, you have a hardware piece and you have a software piece. What is the hardware piece called? Eduardo (00:09:16): We call both DAppnode at the end. The thing is we started this as a software project, but then we realized that some people are maybe lazy or they want to have a more convenient solution, a plug and play solution, but it's not part of our business. It's just to make easy for anyone to run out, to just buy it, plug in and start to operate. This is not always happening, router and all this stuff is crazy, but we try to help people to make that happen. But at the end of the hardware is just a commodity on top of the software, to make it more convenient. Anna (00:09:49): I see. So what are your main kind of core business is still the software, but you've like, is this unit that you're selling as sort of the Dappnode hardware? Is this something relatively standard that anyone can find? Or is this something you've created? Eduardo (00:10:02): No, it's, it's something it's done. That is a NUC an IBM NUC. And, uh, even if we encourage people to buy itself, and install the software, for us, even this even better, because we don't need to give them support on that. But yes, yes. And also there are some people that wants to buy our hardware because they want to contribute to the project. So, I mean, we don't let too much profit on them, but it's something at least... Anna (00:10:27): And it's something you can, yeah. Something like physical that you can send to the mail, it might be kind of exciting for people to receive it. Eduardo (00:10:33): Yeah, exactly. Yes. It's a connection between users and the projects at the end also. Anna (00:10:39): And like what, just kind of going back to what you had said about it being this place where you can run multiple networks. Is there sort of like a drive to be more POS focused or is it actually proof of work or proof of stake agnostic? Like, do you want it to primarily be supporting the emerging POS systems or is it just like all systems? Eduardo (00:11:01): For me? All the systems, at the end, uh, the idea behind DAppnode is since you can run different application and this application can have some incentivization for running there, you can, uh, get some revenue for, for running a node and for creating that. It's like, we want to switch the value from big corporates and centralised parties to the users and this inacentivization models is the thing that makes all this happen. For example, projects like Swarm that are going to start to have these individual model or all the single proof of stake. The cool thing about proof of stake networks that is quite easy to provide this, depend on the consensus protocol. But if we think about these new proof of stake in which, with a small amount, and I don't know if validators can, can run, it makes you to run several things at the same time, for example, I am running in my home right now, Ethereum2, avalanche and also Swarm node, turbogeth node. So at the end, the, all the incentivization that we are getting from several projects that they think that it's making the dappnode profitable. Anna (00:12:07): Okay. Yeah. That was actually a question that I, that I was curious about because like, when, when I think of running a node, I always think of like the full node of, uh, like extended network. But are you also going to be supporting like these other roles that are emerging? Things like the, I don't know what they're, they're called different things on all the L2s, but something like the committee role or the, the checker, the, I forget what they're all called, but you know what I mean? Like for each, for each one of these, if they have any sort of committee or decentralized group of people who are supposed to verify what they're doing, as they write on chain, are you also supporting those types of things? Eduardo (00:12:43): Yeah. That that's the whole purpose of this project at the end is you to make easy to run these roles. Yes. With one click, be able to be a lesser of Ethereum2 or I don't know. Uh, well polkadot has another role, but at the end, if it makes sense to run in a home in the node, it makes sense to be in DAppnode on the end, we want to create a platform even for projects. So that means that if you have the school projects and this committee for doing something, it makes sense that you put in DAppnode, because right now we are, I don't know, we don't have numbers because we always want to be decentralized. So we don't have metrics about how many users do we have, but we estimate that we have around 300 - 200 nodes, uh, people running DAppnode. So it's very good. This is starting to happen a platform on top of this. Anna (00:13:36): Cool. So what are you, what do you think? I mean, I think you're the right person to ask this, but like, what is the benefit of running your own node? You sort of mentioned, like it's more decentralized. If more people are running their own nodes, but like, why is that good? What's the, what's the real benefit here? Eduardo (00:13:51): It's very hard to, to convince people, to run nodes, first of all because of the complexity. That is why we develop this software to make easy. And, um, in general, I think privacy is a good reason to do that. Tools like ..., or other node providers, I don't know if they are doing, but they can collect your metrics. They can know what are your accounts, because you are always querying the same accounts. And even they can track you and know where are you doing that. So if you want to preserve your privacy, you need to run your own nodes for sure. It's the only way to be completely decentralized and preserve that. More than that I think also that is important for the network. Um, people running nodes is important. For example, we have seen that not too much fullnode of Ethereum is a problem if people want to run lightclients, for example. And then, you know, the thing is very hard. It's very hard to convince people to run nodes because sometimes privacy is not enough. That is why this inventivization model makes a difference. It's when people that run these nodes. Anna (00:14:55): Can you say something more about privacy though? Like maybe what isn't private about the way it's set up right now, if you are using an inferior node, or like a kind of hosted node, you sort of mentioned that the metrics they can track you, but what does that mean? Exactly? Like what's an example of somebody interacting with that, where they would be tracked. Eduardo (00:15:14): I mean, at the end is, is we have the feeling that we are running the Dapps in the same way that we previously ran web2 applications. So, I mean, you go to .io domain. So you are accessing to a DNS to a public DNS, for example, Google. And then you are downloading our page that is on AWS. You are using a centralised thing like Infura. Anna (00:15:49): So it's so funny too. You're very well described here. Like the website that's hosted on AWS, like all of those regular touch points that are web2 and centralized are still centralized. And then even the blockchain part, if you're relying on the, on the node, like a hosted node for you, you're still relying on some central body. And that's, that's kind of where my question is, is like, say I wanted to send a transaction. Like if I'm relying on decentralized node, what does that mean exactly? Eduardo (00:16:20): Um, well, I think it's, when you are sending a transanction, you are exposing all your privacy to these providers. You are telling what is your account, when you can do it, when you want to do it, who are the sender, receiver, the amount, the token, and all this stuff. And even for regulators could be interesting to know these data also. So at the end, if you are exposing the data you are giving for free, you have always this fear that someone can control that. Anna (00:16:50): But isn't like, aren't like, aren't all blockchains kind of open. Like you can always see the transaction data after the fact, but I feel like the centralizing point, like, does it have more to do with like when your message lands in the mempool? Like where you're like, is that the part that becomes a bit trickier? Eduardo (00:17:07): I think more than that is the AP sometimes. So for example, with AP, they can crack, where are you? They even send the police to your home if they want, if you are not using Tor or other privacy tool. So at the end, if they collect this information from several points, they can track you completely. So at the end, I mean, we know that maybe blockchain, depending on the blockchain, is not to focus on privacy, but given all this power to centralize provider means that they can collect and make an amazing track of view. Anna (00:17:42): Do you know, we had a few weeks ago, I think Dan Robinson on, we talked about this mempool, the dark forest of the mempool. But I do wonder like with these centralized node operators, do they also, like, I don't know exactly how they work, but could they, in a way control when a message reaches the mempool, like say there was this like front running attack happening, could it be the centralizing node who actually, you know, is, is a part of this or is that sort of at a different point in the, in the transaction life? Eduardo (00:18:13): They can do for, for sure. I mean, at the end you are sending the transaction using their infrastructure so they can block you. They can do whatever they want. I mean, don´t miss understand me, I love infura. And they're making a important role, but at the end is the power that they can get in the future. And obviously if you are using them to trash act, they can control even that, even the, when the transaction is maintained on or they come front run, front run, if they want. Anna (00:18:43): I never thought about the, like the node operator as that, as part of that potential kind of like vulnerability of the system. But now I can kind of see, yeah, Eduardo (00:18:52): Yeah. Related to this, some weeks ago, uh, when, uh, something, some fork happens. And infura goes down for a while, I don't know if that stuff stopped working. So for me, it was a good test that, okay, the network is decentralized because it work in nothing happened, but not the dApps. It was a good test for dApps, because a lot of them, they stopped working because of that. Anna (00:19:16): Wow. Do you recommend them that all dApps providers, like actually, I mean, I'm sure I assume you do, but they should actually have their own nodes. Like wasn't that originally the idea that the dApps would somehow have their own nodes running? Eduardo (00:19:28): I think so. Um, I mean, for me, it's enough if they provide you a way to change the provider, that's for me, it's, it's, you know, because you can see if you want to you use their infrastructure, or you want to use your own, infrastructure to interact with the dApps, that could be a good starting point. And then obviously if they can have their own infrastructure much better. Anna (00:19:51): Cool. So one of the things that was recent that came out recently was this, um, and this is actually kind of a big deal on Twitter right now. This proposal of the stable act, basically, um, this is a law or a proposal for a law, and it requires like the requirement is that stable coin issuers would need to get a banking license, potentially. And in the dialogue on Twitter, one of the people behind this, Bill kind of said, well, you know, if, if somebody acts against the law, then it's up to the node operators with validators or the miners to exclude any transactions from this entity. And obviously that got a lot of feedback of like, you can't do that, it's decentralized, but I wondered what your take was on this. Is there a way currently, maybe that people could enforce such a thing? Eduardo (00:20:45): Well, at the end, if you think about individuals running nodes, it's going to be very hard to go to every house and okay, you're not to validate this transaction, maybe. Yeah. The IP is again, another problem. But if you think about big providers, centralized providers, then the government can call the door and tell them, you need to switch this off because you are making something illegal. At the end it's the same problem. If we want to be truly decentralized, we need to, uh, and we want to avoid this kind of, of weird loss, we need to figure out a away, which is impossible to do that. And that is decentralization. For me, that is the thing that solved this privacy and these, uh, government, uh, things. Um, yeah, I also, well, sometimes I, I go and read about the European commission talking about to, forbidding the, uh, encrypted B2B communication. That is also craziest for me. And I seen, I hope that in the future political parties and people around this start to realize that at the end, that is not the problem. The problem is that people, so we need to focus on people, not in... Anna (00:21:59): Also. I mean, to me, it's more that like, uh, lawmakers need to spend a bit more time understanding how these things work and what would actually be possible to even legislatively. Um, yeah, so I wanted to move on like so far, I think we've been talking mostly about dApp node today and yesterday, but you know, in the last two weeks there's been a big update, a big change kind of in the Eth community. That is the Eth2 phase zero, I think it's it phase zero, has recent, has launched. And so it was kind of exciting because there's a lot of talk of like whether or not this would happen in 2020. And it seems like it has, I want to hear kind of what, what's your connection to Eth2, are you like planning on just being a place for validation to happen or like what's the connection point? Eduardo (00:22:49): Yeah. Um, since one year more or less, we focus much in make happen to be a validator of Eth2, proof of stake and dAppNode and we did it. And, uh, several people are right now running validators from dappnode, I don't know the exact number today, but, uh, yesterday more than 100 blocks were with DAppNode. And that's incredible. And yeah, we believe that the purpose of, of proof of stake is one of the purposes that you has to try to decentralize this new mining power to individuals. That is why we believe that the, it was very important to make that happen in dAppNode. And yeah, we figured out how to do it in an easy manner. Uh, that was the purpose because when you start to see people that doesn't know how to run a node, I mean, uh, this is not for DevOps, this is for people that maybe don't know how to run a, a common common line. Um, and yeah, it was incredible. It was too much stress at the beginning for sure, but finally it's in that, uh, people are, are doing that. And as I told you before, the important of this is, people when they have incentivization to run nodes is when they really do it. So one of the consequences of these happening of, Eth2 is that right now we have more Eth1 nodes in the network. Anna (00:24:15): Oh, I might as well also run a Eth1 node and the compensation is going to be coming from Eth2. When you just said, um, just one thing, when you just said you run a validator, as far as I understood what you mean is you've created like a way for anyone to run a validator, right? Like it's, it's more like you've created a portal for, for anyone to kind of join the network. Eduardo (00:24:37): Exactly. We are creating tools for anyone. At the end, this is, thinked for individuals, we want individuals to run nodes. We don't want big parties or big companys running an staking service. We expect people at home running and maintaining a node, in a easy manner, not to make again the same mistake that before, or for example, right now there are several changes that are offering this staken service. We want to have an alternative to that. I mean, I think at the end a network should be mixed between several entities and several options, but we, we want to provide something easy for individuals also. Anna (00:25:19): Cool. Does DAppnode, when you say though, you're creating kind of the tools and stuff to be able to do the validation, are you also building a client or is this something else? Maybe help me understand the distinction. Eduardo (00:25:31): Yeah. This is something different at the end, you can understand DAppNode as a provider of clients. So at the end we mainly tokenize this client of Prysm, and we put it in our DApp store, so people can start it, but at the end it's Prysm. We are also planning on onboard Lighthouse also. Maybe we will have all the clients and you can choose. Anna (00:26:01): Because what, what does it mean then? Like, so you just said you tokenize it somehow. Like, so if I had 32 Eth and wanted to validate on.. through DAppnode, what is actually happening to that Eth? Eduardo (00:26:13): Well, this is not happening today. At the end, the thing that is happening nowadays in Dappnode is like a regular process. You will do the lunch part, you deposit to Eth and you have your keys, you put in Dappnode and then you start to validate. Anna (00:26:28): I see. And, and right now it's with prism primarily. So that's like the client that you're using to do it. Okay. And you're going to introduce more in the future. Eduardo (00:26:37): That's correct. And we also adding some, uh, tools like the validator dashboard is to make it easier so you can track it. Then we are also going to add notifications and tools to make easy to do it at home. Anna (00:26:51): Okay. I want to kind of, you did mention this sort of token part though, but let's revisit that in a bit, because I want to kind of finish talking about this Eth2 launch and how that went. So what, what was it like for you? Like you, you were really in it, I guess. Eduardo (00:27:07): Yeah, yeah. That's yeah, it was very, very hard to be honest, because at the end, we don't know if everything needs to go to work at the moment and you know that you have people running nodes around the world and they are put a lot of money on that. So if something goes wrong, they are going to start to abroad you directly and the things can go crazy for sure. Um, yeah, funny story happened, but, but at the end, everything was work quite well. Um, yes, in a small bug on the Prysm client related to people that put a validator key on the UI, but we fixed the same day, a few hours and then no one is having problems with that. But at that moment that you don't know what is going to happen. It was like, Oh my God... Anna (00:27:59): Oh man, I can totally picture that. That's such like, I mean, it's so funny. Cause like launches, it's almost like you need this, you need these hiccups to make these launches as exciting as possible. And I have rarely if ever heard of a launch where there isn't something. Eduardo (00:28:15): Yeah. Yeah. It's incredible. And these things are on the line, and it's something that you don't control. So it's, it's, I mean, on the feeling that you have when everything goes well, it's, it's amazing. It's like, Oh my God, this is incredible. Anna (00:28:29): How long was you sort of said you started in on this about a year ago. You must have been, I guess you'd been like practicing on testnets, like trying this out constantly on test nets. But like how long has that? Has the software lived on a testnet as it is? Eduardo (00:28:44): Well, Dappnode as a software it always has been in main net from the very beginning. We also deployed the Aragon contract. It was crazy because Jordi was one of the auditors and we needed at that moment as we deployed. Anna (00:29:02): But I don't mean, I don't mean the overall Dappnode software, but I mean the specific, like the Eth2 validator software. Eduardo (00:29:07): Yeah. The Eth2 at the end, we follow the testnet that client teams deploy like Medallia or, well, we have plenty of, of testnets. And that is another challenge. The thing that is happening is since it's free to set up a node in this testnet, a lot of people will start to set up a 1000 nodes and then forget about the nodes, so the network, we need to restart the network again. And it was a little crazy. And that is why I understand that incentivize test network, like Kusama in the case of polkadot, makes a lot of sense, because this new proof of stake network, has another way to work. So if you want to have a valid network, I guess that these network needs to have some value and it makes sense, at least for me. Anna (00:29:55): Yeah. This is, I mean, we've talked about this a couple times, this idea of the incentivized Testnet and like, why, I guess more and more networks service considering doing something like this as they launch, but would you say like is Eth2 phase zero? Is it an incentivized Testnet because it's not really, right? Like you can do anything with it. Eduardo (00:30:17): Exactly. No, no. I'm talking that we need another test, another network, we need a parallel word with some value to make some tests and not going directly to main it, I guess. Uh, the thing is I have the feeling that these test network, that are using Guerli it's that since it's free, we are going to start and bootstrap several networks every time that we need a network. And it's crazy, for example, also, if you want to participate in this network, at some point, maybe you need to wait 10 days or something like that. That is also too much. Because in Ethereum2 you need, you have a queue of validators, so you need to have, um, a huddle limit operator per day. So you need to wait. So it's a lot of people hold into the test network, then you need to wait into the queue. Like it main net at the end. And when that happened to Medallia, a lot of people try to go into the test network and, you know, the queue was full and it was crazy. So that is why we have now Zinken, that is working quite well. But I don´t know if this one to be forever, let´s see, but since it's free, sometimes the people set up one on 100 nodes and forget about them. They don't sign the exit. Um, yeah, I don´t know. Anna (00:31:35): Is there any plans for any sort of incentivized Testnet or is that just sort of like a wish of yours right now into the, into the world? Eduardo (00:31:43): Yeah, to be honest, it's one of my wishes, I don't know if it's going to happen. Maybe we are going to try to do something similar and I don't know. Sure. Yet we are trying to figure it out, if it makes sense, but, uh, let's see, I guess it's needed, I don´t know if it´s responsibility of Dappnode or not or other brands, but I think it makes sense. Anna (00:32:01): It almost sounds like it could be, I mean, this is obviously very speculative, but maybe the EF should look at something like this because this seems like, it seems like it could be valuable. Even if it, I mean, say it even becomes like a shard. I don't know if that's possible, but like, you know, these first phases where you're kind of, it's kind of a, like right now when it's very limited functionality, maybe this would be something that they could think of as like rolling it into the eventual larger Eth2 anyways. Eduardo (00:32:29): Yeah. But I guess also in the future, maybe roll-ups that are going to interact with these Eth2 -and we expect to that happen - they to have these other tests networkto make things, because imagine that you have some that are testing one network, and they need to move to another test network, because the other one is not working. So it's going to be crazy, so I guess, to have a stable test network makes a lot of sense. And I don´t know if the only way to do this it's incentivization, but at the end... I think it makes sense that incentivising people people to run nodes. And I mean, you have to have the same duty that in the main net, why not. Anna (00:33:09): Hmm. I like that. So like to wrap up on the, on the launch and the rollout and all of this, like, what's your feeling right now about Eth2, like looking forward. Are you, are you optimistic? Do you feel like the community was very pleased? Cause I mean, at least on Twitter, everyone seemed pretty happy. Eduardo (00:33:27): Yeah. I mean, I seen, it's amazing that after use of work everything's happened, but everything goes good. It goes in the right way. I mean, nothing happened. I mean, we have the last people, but not more than that, than that, and that is normal. And, and is crazy that, that everything has started to happen right now. And I am very excited about the future and also these new roll-ups centric direction. That for me makes a lot of sense. It's incredible. I think that just the first piece of the puzzle and we have a lot of things to build on top of this yet. But you said what is the starting point?, Um, migrating from one network to another one, is not easy at all Anna (00:34:09): No, never. What do you, what does DAppnode do like if you think of the software or hardware, like, does it have, what, what do you need to build to make it resistant to slashing in a way? like, what's unique about these PoS staking systems? Like what, what do you have to develop to prevent that? Or how much of it do you actually, are you feeling like you're responsible for? Eduardo (00:34:33): Yeah, that's a separate question. Okay. Now at the end, uh, educate people is very important. I mean, even if we try to protect Dappnode, if people start to put in DAT keys another piece of software, they're going to be slashes for sure. So if we cannot prevent that, uh, for example, Prysm has a slashing protection inside the client so they know if you restart it or, but if you move to another Prysm client, in other node, you need to move to that protection to not be slashed. In the future, we expect to add the remote signer. Uh, that is something that is starting to be developed. Yes, these remote signer can sign in different hardware. So that means, for example, if you have yourDAppnode with the remote signer, you can sign in a seperate place, maybe another country or your friends hardware. So at the end you have the custody of the keys, but they computation is happening in other node. And that's, that's pretty interesting because if all the implementation other clients support that, for example, it can allow us to run in DAppnode, all the client at the same time. And you can easily switch from one client to the other one without slashing, because at the end, there are more client candidates who controls these, uh, this slash rotation. So you are safe. Anna (00:35:52): Interesting. Is there anything, is there any equivalent to that, like in existing PoS systems that you know of remote signers? I feel like I've heard of that somehow. Eduardo (00:36:01): Yeah. I mean, I think mainly the thing that is happening here, difference between other proof stake networks and Ethereum, the thing is, for example, if you go to polkadots, you can rotate your keys easily. But that is because you have a blockchain that has all different strategies, so you can publish and you can make this kind of thing, but since Ethereum is just that, you are not able to do that. That is why we need to use these techniques to, to, to make that. But. Anna (00:36:32): Do you think eventually Eth2 will have it though? Eduardo (00:36:35): I don't know. Maybe, I hope, I mean, at the end, for me, from the design point of view, you don't have any reason to slash people that yes are making silly things because I mean, they don't take care of all these things. They are not attacking the network, so we need to protect them from, from making that happen. So any kind of protection that we can add a chain to that, I think it makes sense. Anna (00:37:01): Is there anything else that you do though, to help protect the, those that have actually validated with you? Is there any sort of indicators for them if like the internet is down or they've been offline for a period of time? Like, I'm just trying to picture what this feels like for maybe a non-technical user trying to use DAppnode for the first time staking. Like what can they expect to see? Eduardo (00:37:22): Yeah. I mean, there are several tools to make that happen at the beginning when you're set up your node, you have the Prysm UI, which gives you some information about start using your node, that is quite interesting. We're also having a way to graph on, on premises. So you can, if you want to have more metrics, you can take a look to all the things that are happening in your node, that is really amazing, but maybe it's too much techie for some people or not, but you have it. And in this dashboard, you can configure, if you want, alerts, for example, if you miss attestation, you can get the notification in telegram or on other channels. And also there are tools where you can register your validator, and you can get a notification. One important thing is related to do that, a problem with the same system. If, for example, you lost the internet connection, you lost the metrics. That is why it's important to have these external things, taking info for your nodes, not just the monitorization inside DAppnode. Anna (00:38:24): I see. I see. So let's step into the future of the project and even of like, you know, these node operator, like what's what's what are you looking at? Kind of going forward? Eduardo (00:38:36): Yeah, the thing is we have recently announced, announced our future plans. And the thing that we are seeing is if you don't, Ethereum it's probably the most decentralized network at the beginning because a lot of individuals participate on the network, but we have the feeling that centralized staking providers are going to appear. And, and they are already appearing. Because Eth2 has some risk from the individual point of view, you are going to lock your Eth for two years, three years, maybe you need to maintain a node. And also that you are tied to these keys for two years, you cannot shut down your, well, you can sign an exit, but you are losing that rewards from validating. So, um, we believe that's a big parties like Coinbase and its happening, uh, are going to give you an easy way to stake. Eduardo (00:39:26): There, just click activate. You are staking - congratulations! And they are creating virtual pools. So at the end, they control the ETH and they can have these liquid ETH that is not real, and it's centralised. And we truly believe that this is going to happen. And we want to propose an alternative to that, within that, if we want to have a healthy decentralized network, we need to figure out how to propose an alternative to that. That is why we want to create a DAO. The idea behind the DAO is to create two pools of people, the people that want to stake and the people that want to validate. Um, right now there are several projects that are trying to solve this problem, and also, but they are always, uh, or that's my feeling, they are trying to focus from the point of view of the Staker. Eduardo (00:40:15): In our case, we want to focus from the point of view of the individual, of the hardware on the validators. Since we have been working on that direction since the two years, and the idea is to try and create a decentralized trustless pool of validator at the beginning, we are trying to figure out how can we do that. There are, uh, one project that is happening on Ethereum research that is the secret share validator that maybe can, can make sense, but we are also trying to figure out, are there alternatives using BLS particularly to be able to create these trustless pool of validator. So that means that's for me, the key point of all of these is if you have the hardware, you can start to validate and you can go outside the validation pool, if you want. And also you can, if you are running a validator yourself and you want to have more ETH and get more reward, you can do it. That, and that is the first step to create this trusteless pool of validators. And as a consequence of that, then is when we can tokenize these deposits. And then we have the liquidity, as a consequences of this. We start from the point of view of the validators. Yeah. Anna (00:41:21): So that's a question that I wanted to dig into is this idea of like the liquid assets of these stakes tokens. But I wondered before, before we do that, I want to sort of understand the pool idea a little bit more because you know, Eth2 validators, it's this way I've always understood. It's like 32 Eth only, right. Per validator. And so you can have lots of small validators validating with their 32 Eth, but when you think they're, it doesn't have at least so far the Eth2 spec that I've, that I've understood it doesn't yet have this concept of like delegation. Exactly. And that's what I understand the pools are supposed to sort of signify or do, but how does it work? How do you actually pool if you're only allowed to do 32 Eth, doesn't it mean you have to inevitably hold custody of these tokens and then submit them, or is there other ways to do it? Eduardo (00:42:11): Yeah, that's the same thing that we are trying to figure out. We are writing the whitepaper related to that. We have several ideas: the one that we are just trying to write down is to use distributed generation for the validator key and half a kind of concil that who creates this key and then a speed that for every individual, well, that's, it's part of the pool. So that means that this conceal can select one of the validators and can switch to another one, but they never have the custody of the key at any moment, either the validator neither the conceal, and that why is, non-custodial and decentralized. Anna (00:42:48): So say like, as an example here, like say somebody only had four Eth, but they want to participate. And like, so are you collecting up to 32 Eth from smaller eith holders and each one of them would have, would be part of the committee that holds the key? Eduardo (00:43:03): Not exactly the idea is we tokenized this deposit and then we pack it in 32 Eth. And then this council, will get, I mean, not this council, the DAO deposit on the deposit smart contract. And then the key is generated by this council of validators. So at the end of these, I mean, the DAO has the control. Anna (00:43:26): The council is the validators, not the token owners. Eduardo (00:43:28): Exactly. The council is like a protocol layer that allow us to not be custodial of the key, but also be in control of who is the validator that validate that is mainly. It's complex... Anna (00:43:43): I see... It's two things, right? So, I see, there's like a pool of like small token holders or big maybe, but like whatever, like various token holders. And then there's also a pool of validators and, and then there's a mechanism in between them to be able to like, match up the token holders, Eth package it into 32, Eth I guess, give them something back that like proves that they have access to it. And still, but still not like, just have it sit with one of the validators, but rather like, live like actually, no, I'd explain this part. So there's a committee of validators, but then is it that the committee decides which validator at any given time will validate or like take in that 32 Eth package? Is that kind of what their decision-making is? Eduardo (00:44:25): It's more or less at the end, at the moment that you deposit the Eth, you, that you don't have the control of it. I mean, you're the only thing that you need to, to be a validator is the validator, so many, the idea of these council and this validator, is to split this key in a way that it's not custodial and allow us to treat between one validator and the other one. That is from the point of view of the proof of the validator and from the point of view of the staker that can put the Eth and get the staked ETH. And finally, the DAO is who makes this connection between both pool - who create the balance between both actors Anna (00:45:00): And are you not worried? I mean, is like the centralizing figure here then could be like the DAO, is decentralized, but you're trying to avoid, I guess, having DAppnode be the centralizing body that's like doing any of the decision-making here. Eduardo (00:45:13): Exactly. We don't want to have that. And for me it makes sense that it is controlled by a DAO and to split the contract between the actors of the system So part of the token of the control is going to be to the stakers or the party's going to be for the validators, and also maybe we are going to leave some token for the client implementation. So we want incentivate client implementation and diversity. So at the end, it's about to align incentivisation and motivation between actors. Anna (00:45:43): When, when I think of validating an in any way though, I always think of like running software. So who's running it? Like, where is the active validation happening, like on whose computer basically is what I'm to understand. Eduardo (00:45:55): Mainly the thing that we want to achieve is, imagine a validator at at home and it gets an attestation. And the idea is I want to sign with my part of the key, and I'm going to send to this committee going to make a broadcast. And when I get the first "n of m" responses, I'm going to add them. And that is the signature of the blocks. So it's like I made some part of the work and these council helps me to verify all the, of the process. I mean, it's like I collect all the scenes that all of them and with my one, and then I make that happen. That is one of the challenges of this DAO. We have other two challenge to, to solve, to make that happen. One is, uh, the ETH1 withdrawal situation. Uh, there is a channel right now in Ethereum research and the thing is... Anna (00:46:44): Is Eth1 withdrawal? Eduardo (00:46:46): Exactly. The thing is now you can only use a BLS as a withdrawal key and the idea is to figure out if it's possible to add an Ethereum account as a withdrawal key, so that is the thing that unlock this now. Because it's all the Eth can go to a DAO then you can split these ether between the holders of the tokens that we give to them. And, uh, I imagine, well, we are yes, in conversations and we, we are trying to create a lobby around that. Um, we have similar ideas and we spread it even, it's hard to know because the future of how a withdrawal is going to happen is not clear yet. We might even like opt for a massive migration of rollup, but well, at the end, we are going to try to make a proposal and try to be the champions of that, or at least help to make that happen - tha is our role on that. And the other piece that is missing is the, um, the, how to connect Eth2 to Eth1 and how to get the balance of all the validator of the DAO into Eth1. So we can give the validators the performance and also penalties and all this stuff Anna (00:48:01): I see. That's actually, that's so interesting. Yeah. This connection point. And right now, I mean, Eth1 has a lot of tools and things, but Eth2 doesn't. So is it, is it on that side where you just like, there's nowhere to lock in on the Eth2 side yet? Eduardo (00:48:15): Yeah, here is when we expect, or we are trying to figure out, if we can use zero knowledge technology. So the thing that we need to know is the balance of all the, all of the stuff, and even if the balance of these validator actually. So we need to have a way to prove on chain, uh, the current balance of these validators. So mainly that idea that we have in mind maybe, or right now, or we need to refer to about that is to kind of optimistic for publishing the finalizing hash of the Ethereum2, and then create a zero knowledge proof with all the balance of these validators and submit this zero knowledge proof on chains. So this way is more, more efficient than using traditional recourse and allow us to prove all the things that we want. Anna (00:49:02): Cool. That's exciting. You're delving into the zero knowledge world, or, and maybe... Eduardo (00:49:09): I mean, it should be doable. Uh, we need to figure out about how many times the proof takes, but at least it seems that technology, that we have right now is allowing us to build this. But our current state is, we are wanting to write the kind of white paper and we are going to expose to the world and then see if people believe that we need to build this. I mean, we are, as I told you at the beginning, we don't have a big team. We are very now I think five people on this, the moment that we have more people involved in all of this, but we are trying to get people that want to be, uh, these and help us to build this, uh, vision. For example recently Afri joined the team. So it's, yeah, it's amazing where I'll be excited about, I think that's going to happen. Anna (00:49:58): Cool. And we, I mean, Afri was on the show, Afri was on like our fifth episode or something like that, we talked about like the history of like, how he had gotten into it. Um, that's so cool. We had mentioned, we had just mentioned this idea of this liquid token, but I want to kind of revisit it now that I understand a little bit more how basically pooling works, how the DAO interacts with this validator committee, but how, like, where does this liquid token potentially live? Is this liquid version of Eth2 stake? Is that something that you picture being part of this construction or is that like a secondary project Eduardo (00:50:38): And the system that we are envisioned right now, you're going to need to understand that we are going to have, uh, two tokens. One is this liquid ETH, so that means that when you deposit, you get this like wrapped ETH, it's like futures. Yeah, Anna (00:50:51): Yeah, yeah. Although I guess it's not wrapped ETH cause that exists like wrapped Eth2, or something... Eduardo (00:50:56): Maybe decentralized DEth or, we need to find a good thing or LiquidETH, but if you have that, you can easily put in uniswap. So you have this liquidity that you can buy tokens and you can trade easily. And one of the reasons that you have, if you try to make these liquideth in a centralized manner, is that the law can understand it as a security. But if you do it as a DAO, then it's not a security , it´s a utility. And that is a key point and you can try it in uniswap easily. And the other token that we are envisioned is the token of the DAO. And, uh, and the idea is that using for sure Aragon V2 for making this DAO happen. And we want to split this token between the actors. So for example, imagine that you make the deposit, if you a stake these LiquidETH in a smart contract, you get these, uh, DAO tokens, but because you are telling us that you want to be part of, of this DAO, you want to have, make a decision on things that are going to happen. Eduardo (00:51:59): And also we are trying to figure out on, we are, I mean, when I, I tried to explain incentivize this network for Ethereum2, I trying to figure out if this token of the DAO could be also a token for a beacon chain. So we have these beacon chain with an active token from the DAO, because at the end is like put all together. Anna (00:52:24): Hm. How would that work? The beacon chain would accept or like work with the token from the DAO. I always understood the beacon chain though, as being a singular token, sort of like in-between chain somehow of the shards, but maybe... Eduardo (00:52:44): Yeah. But imagine that, um, for example, like it's working right now with Goerli. You have this goerli eth and you deposit it on a smart contract and then you get a dETH on the beacon chain and the idea is the same, you stake or you deposit this DAO token into smart contract and you dETH in the beacon chain. Anna (00:53:03): Okay. Got it. Got it. Got it. So it's still, you're doing sort of this other once again, you're kind of wrapping it somehow or you're converting it somehow. So when, when we think about a lot of these like liquid assets, liquid stake to assets, like I've heard this actually described in different ways, but we'll call it that for now. Uh, one of the questions is, should this be created by some group outside of development group, or should it be already built into the protocol itself? Because if it's let out into the wild, then it can kind of go wild and could potentially hurt the security of the underlying system. I think we've mentioned this a couple of times on the podcast where it's like, if the liquid token is able to generate more interest than the reward that the POS system offers, then it potentially would encourage people to like take it out eventually, I guess, because the Eth in this case is locked. It's not a huge issue, but do you know if like Ethereum themselves, like the, the construction is taking into account these liquid things, or does it actually fall to other projects like yourself to come up with that? Like, do you know what the thinking is in the ecosystem around this? Eduardo (00:54:12): To be honest, I seen this happen, not really is that a lot of projects are trying to create these liquidETH. And for me that's makes a lot of sense to not fall in the same problems. I mean, we don't want to centralize all the staked ETH on them for sure. And that is one of the things that we spread the DAO contract, for example, how many ETH we are going to accept. For example. I think it makes more sense to have this actor around the world to... I mean, for me, diversity is key on all this and that is why I believe it makes it makes more sense that it's outside of the protocol and that happened like, is happening right now. But I think that it's important that the developers, the core developers help to build these scenes. So, I mean, at the end of these proposal of the DAO, a lot of pieces are not doable today. Um, but our intention is to try to make that happen. Anna (00:55:06): And with the support of the core team that are developing Eth2. So they might have to build certain things so that you can actually do this Eduardo (00:55:12): At the end. This is our ambition of decentralized Ethereum. And it's how we spect that is going to be built. But let's see... Anna (00:55:21): That´s awesome. This is super fascinating. I mean, it's making me really, I realize how much I need to do all sorts of, to recap of like where Eth2 is at, because I haven't, we haven't done an episode on it in a long time. We keep mentioning it. It keeps coming up. Some for some reason we haven't actually dug into it. So this is maybe a to-do for me. Uh, but this is super interesting just to think of like all these different projects creating this underlying infrastructure. And then you can kind of picture how some of the like bright minds that you already see in the Eth1 ecosystem who are building these like very novel, sophisticated tools or constructions, or swapping things and AMMs, and that whole world I'm just, it would be so curious to see what they do with this as it, as it develops. Eduardo (00:56:09): Yeah. I guess the future it's going to be amazing and I'll have about that. And also the relapse. I very excited about that. Then I still, I mean, you, if you try to figure out what excited you, you before it was completely different today. So this technology is moving so fast. That, I mean, it's very hard to know, but it's very exciting. Anna (00:56:33): I have a last question that I want to ask you, and that's about sort of ZK computation, you know, and you mentioned this sort of L2s or like the, the roll-up idea and some of them are using zero-knowledge proofs and some of them will need places to actually do the computation for those zero-knowledge proofs. Some of them are doing it on chain somehow, and it's not always the best idea, but what, like, have you thought of in the context of DAppnode, have you thought of including somehow ZKP computation or providing any infrastructure for that? I don't know if it's, if it's in your wheelhouse, but like yeah. What are your thinking? What's your thinking on that? Eduardo (00:57:09): Yeah. Well, you having always thinking about that because, we truly believe that zero knowledge technology is going to be the future or that is my feeling, my personal feeling. And, um, I think it's, I expect in the future that song FBA sort of some kind of sense can happen. And then it's, these things make sense to put in a hardware box, then we are going to do, for example, one of the the projects i am also involved in is iden3 and one of the idea that they have is to computate these claims in your own hardware. So that is why we expect in the future when projects need to make this computation in a private way, because right now the zero knowledge technology is mostly used most used for complex data, not for privacy... Anna (00:57:57): Right now. Yeah, it originally, it was very privacy focused, but there does seem to have been an evolution towards more like scaling or compression is also how I think about it. Eduardo (00:58:06): Yeah. Maybe in the next version of rollups but right now, is it more about compression than privacy and at the moment that you want to add privacy, maybe, maybe you need to do it in your house, in your home. And then it's when we expect to add that, do that, or also in trying to imagine a blockchain that want to use zero knowledge technology and then have these nodes around with these specific piece of hardware. But yeah, as the future, I expect using DAppnode as your zero knowledge addon. So it can compute anything that you need. And not just your mobile phone, I hope that maybe in the future mobile phones are capable, but I guess that when we start to have more complex proofs, then its not going to be possible to do in a mobile phone. So having these audience makes, maybe makes sense. Anna (00:58:54): Interesting. That's super cool. I'm curious to see how that goes going forward. And it's good to hear that you're working with the folks at Iden3, I guess, Jordi as well, who by the way, was on the show. And we'll, I'll add the link to his episode as well. So you can hear a little bit about, about what they're doing. This is very exciting. You might need to grow your team at some point. I don't know. Eduardo (00:59:15): Yeah, I hope so. I mean as we said previously. Surviving this round is very hard. So yeah, we need to get another way because we have a lot of ideas and it's hard to make that happen even a small team, but yeah, we, we ambition to make a big team. And at the end we are trying to create an ecosystem. We are trying to put together all the pieces to put IPFS, Swarm, blockchain, Etherem, and, um, zero knowledge proof. I mean, at the end, this is too much, but I think the future is going to be really amazing. Or I hope so. Anna (00:59:51): Well, Eduardo, thank you so much for coming on the show and sharing a little bit more about DAppnode with me. Um, I've learned a lot through this and I, and I can also tell, I still have to learn a lot. There's a lot of documentation that I should be reading. Do you have anywhere that you maybe want to send people who want to find out more? Eduardo (01:00:06): Yeah, well, we have our website at dappnode.io and we'll also discord channel. The good thing it's happening with the Ethereum2 its that our community helps us a lot and right now we have plenty of people willing to help other ones to run a node. So that is really amazing. And we are very are able to do that. So please join us and start to make these change. Anna (01:00:29): All right. So thank you again and to our listeners. Thanks for listening.