Run your own ETH Distributed Validator with only 1 ETH by Franjo Espejo
Ethereum Denver·Mon, Oct 9, 2023, 12:00 AM
We will guide you on the easiest way to become an Ethereum Node Operator. Start collecting staking fees with little or no technical knowledge and only 1ETH using community DVT tools Franjo Espejo Tech Diva Group of devs with +30 years of combined experience: research, security, full-stack development, solidity, devops, validators https://twitter.com/divalabs
Transcript
What we are going to see is first a content what the problem diva solves the setup how it looks like how it works uh diva like overall and then we will see the product itself first the sticker UI um and then the operator part which is we will split it in two parts uh first the registration of the operator and second uh it will be um like having how how how look how it is having a distributed validator running. Well, first the the problem we found is that uh for to have your own validator it is required 32. That's a bit uh uh higher that uh many people can afford. So another problem that we are trying to solve is that the complexity of running your infrastructure to do the staking uh to to run your own validator and this what what how we do it is through uh LSD and DVT. Um with LSD we have uh different benefits like it's economically more um it's better and also we have resilency because of DBT and um and yeah and is it's uh more decentralized.
So um we made uh as you will see now you will we made uh the pro very very easy very straightforward and very visual for everyone to be able to do it and because we want to lower the entry barriers uh for for operators um the requirement of uh h of collateral is only one e. So basically with only one e anyone will be able to be part of the validation in eum. So how it works uh we have two main actors the stakers. Uh stakers are those that just stake e and receive dbth in return. They don't need to worry about running uh their own infrastructure.
they they just received the DBT and this DBTH the synthetic uh uh that we are um releasing is doing all the validation uh stuff uh automatically and the operators the operators they also put ETH uh but because we don't want to trust them we block this ETH and use this ETH as a bond so the diva uh remains safe economically. So basically we have the staker and the operator when 16 and black 16 it are uh deposit on the contract that is enough collateral for a new validator to be uh deposit in in the in the consensus layer in ethum. So through the a smart contract a new validator will be created but this validator um the the private key of this validator is not in a single node in a single operator. Nobody has this private opera or private key of the operator. But this operator is somehow split in different key shares and some of each operator of the set of the distributed validator will keep this um private keys uh uh share this share of of of the set.
So um in the in the pro where what we will do for companions and we will do the very same thing for the test net for everyone to be able to do it. We are having a docker a docker compos with the mages. So basically there here in the mage you can see the different parts the different parts first the validation that usually comes with the consensus client and then the execution clients. So on top of these three parts is our client which is diva client. Diva client is sit on top of them and is talking to diff through our own P2P network is talking to different others uh debug lines and then let's uh jump this is an introduction and let's jump intro into the product itself.
First is the we will see the stacking the staking. It is very very similar to any other staking platform where the staker just can go to his browser go and stake any amount he he wants. Oh, first we need to connect the wallet. So here we select the the wallet we want to connect. And as you can see, it's just one click is very, very easy.
And oh, what's happening here? Oh, we don't have internet. Let's see. Are you sure? We have uh a screenshot in case this doesn't work.
Let's uh we are trying for a minute. So, okay. Um here is the sticker UI. Now let's try to transact. So so I put for example one if this is in gly by the way.
Uh let's take one with Uh apologies. Uh otherwise we will just okay we are having trouble with internet. Uh no worries we will skip this part. Um basically is as any other sticking platform. Uh so we will have a uh we already have it if you want to test uh it's a public uh website where you can just do what what I was trying to do just uh using the staker it's send out a transaction and you will get the DBT the LSD token in in return also uh an ST is also available already so you can try out.
So this is the sticker part. Uh now let's see the operator part. So in the operator part we had the the the the workshop ready but because of we have we are having internet uh issues let's use the images. So basically the flow you can see it in the left side um here. So welcome connect wallet check connectivity.
It's very very straightforward. It's click by click. Let's let's go. So you have connect wallet. You just use your metam mask to connect as in the sticker UI.
Then then you will see how the ethereum clients that will be already automatically installed installed uh along with the diva client. So you need the the clients um to be connected and synced. At the at the very beginning you will find the clients uh in a status syncing and then uh it will be uh connected and just click um click register. So when we need when we sorry when we uh register a new node in the diva protocol we need to interact with the smart contract. So in H at this point H we made a transaction that links this node oper this node with the H operator and we need this because all the peer-to-peer network use this identity and yes when we finish the H oper operator registration.
We can we we have enabled this dashboard that show us the information about our signers. If we well in the real user interface we could add collateral and get a new key shares new signers uh that are parts of new validators of validators. Yes. By for for each you deposit here here you can deposit ETH. So basically for each ETHQ deposit you will be part of one of the private key shares.
So you will be part of one dist different distributed validator each time you deposit one. This is how it works. And and this is a a real debug client, a node, a validator that has a fiveh div as collateral and is working on five validators that they are working and right now. This is a it's a screenshot but this for real. This is yeah it is working in goly right now.
Unfortunately we didn't we were not able to show because of internet but um yeah we just uh did a screenshot for you to see. Well this We created this operator UI because we expect to on board many uh different operators based on their expertise. Uh so we want to on board professional operators that will probably not use this user interface but uh we also want to on board people uh with is but with not the technical expertise to to run the their own validators. So this is the uh what we consider a helpful tool to to join this this task and and yes please uh join our discord here you have the key QR code uh we are releasing a test net very very very soon so please uh join us and if you want uh if you want ask any question it's time [Applause] So I have kind of a technical question about the staking I guess like so when you have one Ethereum and that's distributed among a 32 ETH node um how does the secret um work is that like Shamir's secret sharing or how do you um how do you maintain like a validator among among up 32 different uh entities. U can you repeat the question?
You're asking how how how we did split the the private key. Yeah. essentially how does we are doing a DKG distributed K generation and that's how we do it then for each duty because each node will not have the private key but but one of these key shares that were released after the DKG uh so then we use uh threshold so uh for example if we have 16 node uh the terminate number need to sync the duty for the validator to meet to do his work. Yeah. Okay.
And I guess it's kind of like like how people can do a multi-IG with like a two out of three or something. I guess you could do like a 24 out of 32 to sign something. So not everyone needs to be online. Can you repeat please? Uh I I guess what is the threshold for um how many of those?
Yeah, the the threshold because we are right now in test net. we are in doing different options. So we cannot say a number right now. We we are doing um different kind of studies to to try to understand what behaves the the best but we are we are we have different alternatives already and we'll release very very soon. Thank you.
No worries. So um uh you said that uh you haven't thought about the the having the number the threshold what is the exact number but don't you think that will also affect the overall security assumptions of the protocol and what will be the tradeoffs can can to do it a bit higher. I I can Okay. So, you mentioned about the um uh that you're working on finding the best number for the threshold of signatures. So, don't you think that will affect the overall security assumption of the consensus and what will be the performance uh tradeoff when when you have multiple nodes have to do this multi-party computation.
So the there are two kind of performance. The economic performance will remain the same as um normal validator actually we are more resilient because of uh catastric of DVT. So it's a more resilient. So if you have one of the nodes and your node fail for whatever reasons um still the distributed bilator will keep working. So we'll keep doing his work.
Uh so economically the performance uh it seems to be uh like the same. Yeah. In terms of latency because we have this epoch um interval and and and Ethereum and so now when you have multiple nodes have to sign and they have to communicate between each other. Um does that affect that? Um I I I think I um what when Yeah.
So that's why we need the uh studies because we need to set up exactly the size of the node. There's going to be a really nice balance between um the size, the threshold. Uh you cannot infin infinitively scale the number of nodes because then you're going to increase the latency. So if you have 1,000 nodes then you have many communication complexity. So you have to set up exactly the right node to have the resiliency plus the latency constraints that you need for Ethereum.
So yeah that's why Franco mentioned before that we're doing these studies to get exactly the right number. Uh and we cannot give you exactly what what is going to be that number because we are still in the process of studying but yeah you're completely right. It it affects latency uh and it's a balance between resiliency and latency. You're right. Yeah.
But not only there's also an aspect of cryptoeconomic security. So when you're lowering a threshold, you're basically allowing people to do a levered attack. So in the end, we are trying to find an equilibrium between optimizing for uptime, but not too much latency, but also it needs to have enough security. So we had a call a talk a couple days ago talking about this. I don't know if it's recorded, but we went in detail into what it means to have a griefing attack, what it means to have a levered attack on D.
VA only, on Ethereum as a whole. So those are all like really important red lines that we drawn on the protocol. And um so let's say that you guys choose to do like a 23 quorum uh for signing for assessations. Uh what prevents me from joining the network and then just free riding forever. Yeah.
So that's why the collateral is important. Um and in that case the economics play a really important role. So the tokconomics will help you not to be incentivized towards that thing because it's going to cost you money and basically the money that is going to be taking will be from your collateral and ster will never lose uh um like the capital basically. The thing is that you could still think oh uh maybe I I uh create this attack I um all the damage will be done by me and therefore all the color will be taken from me but uh you really don't have much incentive other than maybe creating some kind of sorting or something on the network and as Pablo also pointed uh in one of his talk that maybe you want to attack the network by doing some kind of economic attacks more like trading whatever but that's that will be like the main uh disadvantage but you cannot really do a free running and say I forgot about the keys because you're going to pay for it you're going to like the tokus will be the ones taken from you and a staker will be fully protected from your collateral that's why collateral is important there is a really important um correlation between collateral and security and trustless of the protocol and yeah my talk a few days ago we uh deeper into this this topic. So if you want to I don't know if it was recorded but if it was I I recommend you to take a look actually maybe for anybody interested we're having a dinner tonight and we're going to talk again about the economic aspects.
So if you missed the previous talk and you want to learn more about where are the red lines and where are the security tradeoffs that we're doing between performance and economic leverage and attacks come today. It will be from 6:00 to 9. We'll have burgers. We'll have beers a beertobeer network. So uh just ask me and I will give you an invite.
Any other question? But it's uh I I just think that that that will significantly affect the security assumptions for the cryptoconomics. That's that will that's like a red line that you need to look at. Yeah, that's that's just a comment. Anyone else?
Thank you. [Applause]
Automatic transcript — names and jargon may be misspelled.