Creating distributed validators in the wild: Diva Labs with Miguel Prada
Ethereum Denver·Mon, Oct 9, 2023, 12:00 AM
DVT protocols are becoming a popular option to run validators securely and resiliently, especially in the context of Liquid Staking. However, with the benefits of DVT comes the challenge of determining who should be part of each distributed validator, how to manage malicious actors, and how to avoid damaging stakers. This talk explores how we address the creation of trustless distributed validators.
Transcript
the setup how it looks like how it works uh Diva like overall and then we will see the product itself first let's take a UI and then the operator part which is we will split it in two parts uh first the registration of the operator and second it will be um like having how how look how it is having a Distributive validator running what first the the problem we found is that for to have your own validator it is required 32 it that's a bit uh higher that many people can afford so another problem that we are trying to solve is that the complexity of running your infrastructure to do this taking uh to to run your own validator and this what what how we do it is through LSD and DVD with LSD we have different benefits like it's economically more um it's better and also we have resiliency because of DBT and um and yeah and is is uh more decentralized so um we made as you will see now you we we made the approach 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 of collateral is only one need so basically with only one eighth anyone will be able to be part of the validation in ethereum so how it works uh we have two main actors the stakers stakers are those that just stake it and receive the best in return they don't need to worry about running their own infrastructure they they just received a divot and this debate the synthetic that we are releasing is doing all the validation stuff automatically and The Operators The Operators they also put if but because we don't want to trust them we block this if and use this it as a bond so the diva remains safe economically so basically we have the Staker and operator when 16 and black 16 eat are deposit on the contract that is enough collateral for a new validator to be deposit in in the in the consensus layer in ethereum so through the smart contract an evaluator 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 or private key of the operator but this operator is somehow split in different features and some of each operator of the set of the distributed validator will keep this um private Keys sure the share of of the set so um in the in the prod 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 compose with images so basically they're here in the Mage you can see the different parts the different parts first evaluation that usually comes with the consensus client and then the execution clients so on top of these three parts is our client which is deba client debug line is set on top of them and is talking to diff through our own P2P Network it's talking to different others debug lines and then let's uh jump this is an introduction and let's jump into into the product itself first is the we will see the stacking the staking it is very very similar to any other stacking platform where the Staker just can go to his browser go and stake any Mount he he wants problem oh first we need to connect the wallet so here we select the the wall that 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 can you share internet we have a screenshot in case this doesn't work let's 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 eighth this is in guardly by the way uh let's just take one with apologies otherwise we will just okay we are having trouble with internet uh no worries we will skip this part basically is as any other staking platform uh so we will have a uh we already have it if you want to test uh it's a public website where you can just do what what I was trying to do just uh using the sticker it's an ultra transaction and you will get a debuff the LSD token in in return also a mistake 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 Workshop ready but because of we have we are having internet issues let's use the images so basically the float you can see it in the left side um here so welcome connect wallet check connectivity is very very straightforward it's Click by click let's let's go so you have connect wallet you just use your metamask to connect us in the sticker UI then then you will see how the ethereum clients that will be already automatically installed installed uh along with a diva client so you need the the clients and to be connected and synced at the at the very beginning you will find the clients in a status sinking and then it will be connected and just click the click register so a when we need when we sorry when we register a new node in the diva protocol we need to interact with the smart contract so in at this point we made a transaction that links this node this node with the a operator and we need this because all the um Network use this identity and just when we finish the operator registration and we can we we have enabled this dashboard that um 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 that are part of new validators of yes bye for for each if you deposit here here you can deposit it so basically for each Institute deposit you will be part of one of the private key shares so you will be part of one this different distributed validator each time you deposit one if this is how it works and what and this is a a real debug lion a node a validator that has a five divas escolateral and is working on five validators that they are working and right now this is a it's a screenshot but this is a for Grill um this is yeah it is working in Godly right now unfortunately we didn't we were not able to show because of internet but we just did a screenshot for you to see well this a we created this uh operator UI because we expect to onboard but many different operator based on their expertise so we want to onboard professional operators that will probably not use this user interface but we also want to onboard people which 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 um yes please uh join our Discord here you have the key QR code we are releasing a testing it very very soon so please join us and if you want if you want to 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 each node 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 up 32 different uh entities uh okay can you repeat the question you're asking how how we did it split the the private key yeah we are doing a dkg distributed 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 so then we use three shot so for example if we have 16 node uh determinant number need to sync the duty for the validator to meet a to do his work okay and I guess it's kind of like like how people can do a multi-sig with like a two out of three or something I guess you could do like a 24 out of 32 to sign something so now everyone needs to be online can you repeat please I I guess what is the threshold for um how many of those yeah the threshold because we are right now in tismet 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 worse so um you said that you haven't thought about 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 trade-offs can you do it a bit higher I I can't okay so you mentioned about the um 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 trade-off when when you have multiple nodes I have to do this multi-party computation so the there are two kind of performance the economic performance will remain the same as a normal validator actually we are more resilient because of characteristics of DVD so it's more resilient so if you have one of the nodes and your node fail for whatever reasons um still distributed by later will keep working so we'll keep doing his work so economically the performance it seems to be uh like the same yeah in terms of latency because we have this Epoch interval and an ethereum and so now when you have multiple nodes have to sign and they have to communicate between each other does that affect that uh I I think I um well when yeah so that's why we need the studies because we need to set up exactly the size of the node there's gonna be a really nice balance between um the size the threshold uh you cannot infinite infinitely scale the number of nodes because then you're going to increase the latency so if you have 1000 nodes and 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're going to give you exactly what is going to be that number because we are still in the process of studying but yeah you're completely right it affects the latency uh initial balance between resiliency and latency you're right but not only there's also an aspect of crypto Economic 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 needs to have enough security so we had a cop uh 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 Diva only on ethereum as a whole so those are all like really important red lines that we've drawn on the protocol um um so let's say that you guys choose to do like a two-thirds Quorum uh for signing for assistations uh what prevents me from joining the network and then just free riding forever yeah so that's where the collateral is important um and in that case the economics play a really important role so tokenomics will help you not to be incentivized or watch that thing because it's gonna cost you money and basically the money that is going to be taking will be from your collateral a Staker will never lose uh um like the capital basically the thing is that you could still saying oh uh maybe I create this attack I um all the damage will be done by me and therefore all the colors 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 has Pablo also pointed uh in one of his stocks maybe you wanna attack the network by doing some kind of economic attacks more like trading whatever but that's that would be like the main disadvantage but you cannot really do a free running and say I forgot about the keys because you're gonna pay for it you're gonna like the talkers will be the ones taken from you and as taken will be fully protected from your calendar that's why collateral is important there is a really important correlation between collateral and security and trustless of the protocol and yeah my talk a few days ago we were deeper into this topic so if you wanna I don't know if it was recorded but if it was 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 the security trade-offs that we're doing between performance and economic leverage and attacks come today it will be from six to nine we'll have Burgers we'll have beers a beer to be or network so uh just ask me and I'll give you an invite any other question I I just think that that that will significantly affect the security assumptions for the crypto economics that's that that's like a red line that you need to look at it yeah that's that's just a comment anyone else thank you [Applause]
Automatic transcript — names and jargon may be misspelled.